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.
This commit is contained in:
Martin Dvořák 2026-10-14 07:09:05 +00:00
commit 8651674cf5
8 changed files with 132 additions and 8 deletions

View file

@ -561,6 +561,11 @@ const en: Record<string, string> = {
"results.false": "False",
/* gate ------------------------------------------------------------ */
"gate.free": "Free",
"gate.ollamaLabel": "Ollama",
"gate.or": "or",
"gate.paidOption": "Use a paid provider instead",
"gate.paidNote": "OpenAI, Anthropic, Gemini, DeepSeek, Groq, OpenRouter… Billed by the provider directly — Freezmo never sees a card. Your keys stay in this browser, and picking one switches study generation to it.",
"gate.title": "Connect your Ollama key",
"gate.subtitle": "One step to freeze your first deck.",
"gate.apiKeyLabel": "Ollama API key",
@ -1542,6 +1547,11 @@ const cs: Record<string, string> = {
"results.false": "Nepravda",
/* gate ------------------------------------------------------------ */
"gate.free": "Zdarma",
"gate.ollamaLabel": "Ollama",
"gate.or": "nebo",
"gate.paidOption": "Použít placeného poskytovatele",
"gate.paidNote": "OpenAI, Anthropic, Gemini, DeepSeek, Groq, OpenRouter… Účtuje je přímo poskytovatel — Freezmo nikdy nevidí kartu. Klíče zůstávají v tomto prohlížeči a výběrem se na něj přesune generování studia.",
"gate.title": "Připoj svůj klíč Ollama",
"gate.subtitle": "Jeden krok k tvé první zmrazené sadě.",
"gate.apiKeyLabel": "API klíč Ollama",