freezmo/components
Martin Dvorak 8651674cf5 First-run gate offers free Ollama vs paid providers; add Google Gemini
The gate (user-key installs) now headlines Ollama with a "Free" badge and
adds an "or - Use a paid provider instead" option that opens the same
provider rows as Settings, framed as billed by the provider directly.
Saving a provider key there lists its models and switches study
generation to it automatically, so the gate steps aside with no Ollama
key at all.

Gemini joins the registry via its OpenAI-compatible endpoint
(generativelanguage.googleapis.com/v1beta/openai); the privacy policy
names it (en+cs).

Providers suite grows to 20 checks: the gate scenario runs against a
second user-key-mode app instance (free badge, paid option, provider
rows, pass-through, generation switch). All other gates green:
contrast 0 findings, mobile 126/126, chat 102/102, wizard 95/95,
bubbles 34/34, regression 44/44, i18n 13/13, native 33/33.
Version 0.4.9, SW -> freezmo-v73.
2026-10-14 07:09:05 +00:00
..
activities Fix the clipped answer field + the doubled AI note; ordering only where it fits 2026-10-13 07:27:39 +00:00
chat Bring-your-own keys for cloud providers (OpenAI-compatible) 2026-10-14 06:29:39 +00:00
exam Report question: skip a broken card and tell the server 2026-10-12 07:12:55 +00:00
homework Design pass (all themes + chat UI), model picker, reduce-motion toggle 2026-10-14 05:06:02 +00:00
AiDisclaimer.tsx Design pass (all themes + chat UI), model picker, reduce-motion toggle 2026-10-14 05:06:02 +00:00
ApiKeyGate.tsx First-run gate offers free Ollama vs paid providers; add Google Gemini 2026-10-14 07:09:05 +00:00
AppHeader.tsx One-pill study chrome, toggling chat pickers, readable homework steps 2026-10-12 14:21:11 +00:00
CookieConsent.tsx Aero goes underwater with rising bubbles; floating cookie notice; Czech title 2026-10-13 05:46:53 +00:00
DataSection.tsx Accessibility pass, report control for homework exercises, clearer rail actions 2026-10-12 21:15:56 +00:00
DeckCard.tsx Design pass (all themes + chat UI), model picker, reduce-motion toggle 2026-10-14 05:06:02 +00:00
FolderBar.tsx Mobile UI pass: sheet swipe, ice-scene layering, contrast, touch targets 2026-10-08 17:37:51 +00:00
HomeworkCard.tsx Accessibility pass, report control for homework exercises, clearer rail actions 2026-10-12 21:15:56 +00:00
IceBackdrop.tsx More shinier bubbles; the chat's top edge fades instead of clipping 2026-10-13 13:19:12 +00:00
icons.tsx Design pass (all themes + chat UI), model picker, reduce-motion toggle 2026-10-14 05:06:02 +00:00
InstallSheet.tsx Frutiger Aero theme, pixel-measured contrast fixes, sheet surfaces 2026-10-12 22:10:16 +00:00
LearningSection.tsx Accessibility pass, report control for homework exercises, clearer rail actions 2026-10-12 21:15:56 +00:00
LegalPage.tsx Privacy policy, terms of service, cookie policy + a cookie notice 2026-10-12 21:26:55 +00:00
LibraryScreen.tsx Design pass (all themes + chat UI), model picker, reduce-motion toggle 2026-10-14 05:06:02 +00:00
LinkLoadingScreen.tsx Link loading overlay escapes the glass card (portal to body) 2026-10-12 19:04:38 +00:00
LoadingState.tsx One loading screen everywhere (the deck wizard's) 2026-10-12 18:43:53 +00:00
ModelErrorActions.tsx Phase 1: backup, encrypted sync and monthly-usage handling 2026-10-10 13:43:42 +00:00
MotionPreference.tsx Design pass (all themes + chat UI), model picker, reduce-motion toggle 2026-10-14 05:06:02 +00:00
OfflineBanner.tsx Native-feel pass: PWA integration, system back, offline, haptics, undo 2026-10-10 12:16:03 +00:00
ProvidersSection.tsx Bring-your-own keys for cloud providers (OpenAI-compatible) 2026-10-14 06:29:39 +00:00
ReportQuestionButton.tsx Accessibility pass, report control for homework exercises, clearer rail actions 2026-10-12 21:15:56 +00:00
ResultsScreen.tsx Chat mode, phase 1: grounded streaming chat over your notes 2026-10-11 18:32:11 +00:00
ReviewClient.tsx Accessibility pass, report control for homework exercises, clearer rail actions 2026-10-12 21:15:56 +00:00
RouteLoading.tsx One loading screen everywhere (the deck wizard's) 2026-10-12 18:43:53 +00:00
RouteTransition.tsx Animation pass: one shared motion language for phones 2026-10-10 11:01:29 +00:00
SegmentedPill.tsx Animation pass: one shared motion language for phones 2026-10-10 11:01:29 +00:00
ServiceWorkerRegistrar.tsx Infra: split dev and production (releases, services, deploy script) 2026-10-11 19:25:29 +00:00
SessionFeed.tsx Fix the clipped answer field + the doubled AI note; ordering only where it fits 2026-10-13 07:27:39 +00:00
SettingsDialog.tsx Bring-your-own keys for cloud providers (OpenAI-compatible) 2026-10-14 06:29:39 +00:00
ShareChooser.tsx Phase 1: backup, encrypted sync and monthly-usage handling 2026-10-10 13:43:42 +00:00
Sidebar.tsx Design pass (all themes + chat UI), model picker, reduce-motion toggle 2026-10-14 05:06:02 +00:00
StatsScreen.tsx Phase 2: learning engine — history, SRS review, mistakes, stats, exam, reminders 2026-10-10 14:15:21 +00:00
StudyFeed.tsx Fix the clipped answer field + the doubled AI note; ordering only where it fits 2026-10-13 07:27:39 +00:00
SyncSection.tsx Phase 1: backup, encrypted sync and monthly-usage handling 2026-10-10 13:43:42 +00:00
TabBar.tsx Chat layout: history in the main sidebar, consistent header, cleaner icon 2026-10-11 20:11:11 +00:00
ThemeSection.tsx New Aero background (Gemini-made), old credit removed 2026-10-13 08:10:05 +00:00
ThemeToggle.tsx New Aero background (Gemini-made), old credit removed 2026-10-13 08:10:05 +00:00
Toaster.tsx Native-feel pass: PWA integration, system back, offline, haptics, undo 2026-10-10 12:16:03 +00:00
ui.tsx Design pass (all themes + chat UI), model picker, reduce-motion toggle 2026-10-14 05:06:02 +00:00
UploadScreen.tsx Design pass (all themes + chat UI), model picker, reduce-motion toggle 2026-10-14 05:06:02 +00:00
WizardActionBar.tsx Wizard polish: step headlines, gated Next, real summary, portal action bar 2026-10-10 11:35:45 +00:00
WizardModeSwitch.tsx Lock the wizard mode switch while a run is generating 2026-10-10 17:47:05 +00:00