lexivo/app/views/layouts/application.html.erb
Fibe Agent e9f5d8ece2
Some checks failed
CI / Lint & Test (push) Has been cancelled
Deploy Status Page / Build & Deploy (push) Has been cancelled
Lexivo: vocabulary learning app with SM-2 spaced repetition
- Word import (multi-format: word, word-def, word:def, word|def)
- Flashcard filter UI (swipe + keyboard arrows + Space to flip)
- SM-2 spaced repetition review queue
- Stimulus flashcard controller with 3D flip animation
2026-04-22 15:02:45 +00:00

58 lines
1.7 KiB
Plaintext

<!DOCTYPE html>
<html>
<head>
<title><%= content_for(:title) || "Lexivo" %></title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="Starter">
<meta name="mobile-web-app-capable" content="yes">
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= yield :head %>
<%# Enable PWA manifest for installable apps %>
<%= tag.link rel: "manifest", href: pwa_manifest_path(format: :json) %>
<link rel="icon" href="/icon.png" type="image/png">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/icon.png">
<meta name="theme-color" content="#0f0f14">
<script>
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('/service-worker.js');
});
}
</script>
<%# Includes all stylesheet files in app/assets/stylesheets %>
<%= stylesheet_link_tag :app, "data-turbo-track": "reload" %>
<%= javascript_importmap_tags %>
<% if Rails.env.test? %>
<style>
*, *::before, *::after {
transition: none !important;
animation: none !important;
scroll-behavior: auto !important;
}
</style>
<% end %>
</head>
<body>
<nav class="topnav">
<%= link_to "Lexivo", root_path, class: "nav-brand" %>
<div class="nav-links">
<%= link_to "Words", words_path, class: "nav-link" %>
<%= link_to "Filter", filter_path, class: "nav-link" %>
<%= link_to "Review", review_path, class: "nav-link" %>
</div>
</nav>
<main>
<%= yield %>
</main>
</body>
</html>