- 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
58 lines
1.7 KiB
Plaintext
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>
|