Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions apps/web/src/app/pricing/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,10 @@ export default async function PricingPage() {
rows: [
{ label: c.rows.builder, vals: [true, true, true] },
{ label: c.rows.logic, vals: [true, true, true] },
{ label: c.rows.quiz, vals: [true, true, true] },
{ label: c.rows.forms, vals: ["3", c.unlimited, c.unlimited] },
{ label: c.rows.submissions, vals: [nf.format(100), nf.format(5000), c.unlimited] },
{ label: c.rows.abtest, vals: [false, true, true] },
{ label: c.rows.realtime, vals: [true, true, true] },
],
},
Expand All @@ -43,6 +45,7 @@ export default async function PricingPage() {
rows: [
{ label: c.rows.colorLogo, vals: [true, true, true] },
{ label: c.rows.domain, vals: [false, true, true] },
{ label: c.rows.domainAuth, vals: [false, true, true] },
{ label: c.rows.css, vals: [false, true, true] },
{ label: c.rows.badge, vals: [c.shown, c.removed, c.removed] },
],
Expand All @@ -53,6 +56,7 @@ export default async function PricingPage() {
{ label: c.rows.statuses, vals: [true, true, true] },
{ label: c.rows.webhooks, vals: [false, true, true] },
{ label: c.rows.automations, vals: [false, true, true] },
{ label: c.rows.integrations, vals: [false, false, true] },
{ label: c.rows.exports, vals: [c.rows.exportsFree, c.rows.exportsPaid, c.rows.exportsEnt] },
],
},
Expand Down
45 changes: 39 additions & 6 deletions apps/web/src/i18n/dictionaries.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,19 @@ const en = {
items: [
"Form builder, 20+ field types",
"Conditional logic & multi-step pages",
"Quiz scoring & calculated fields",
"Live status loop on a private link",
"Discord bot: post forms, status DMs, accept/reject",
"Auto-grant a Discord role on acceptance",
"Custom statuses, Kanban board & bulk actions",
"Branding: accent colour, logo, custom CSS",
"Your own domain (CNAME)",
"Your own domain, login & captcha",
"Webhooks & when-then automations",
"A/B test your form copy",
"Zapier & Make integrations",
"Exports: CSV, XLSX, JSON, PDF + REST API",
"Team roles & per-form reviewers",
"GDPR self-service: export & delete",
"Realtime updates · DE / EN / HU",
],
},
Expand Down Expand Up @@ -77,6 +81,7 @@ const en = {
"Up to 3 forms",
"100 submissions / month",
"Core field types",
"Quiz scoring & calculated fields",
"Discord bot & live status loop",
"Accent colour & logo",
"Community support",
Expand All @@ -90,8 +95,9 @@ const en = {
"Unlimited forms",
"5,000 submissions / month",
"All field types & logic",
"Custom domain",
"Custom domain, login & captcha",
"Webhooks & automations",
"A/B testing",
"Full branding + custom CSS",
"Priority support",
],
Expand All @@ -104,6 +110,7 @@ const en = {
"Everything in Pro",
"Unlimited submissions & members",
"REST API access",
"Zapier & Make integrations",
"Dedicated support + SLA",
],
},
Expand All @@ -122,18 +129,22 @@ const en = {
rows: {
builder: "Form builder & all field types",
logic: "Conditional logic & multi-step",
quiz: "Quiz scoring & calculated fields",
forms: "Forms",
submissions: "Submissions / month",
abtest: "A/B testing",
realtime: "Live status loop + realtime updates",
bot: "Discord bot & status DMs",
acceptRole: "Auto-grant role on accept",
colorLogo: "Accent colour & logo",
domain: "Custom domain",
domainAuth: "Login & captcha on your domain",
css: "Custom CSS",
badge: "“Powered by” badge",
statuses: "Custom statuses, board & bulk actions",
webhooks: "Webhooks",
automations: "Automations (when-then)",
integrations: "Zapier & Make integrations",
exports: "Exports",
exportsFree: "CSV",
exportsPaid: "CSV · XLSX · JSON · PDF",
Expand Down Expand Up @@ -494,15 +505,19 @@ const de: Dictionary = {
items: [
"Formular-Builder, 20+ Feldtypen",
"Conditional Logic & Multi-Step-Seiten",
"Quiz-Scoring & berechnete Felder",
"Live-Status-Loop über privaten Link",
"Discord-Bot: Formulare posten, Status-DMs, Accept/Reject",
"Discord-Rolle bei Annahme automatisch vergeben",
"Eigene Status, Kanban-Board & Massenaktionen",
"Branding: Akzentfarbe, Logo, eigenes CSS",
"Eigene Domain (CNAME)",
"Eigene Domain, Login & Captcha",
"Webhooks & Wenn-Dann-Automatisierungen",
"A/B-Tests für deine Formular-Texte",
"Zapier- & Make-Integrationen",
"Exporte: CSV, XLSX, JSON, PDF + REST-API",
"Team-Rollen & Per-Formular-Reviewer",
"DSGVO-Self-Service: Export & Löschung",
"Echtzeit-Updates · DE / EN / HU",
],
},
Expand Down Expand Up @@ -537,6 +552,7 @@ const de: Dictionary = {
"Bis zu 3 Formulare",
"100 Einreichungen / Monat",
"Basis-Feldtypen",
"Quiz-Scoring & berechnete Felder",
"Discord-Bot & Live-Status-Loop",
"Akzentfarbe & Logo",
"Community-Support",
Expand All @@ -550,8 +566,9 @@ const de: Dictionary = {
"Unbegrenzte Formulare",
"5.000 Einreichungen / Monat",
"Alle Feldtypen & Logik",
"Eigene Domain",
"Eigene Domain, Login & Captcha",
"Webhooks & Automatisierungen",
"A/B-Tests",
"Volles Branding + eigenes CSS",
"Priorisierter Support",
],
Expand All @@ -564,6 +581,7 @@ const de: Dictionary = {
"Alles aus Pro",
"Unbegrenzte Einreichungen & Mitglieder",
"REST-API-Zugriff",
"Zapier- & Make-Integrationen",
"Dedizierter Support + SLA",
],
},
Expand All @@ -582,18 +600,22 @@ const de: Dictionary = {
rows: {
builder: "Formular-Builder & alle Feldtypen",
logic: "Conditional Logic & Multi-Step",
quiz: "Quiz-Scoring & berechnete Felder",
forms: "Formulare",
submissions: "Einreichungen / Monat",
abtest: "A/B-Tests",
realtime: "Live-Status-Loop + Echtzeit-Updates",
bot: "Discord-Bot & Status-DMs",
acceptRole: "Rolle bei Annahme automatisch vergeben",
colorLogo: "Akzentfarbe & Logo",
domain: "Eigene Domain",
domainAuth: "Login & Captcha auf eigener Domain",
css: "Eigenes CSS",
badge: "„Powered by\"-Badge",
statuses: "Eigene Status, Board & Massenaktionen",
webhooks: "Webhooks",
automations: "Automatisierungen (Wenn-Dann)",
integrations: "Zapier- & Make-Integrationen",
exports: "Exporte",
exportsFree: "CSV",
exportsPaid: "CSV · XLSX · JSON · PDF",
Expand Down Expand Up @@ -950,15 +972,19 @@ const hu: Dictionary = {
items: [
"Űrlapszerkesztő, 20+ mezőtípus",
"Feltételes logika és többlépcsős oldalak",
"Kvíz-pontozás és számított mezők",
"Élő állapot-hurok privát linken",
"Discord bot: űrlapok közzététele, állapot-DM-ek, elfogadás/elutasítás",
"Discord szerepkör automatikus adása elfogadáskor",
"Egyéni állapotok, Kanban-tábla és tömeges műveletek",
"Arculat: kiemelőszín, logó, egyéni CSS",
"Saját domain (CNAME)",
"Saját domain, bejelentkezés és captcha",
"Webhookok és ha-akkor automatizálások",
"A/B-teszt az űrlapszövegekhez",
"Zapier- és Make-integrációk",
"Exportok: CSV, XLSX, JSON, PDF + REST API",
"Csapatszerepek és űrlaponkénti bírálók",
"GDPR önkiszolgálás: export és törlés",
"Valós idejű frissítések · DE / EN / HU",
],
},
Expand Down Expand Up @@ -993,6 +1019,7 @@ const hu: Dictionary = {
"Legfeljebb 3 űrlap",
"100 beküldés / hó",
"Alap mezőtípusok",
"Kvíz-pontozás és számított mezők",
"Discord bot és élő állapot-hurok",
"Kiemelőszín és logó",
"Közösségi támogatás",
Expand All @@ -1006,8 +1033,9 @@ const hu: Dictionary = {
"Korlátlan űrlap",
"5.000 beküldés / hó",
"Minden mezőtípus és logika",
"Egyéni domain",
"Egyéni domain, bejelentkezés és captcha",
"Webhookok és automatizálások",
"A/B-tesztek",
"Teljes arculat + egyéni CSS",
"Elsőbbségi támogatás",
],
Expand All @@ -1020,6 +1048,7 @@ const hu: Dictionary = {
"Minden a Pro csomagból",
"Korlátlan beküldés és tag",
"REST API hozzáférés",
"Zapier- és Make-integrációk",
"Dedikált támogatás + SLA",
],
},
Expand All @@ -1038,18 +1067,22 @@ const hu: Dictionary = {
rows: {
builder: "Űrlapszerkesztő és minden mezőtípus",
logic: "Feltételes logika és többlépcsős űrlap",
quiz: "Kvíz-pontozás és számított mezők",
forms: "Űrlapok",
submissions: "Beküldés / hó",
abtest: "A/B-tesztek",
realtime: "Élő állapot-hurok + valós idejű frissítések",
bot: "Discord bot és állapot-DM-ek",
acceptRole: "Szerepkör automatikus adása elfogadáskor",
colorLogo: "Kiemelőszín és logó",
domain: "Egyéni domain",
domainAuth: "Bejelentkezés és captcha a saját domainen",
css: "Egyéni CSS",
badge: "„Powered by\" jelvény",
statuses: "Egyéni állapotok, tábla és tömeges műveletek",
webhooks: "Webhookok",
automations: "Automatizálások (ha-akkor)",
integrations: "Zapier- és Make-integrációk",
exports: "Exportok",
exportsFree: "CSV",
exportsPaid: "CSV · XLSX · JSON · PDF",
Expand Down