From 96fbe4398a69fe84dc26b8f357162d39e3c60704 Mon Sep 17 00:00:00 2001 From: davegilligan Date: Sun, 24 May 2026 12:09:37 +0200 Subject: [PATCH] Fix gate card visibility, add 5 missing tool SVGs, update pricing to EUR 4-tier MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- assets/css/dbn-tools-redesign.css | 20 ++++- includes/tool-svgs.php | 10 +++ pricing.php | 128 ++++++++++++++++++++++-------- 3 files changed, 120 insertions(+), 38 deletions(-) diff --git a/assets/css/dbn-tools-redesign.css b/assets/css/dbn-tools-redesign.css index bf08097..e891ea4 100644 --- a/assets/css/dbn-tools-redesign.css +++ b/assets/css/dbn-tools-redesign.css @@ -285,7 +285,6 @@ select:focus-visible { .dash-main, .dashboard-tool-card, .lt-card, -.lt-gate__card, .lt-trust__item, .kdoc-card, .kdoc-step-card, @@ -298,6 +297,13 @@ select:focus-visible { box-shadow: var(--dbn-shadow-paper) !important; } +/* Gate cards keep their dark navy backgrounds from tools.css */ +.lt-gate__card { + border: none !important; + border-radius: 0 !important; + box-shadow: none !important; +} + .tool-panel { position: relative; overflow: hidden; @@ -672,22 +678,28 @@ body[data-active-tool='citations'] .results { } .lt-card:hover, -.dashboard-tool-card:hover, -.lt-gate__card:hover { +.dashboard-tool-card:hover { border-color: rgba(186, 12, 47, 0.26) !important; box-shadow: var(--dbn-shadow-paper-lg) !important; transform: translateY(-5px); } +.lt-gate__card:hover { + transform: translateY(-3px); +} + .lt-card__title, .dashboard-tool-card h2, -.lt-gate__card-title, .kdoc-section h2, .pricing-card h2 { color: var(--dbn-blue); font-family: var(--dbn-font-display); } +.lt-gate__card-title { + font-family: var(--dbn-font-display); +} + .dashboard-tool-card { position: relative; } diff --git a/includes/tool-svgs.php b/includes/tool-svgs.php index 54a5d02..7101f52 100644 --- a/includes/tool-svgs.php +++ b/includes/tool-svgs.php @@ -19,4 +19,14 @@ $toolSvgs = [ 'discrepancy' => '', 'corpus' => '', + + 'summarize' => '', + + 'legal-analysis' => '', + + 'korrespond' => '', + + 'citations' => '', + + 'translate' => '', ]; diff --git a/pricing.php b/pricing.php index fefdb1e..61a9c21 100644 --- a/pricing.php +++ b/pricing.php @@ -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 = [
- + '🎉 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.', + } ?>