Fix gate card visibility, add 5 missing tool SVGs, update pricing to EUR 4-tier

Gate cards: remove .lt-gate__card from paper-card override so dark navy
backgrounds restore; drop blue title colour override for gate cards.

SVGs: add translate (bilingual doc), citations (citation graph), korrespond
(formal letter), summarize (doc→extracted bullets), legal-analysis (issue
sections + dbn-legal-agent-v3 badge).

Pricing: 3 NOK tiers → 4 EUR tiers (Free €0 / Light €9 / Pro €29 / Pro+ €79);
Pro+ is new; "Plus" references updated to "Light" throughout.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-24 12:09:37 +02:00
parent 1bfafa9908
commit 96fbe4398a
3 changed files with 120 additions and 38 deletions
+94 -34
View File
@@ -20,84 +20,141 @@ function pt(string $key, string $lang): string {
return htmlspecialchars(dbnToolsT($key, $lang));
}
// New 3-tier NOK ladder. Plus carries a 14-day trial (card required, no charge for 14 days).
$tierNames = [
'free' => $uiLang === 'no' ? 'Gratis' : ($uiLang === 'uk' ? 'Безкоштовно' : ($uiLang === 'pl' ? 'Bezpłatnie' : 'Free')),
'plus' => 'Plus',
'pro' => $uiLang === 'no' ? 'Pro Familie' : ($uiLang === 'uk' ? 'Pro Сім\'я' : ($uiLang === 'pl' ? 'Pro Rodzina' : 'Pro Family')),
];
$creditsPerMonth = $uiLang === 'no' ? 'kreditter / mnd' : ($uiLang === 'uk' ? 'кредитів / міс' : ($uiLang === 'pl' ? 'kredytów / mies' : 'credits / mo'));
$perMonth = $uiLang === 'no' ? '/ måned' : ($uiLang === 'uk' ? '/ міс' : ($uiLang === 'pl' ? '/ mies' : '/ month'));
$capSuffix = $uiLang === 'no' ? '/ time' : ($uiLang === 'uk' ? '/ год' : ($uiLang === 'pl' ? '/ godz' : '/ hour'));
$freeName = $uiLang === 'no' ? 'Gratis' : ($uiLang === 'uk' ? 'Безкоштовно' : ($uiLang === 'pl' ? 'Bezpłatnie' : 'Free'));
$unlimited = $uiLang === 'no' ? 'Ubegrenset' : ($uiLang === 'uk' ? 'Необмежено' : ($uiLang === 'pl' ? 'Nieograniczone' : 'Unlimited'));
$noStorage = $uiLang === 'no' ? 'Ingen saksoppbevaring' : ($uiLang === 'uk' ? 'Без сховища справ' : ($uiLang === 'pl' ? 'Brak przechowywania spraw' : 'No case storage'));
$tiers = [
[
'sku' => 'free',
'name' => $tierNames['free'],
'price' => 'NOK 0',
'period' => $uiLang === 'no' ? 'alltid' : 'always',
'name' => $freeName,
'price' => '0',
'period' => $uiLang === 'no' ? 'alltid' : ($uiLang === 'uk' ? 'завжди' : ($uiLang === 'pl' ? 'zawsze' : 'always')),
'credits' => '30 ' . $creditsPerMonth,
'storage' => $uiLang === 'no' ? 'Ingen saksoppbevaring' : 'No case storage',
'seats' => $uiLang === 'no' ? '1 bruker' : '1 user',
'storage' => $noStorage,
'seats' => $uiLang === 'no' ? '1 bruker' : ($uiLang === 'uk' ? '1 користувач' : ($uiLang === 'pl' ? '1 użytkownik' : '1 user')),
'cap' => '10 ' . $capSuffix,
'features' => $uiLang === 'no' ? [
'Alle 11 verktøy på innlimt tekst',
'Alle 13 verktøy på innlimt tekst',
'Norsk juridisk korpus (~220K passasjer)',
'EU-vert (Tyskland / Finland / Norge)',
] : ($uiLang === 'uk' ? [
'Усі 13 інструментів на вставленому тексті',
'Норвезький правовий корпус (~220K уривків)',
'Розміщено в ЄС (Німеччина / Фінляндія / Норвегія)',
] : ($uiLang === 'pl' ? [
'Wszystkie 13 narzędzi na wklejonym tekście',
'Norweski korpus prawny (~220K fragmentów)',
'Hostowane w UE (Niemcy / Finlandia / Norwegia)',
] : [
'All 11 tools on pasted text',
'All 13 tools on pasted text',
'Norwegian legal corpus (~220K passages)',
'EU-hosted (Germany / Finland / Norway)',
],
])),
'cta' => $isAuthed ? null : dbnToolsT('pricing_cta_login', $uiLang),
'highlight' => false,
],
[
'sku' => 'plus',
'name' => $tierNames['plus'],
'price' => 'NOK 129',
'sku' => 'light',
'name' => 'Light',
'price' => '9',
'period' => $perMonth,
'credits' => '250 ' . $creditsPerMonth,
'credits' => '100 ' . $creditsPerMonth,
'storage' => '500 MB',
'seats' => $uiLang === 'no' ? '1 bruker' : '1 user',
'seats' => $uiLang === 'no' ? '1 bruker' : ($uiLang === 'uk' ? '1 користувач' : ($uiLang === 'pl' ? '1 użytkownik' : '1 user')),
'cap' => '20 ' . $capSuffix,
'features' => $uiLang === 'no' ? [
'Min Sak — last opp dokumenter med OCR',
'Bruk min sak som kontekst i alle verktøy',
'Lagrede analyser — alle resultater samlet',
'14 dagers gratis prøveperiode (kort kreves)',
] : ($uiLang === 'uk' ? [
'Моя справа — завантаження документів з OCR',
'Використання справи як контексту в усіх інструментах',
'Збережені аналізи — всі результати в одному місці',
'14-денна безкоштовна пробна версія (потрібна картка)',
] : ($uiLang === 'pl' ? [
'Moja sprawa — przesyłanie dokumentów z OCR',
'Używanie sprawy jako kontekstu w każdym narzędziu',
'Zapisane analizy — wszystkie wyniki w jednym miejscu',
'14-dniowy bezpłatny okres próbny (wymagana karta)',
] : [
'My Case — upload documents with OCR',
'Use my case as context in every tool',
'Saved analyses — every run kept and searchable',
'14-day free trial (card required)',
],
'highlight' => true,
'badge' => $uiLang === 'no' ? 'Mest populær' : 'Most popular',
])),
'highlight' => false,
'badge' => null,
],
[
'sku' => 'pro',
'name' => $tierNames['pro'],
'price' => 'NOK 299',
'name' => 'Pro',
'price' => '€29',
'period' => $perMonth,
'credits' => '1000 ' . $creditsPerMonth,
'credits' => '500 ' . $creditsPerMonth,
'storage' => '5 GB',
'seats' => $uiLang === 'no' ? '3 brukere · delt sak' : '3 users · shared case',
'seats' => $uiLang === 'no' ? '3 brukere · delt sak' : ($uiLang === 'uk' ? '3 користувачі · спільна справа' : ($uiLang === 'pl' ? '3 użytkowników · wspólna sprawa' : '3 users · shared case')),
'cap' => '40 ' . $capSuffix,
'features' => $uiLang === 'no' ? [
'Alt i Plus, med mer plass og raskere modeller',
'Alt i Light, med mer plass og raskere modeller',
'Familie-sete: 3 innlogginger på samme sak',
'Prioritert GPT-4o for kompleks analyse',
'Audit-logg for hvem som kjørte hva',
] : ($uiLang === 'uk' ? [
'Все з Light, більше місця та швидші моделі',
'Сімейні місця: 3 входи до однієї справи',
'Пріоритетний GPT-4o для складного аналізу',
'Журнал аудиту — хто що запускав',
] : ($uiLang === 'pl' ? [
'Wszystko z Light, więcej miejsca i szybsze modele',
'Miejsca rodzinne: 3 logowania do jednej sprawy',
'Priorytetowy GPT-4o do złożonych analiz',
'Dziennik audytu — kto co uruchamiał',
] : [
'Everything in Plus, with more space and faster models',
'Everything in Light, with more space and faster models',
'Family seats: 3 logins sharing one case',
'Priority GPT-4o for complex analysis',
'Audit log of who ran what',
],
])),
'highlight' => true,
'badge' => $uiLang === 'no' ? 'Mest populær' : ($uiLang === 'uk' ? 'Найпопулярніший' : ($uiLang === 'pl' ? 'Najpopularniejszy' : 'Most popular')),
],
[
'sku' => 'pro-plus',
'name' => 'Pro+',
'price' => '€79',
'period' => $perMonth,
'credits' => $unlimited,
'storage' => '25 GB',
'seats' => $uiLang === 'no' ? '10 brukere · delt sak' : ($uiLang === 'uk' ? '10 користувачів · спільна справа' : ($uiLang === 'pl' ? '10 użytkowników · wspólna sprawa' : '10 users · shared case')),
'cap' => '80 ' . $capSuffix,
'features' => $uiLang === 'no' ? [
'Alt i Pro, ubegrenset kreditter',
'25 GB delt sakslagring',
'Dedikert prosesserings-kø (ingen ventetid)',
'Personlig onboarding-samtale',
] : ($uiLang === 'uk' ? [
'Все з Pro, необмежені кредити',
'25 GB спільного сховища справ',
'Виділена черга обробки (без очікування)',
'Особистий вступний дзвінок',
] : ($uiLang === 'pl' ? [
'Wszystko z Pro, nieograniczone kredyty',
'25 GB wspólnego przechowywania spraw',
'Dedykowana kolejka przetwarzania (bez czekania)',
'Osobista rozmowa onboardingowa',
] : [
'Everything in Pro, unlimited credits',
'25 GB shared case storage',
'Dedicated processing queue (no waiting)',
'Personal onboarding call',
])),
'highlight' => false,
'badge' => $uiLang === 'no' ? 'For familier' : 'For families',
'badge' => $uiLang === 'no' ? 'For organisasjoner' : ($uiLang === 'uk' ? 'Для організацій' : ($uiLang === 'pl' ? 'Dla organizacji' : 'For organisations')),
],
];
@@ -197,9 +254,12 @@ $topups = [
<?php endif; ?>
<div style="background:linear-gradient(135deg,#fef3c7,#fcd34d);color:#78350f;padding:1rem 1.5rem;border-radius:10px;margin-bottom:2rem;text-align:center;font-weight:600;">
<?= $uiLang === 'no'
? '🎉 Prøv Plus gratis i 14 dager — kort kreves, kanseller når som helst, ingen belastning før dag 15.'
: '🎉 Try Plus free for 14 days — card required, cancel anytime, no charge until day 15.' ?>
<?= match($uiLang) {
'no' => '🎉 Prøv Light gratis i 14 dager — kort kreves, kanseller når som helst, ingen belastning før dag 15.',
'uk' => '🎉 Спробуйте Light безкоштовно 14 днів — потрібна картка, скасуйте будь-коли, списання лише з 15 дня.',
'pl' => '🎉 Wypróbuj Light za darmo przez 14 dni — wymagana karta, anuluj w dowolnym momencie, brak opłat przed 15 dniem.',
default => '🎉 Try Light free for 14 days — card required, cancel anytime, no charge until day 15.',
} ?>
</div>
<?php if ($isAuthed && !$surveyDone): ?>