Skip to content

Commit 303989c

Browse files
committed
Add pricing section, demo links, and refine layout
- Add pricing section with fair, usage-based pricing details - Replace "Request a demo" CTAs with direct demo exploration links - Extract `_hero`, `_features`, `_about`, `_contact`, `_organizations`, and `_pricing` partials from `_index.erb` - Bump header responsive breakpoint from `md` to `lg` to prevent menu overflow on tablet-sized screens
1 parent 304b78d commit 303989c

File tree

14 files changed

+255
-146
lines changed

14 files changed

+255
-146
lines changed

locales/de.yml

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
de:
22
skip_to_content: Zum Hauptinhalt springen
33
about:
4-
application: Source-Available-Webanwendung
4+
application: quelloffene Webanwendung
55
other_orgs: zahlreichen anderen Organisationen
6-
text: Ursprünglich entwickelt, um die Verwaltung von %{ragedevert} in Neuchâtel (CH) zu vereinfachen, entwickelt sich CSA Admin stetig weiter, um den vielfältigen Anforderungen von %{other_orgs} in der Schweiz und Deutschland gerecht zu werden. CSA Admin ist eine %{application}. Es soll einfach, effizient und intuitiv sein. Mit Leidenschaft entwickelt %{author} CSA Admin seit über 10 Jahren, um den Alltag in CSAs zu erleichtern.
6+
text: Ursprünglich entwickelt, um die Verwaltung von %{ragedevert} zu vereinfachen, entwickelt sich CSA Admin stetig weiter, um den vielfältigen Anforderungen von %{other_orgs} gerecht zu werden. CSA Admin ist eine %{application}. Es soll einfach, effizient und intuitiv sein. Mit Leidenschaft entwickelt %{author} CSA Admin seit über 10 Jahren, um den Alltag in CSAs zu erleichtern.
77
title: Über CSA Admin
8-
call_to_action: Demo anfordern
8+
call_to_action: Die Demo entdecken
99
contact:
10-
text: Möchten Sie mehr über CSA Admin erfahren? Haben Sie Fragen? Zögern Sie nicht, mich für weitere Informationen und/oder zur Vereinbarung einer Demo zu kontaktieren. Sie können mich per E-Mail unter %{mail} erreichen. Ich beantworte gerne alle Ihre Fragen.
11-
title: Interessiert? Fordern Sie eine Demo an!
10+
text: Sie können eine Demo-Installation selbst erkunden, um sich einen Eindruck zu verschaffen. Bei Fragen oder wenn Sie eine geführte Tour bevorzugen, schreiben Sie mir einfach an %{mail}.
11+
title: Interessiert? Entdecken Sie die Demo!
12+
demo_url: https://admin.solawi-admin.org/demo/new
1213
email: E-Mail
1314
features:
1415
activity:
@@ -32,8 +33,8 @@ de:
3233
opencode:
3334
description: Verfügbar in Französisch, Deutsch, Italienisch, Niederländisch und Englisch – CSA Admin ist zudem als %{opencode_link} unter der %{license_link} erhältlich. So können Sie aktiv mitgestalten.
3435
license: O'Saasy-Lizenz
35-
opencode: Open-Code-Anwendung
36-
title: Mehrsprachig und Open Code
36+
opencode: Quelloffene Anwendung
37+
title: Mehrsprachig und quelloffen
3738
renewal:
3839
description: Senden Sie mit einem Klick eine <strong>Verlängerungsanfrage</strong> an alle Abonnenten. Eine <strong>Bieterunde</strong> ermöglicht danach solidarische Preisgestaltung.
3940
title: Vereinfachte Verlängerung
@@ -50,6 +51,7 @@ de:
5051
about: Über
5152
demo: Demo
5253
features: Funktionen
54+
pricing: Preis
5355
logo_alt: "CSA Admin Logo"
5456
org_name: "Solawi"
5557
org_name_definition: "Solidarische Landwirtschaft"
@@ -58,8 +60,19 @@ de:
5860
subtitle: Ob Sie ein Verein, eine Genossenschaft, ein Unternehmen oder eine Einzelperson sind, CSA Admin passt sich Ihren Bedürfnissen an.
5961
title: Sie nutzen CSA Admin
6062
phone: Telefon
63+
pricing:
64+
title: Einfache, faire Preisgestaltung
65+
subtitle: des über CSA Admin fakturierten Betrags, einmal jährlich zu bezahlen.
66+
hosting: Vollständig verwaltetes Hosting, DSGVO/nDSG-konform
67+
security: Sicherheitsupdates, Backups und Wartung
68+
features_included: Alle Funktionen und kontinuierliche Verbesserung
69+
emails: E-Mail-Versand inklusive (Newsletter und Benachrichtigungen)
70+
support: Direkter und persönlicher E-Mail-Support
71+
opencode: Quellcode verfügbar, keine Abhängigkeit
72+
description: Die Kosten wachsen mit Ihnen. Kleine Solawis zahlen wenig, grosse sind bei 2'400 CHF/EUR/Jahr gedeckelt.
73+
description_bold: Kein Aufpreis, keine Einrichtungskosten, alles ist inklusive.
6174
site:
62-
description: Source-Available-Webanwendung für effiziente Solawi-Verwaltung (Solidarische Landwirtschaft). Vereinfachen Sie Ihre Abläufe – Demo jetzt anfordern!
75+
description: Quelloffene Webanwendung für effiziente Solawi-Verwaltung (Solidarische Landwirtschaft). Entdecken Sie die Demo!
6376
title: "CSA Admin - Effizientere Verwaltung Ihrer Solawi"
6477
path: /solawi/
6578
subtitle: Seit 2014 nutzen %{orgs_link} CSA Admin, um ihre täglichen Aufgaben zu erleichtern und die jährliche Verteilung von über <span class='font-semibold'>%{baskets_count} Anteilen</span> zu verwalten. Schließen Sie sich ihnen an!

locales/en.yml

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@ en:
33
about:
44
application: source-available web application
55
other_orgs: many other organizations
6-
text: Initially created to simplify the management of %{ragedevert} in Neuchâtel (CH), CSA Admin has continuously improved and expanded over the years to meet the diverse needs of %{other_orgs} in Switzerland and Germany. CSA Admin is an %{application}. It aims to be simple, efficient, and intuitive. It is developed with passion by %{author}, who has been dedicated for over 10 years to making CSA administration easier.
6+
text: Initially created to simplify the management of %{ragedevert}, CSA Admin has continuously improved and expanded over the years to meet the diverse needs of %{other_orgs}. CSA Admin is a %{application}. It aims to be simple, efficient, and intuitive. It is developed with passion by %{author}, who has been dedicated for over 10 years to making CSA administration easier.
77
title: About CSA Admin
8-
call_to_action: Request a demo
8+
call_to_action: Explore the demo
99
contact:
10-
text: Would you like to know more about CSA Admin? Do you have any questions? Feel free to contact me for more information and/or to schedule a demo. You can reach me by email at %{mail}. I'm happy to answer any questions.
11-
title: Interested? Request a demo!
10+
text: You can explore a demo setup on your own to get a feel for how it works. If you have questions or prefer a guided tour, just write me at %{mail}.
11+
title: Interested? Explore the demo!
12+
demo_url: https://admin.csa-admin.org/demo/new
1213
email: Email
1314
features:
1415
activity:
@@ -32,8 +33,8 @@ en:
3233
opencode:
3334
description: Fully translated into English, French, German, Italian, and Dutch, CSA Admin is also developed as %{opencode_link} under the %{license_link}, so you can participate and propose improvements.
3435
license: O'Saasy license
35-
opencode: open code
36-
title: Multilingual and Open Code
36+
opencode: source-available code
37+
title: Multilingual and Source Available
3738
renewal:
3839
description: Is it the end of the year? With one click, quickly send a renewal request to all your subscribers. A <strong>renewal form</strong> and optional <strong>bidding round</strong> are available on their member account.
3940
title: Simplified Renewal
@@ -50,6 +51,7 @@ en:
5051
about: About
5152
demo: Demo
5253
features: Features
54+
pricing: Pricing
5355
logo_alt: "CSA Admin Logo"
5456
org_name: "CSA"
5557
org_name_definition: "Community Supported Agriculture"
@@ -58,8 +60,19 @@ en:
5860
subtitle: CSA Admin works for associations, cooperatives, businesses, and individuals alike.
5961
title: They use CSA Admin
6062
phone: Phone
63+
pricing:
64+
title: Simple, fair pricing
65+
subtitle: of the amount invoiced through CSA Admin, billed once a year.
66+
hosting: Fully managed hosting, GDPR/nDSG compliant
67+
security: Security updates, backups, and maintenance
68+
features_included: All features and continuous improvement
69+
emails: Email sending included (newsletters and notifications)
70+
support: Direct and personalized email support
71+
opencode: Source code available, no lock-in
72+
description: The cost grows with your size. Small CSAs pay little, larger ones are capped at 2,400 CHF/EUR per year.
73+
description_bold: No add-on, no extra setup cost, everything is included.
6174
site:
62-
description: Source-available web app to efficiently manage your CSA (Community Supported Agriculture). Simplify your operations — request a free demo.
75+
description: Source-available web app to efficiently manage your CSA (Community Supported Agriculture). Explore the demo freely!
6376
title: "CSA Admin - Streamline your CSA management"
6477
path: /
6578
subtitle: "Since 2014, %{orgs_link} have been using CSA Admin to facilitate their daily tasks and manage the annual distribution of over <span class='font-semibold'>%{baskets_count} baskets</span>. Join them!"

locales/fr.yml

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
fr:
22
skip_to_content: Aller au contenu principal
33
about:
4-
application: application web source-available
4+
application: application web en code ouvert
55
other_orgs: de nombreuses autres organisations
6-
text: Initialement créée pour simplifier la gestion de %{ragedevert} à Neuchâtel (CH), CSA Admin n'a cessé de s'améliorer et de s'agrandir au fil des années pour répondre aux besoins divers et variés %{other_orgs} en Suisse et en Allemagne. CSA Admin est une %{application}. Elle se veut simple, efficace et intuitive. Elle est développée avec passion par %{author}, qui s'engage depuis plus de 10 ans à simplifier la vie des ACP pour les aider à prospérer.
6+
text: Initialement créée pour simplifier la gestion de %{ragedevert}, CSA Admin n'a cessé de s'améliorer et de s'agrandir au fil des années pour répondre aux besoins divers et variés %{other_orgs}. CSA Admin est une %{application}. Elle se veut simple, efficace et intuitive. Elle est développée avec passion par %{author}, qui s'engage depuis plus de 10 ans à simplifier la vie des ACP pour les aider à prospérer.
77
title: À propos de CSA Admin
8-
call_to_action: Demander une démo
8+
call_to_action: Explorer la démo
99
contact:
10-
text: Vous souhaitez en savoir plus sur CSA Admin? Vous avez des questions? N'hésitez pas à me contacter pour plus d'informations et/ou pour planifier une démo. Vous pouvez me joindre par e-mail à l'adresse %{mail}. Je me ferai un plaisir de répondre à toutes vos questions.
11-
title: Intéressé·e? Demandez une démo!
10+
text: Vous pouvez explorer une installation démo par vous-même pour vous faire une idée du fonctionnement. Si vous avez des questions ou préférez une visite guidée, écrivez-moi simplement à %{mail}.
11+
title: Intéressé·e? Explorez la démo!
12+
demo_url: https://admin.acp-admin.ch/demo/new
1213
email: E-mail
1314
features:
1415
activity:
@@ -32,8 +33,8 @@ fr:
3233
opencode:
3334
description: Entièrement traduite en français, allemand, italien, néerlandais et anglais, CSA Admin est aussi développée en %{opencode_link} sous la %{license_link}, vous pouvez donc participer et proposer des améliorations.
3435
license: licence O'Saasy
35-
opencode: open code
36-
title: Multilingue et open code
36+
opencode: code ouvert
37+
title: Multilingue et code ouvert
3738
renewal:
3839
description: C'est la fin de l'année? En un clic, envoyez rapidement une demande de renouvellement à tous vos abonné·e·s. Un formulaire de <strong>renouvellement/résiliation</strong> les attend sur leur compte de membre.
3940
title: Renouvellement simplifié
@@ -50,6 +51,7 @@ fr:
5051
about: À propos
5152
demo: Démo
5253
features: Fonctionnalités
54+
pricing: Prix
5355
logo_alt: Logo de CSA Admin
5456
org_name: ACP
5557
org_name_definition: Agriculture Contractuelle de Proximité
@@ -58,8 +60,19 @@ fr:
5860
subtitle: Que vous soyez une association, une coopérative, une entreprise ou un particulier, CSA Admin s'adapte à vos besoins.
5961
title: Ils·Elles utilisent CSA Admin
6062
phone: Téléphone
63+
pricing:
64+
title: Un prix simple et juste
65+
subtitle: du montant facturé par CSA Admin, à payer une fois par an.
66+
hosting: Hébergement entièrement géré, conforme RGPD/nLPD
67+
security: Mises à jour de sécurité, backup, et maintenance
68+
features_included: Toutes les fonctionnalités et amélioration continue
69+
emails: Envoi d'emails inclus (newsletters et notifications)
70+
support: Support direct et personnalisé par email
71+
opencode: Code source disponible, aucune dépendance
72+
description: Le coût grandit avec vous. Les petites ACP paient peu, les grandes sont plafonnées à 2'400 CHF/EUR par an.
73+
description_bold: Pas de supplément, pas de frais de mise en place, tout est inclus.
6174
site:
62-
description: Application web source-available pour gérer efficacement votre ACP (Agriculture Contractuelle de Proximité). Simplifiez vos opérations, demandez une démo!
75+
description: Application web en code ouvert pour gérer efficacement votre ACP (Agriculture Contractuelle de Proximité). Explorez la démo librement!
6376
title: CSA Admin - Simplifiez la gestion de votre ACP
6477
path: /acp/
6578
subtitle: Depuis 2014, %{orgs_link} utilisent CSA Admin pour faciliter leurs tâches quotidiennes et gérer la distribution annuelle de plus de <span class='font-semibold'>%{baskets_count} paniers</span>. Rejoignez-les !

source/_about.erb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<h2 id="about" class="section-anchor section-heading-sm">
2+
<%= t("about.title") %>
3+
</h2>
4+
<p class="section-body mt-4 text-justify">
5+
<%= I18n.t("about.text", \
6+
ragedevert: link_to('Rage de Vert', 'https://www.ragedevert.ch', class: 'whitespace-nowrap'), \
7+
other_orgs: link_to(t('about.other_orgs'), '#organizations'), \
8+
application: link_to(t('about.application'), data.site.repository), \
9+
author: link_to(data.site.author.name, data.site.author.website, class: 'whitespace-nowrap') \
10+
) %>
11+
</p>

source/_contact.erb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<div id="contact" class="section-anchor pb-10 highlight-on-target rounded-md">
2+
<h2 class="section-heading-sm">
3+
<%= t("contact.title") %>
4+
</h2>
5+
<p class="section-body mt-4 text-center">
6+
<%= I18n.t("contact.text", mail: link_to(data.site.contact.email, data.site.contact.email_link, class: 'whitespace-nowrap')) %>
7+
</p>
8+
<div class="mt-8 text-center">
9+
<%= link_to t('call_to_action'), t('demo_url'), class: 'btn-cta' %>
10+
</div>
11+
</div>

source/_feature.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<%= title %>
88
</h3>
99
</dt>
10-
<dd class="mt-2 text-center text font-light">
10+
<dd class="mt-2 text-center text-pretty font-light">
1111
<%= description %>
1212
</dd>
1313
</dl>

source/_features.erb

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<h2 id="features" class="section-anchor section-heading">
2+
<%= t("features.title") %>
3+
</h2>
4+
<p class="section-subtitle">
5+
<%= t("features.subtitle") %>
6+
</p>
7+
8+
<div class="mt-10 md:grid md:grid-cols-3 md:gap-6">
9+
<%= partial 'feature', locals: { \
10+
logo: 'user-group', \
11+
title: t('features.memberships.title'), \
12+
description: t('features.memberships.description') \
13+
} %>
14+
<%= partial 'feature', locals: { \
15+
logo: 'calendar-days', \
16+
title: t('features.deliveries.title'), \
17+
description: t('features.deliveries.description') \
18+
} %>
19+
<%= partial 'feature', locals: { \
20+
logo: 'banknotes', \
21+
title: t('features.billing.title'), \
22+
description: t('features.billing.description') \
23+
} %>
24+
<%= partial 'feature', locals: { \
25+
logo: 'arrow-path', \
26+
title: t('features.renewal.title'), \
27+
description: t('features.renewal.description') \
28+
} %>
29+
<%= partial 'feature', locals: { \
30+
logo: 'chat-bubble-left-right', \
31+
title: t('features.communication.title'), \
32+
description: t('features.communication.description') \
33+
} %>
34+
<%= partial 'feature', locals: { \
35+
logo: 'globe-europe-africa', \
36+
title: t('features.opencode.title'), \
37+
description: I18n.t('features.opencode.description',
38+
opencode_link: link_to(t('features.opencode.opencode'), data.site.repository), \
39+
license_link: link_to(t('features.opencode.license'), 'https://osaasy.dev') \
40+
) \
41+
} %>
42+
</div>
43+
44+
<h3 class="mt-16 section-heading">
45+
<%= t("features.title2") %>
46+
</h3>
47+
<p class="section-subtitle">
48+
<%= t("features.subtitle2") %>
49+
</p>
50+
51+
<div class="mt-10 md:grid md:grid-cols-3 md:gap-4 lg:gap-6">
52+
<%= partial 'feature', locals: { \
53+
logo: 'building-storefront', \
54+
title: t('features.shop.title'), \
55+
description: t('features.shop.description') \
56+
} %>
57+
<%= partial 'feature', locals: { \
58+
logo: 'shopping-bag', \
59+
title: t('features.basket_content.title'), \
60+
description: t('features.basket_content.description') \
61+
} %>
62+
<%= partial 'feature', locals: { \
63+
logo: 'wrench-screwdriver', \
64+
title: t('features.activity.title'), \
65+
description: t('features.activity.description') \
66+
} %>
67+
</div>

source/_header.erb

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
<header class="my-6 md:my-12 flex flex-wrap md:flex-nowrap justify-between">
2-
<div class="flex items-center grow w-full md:w-fit justify-center md:justify-start">
1+
<header class="my-6 md:my-12 flex flex-wrap lg:flex-nowrap justify-between">
2+
<div class="flex items-center grow w-full lg:w-fit justify-center lg:justify-start">
33
<%= inline_svg 'logo.svg', class: 'fill-current w-10 h-10 md:w-12 md:h-12', alt: t("logo_alt") %>
44
<nav class="text-logo-green ml-3 font-bold text-2xl tracking-tight flex items-center">
55
<span>
@@ -23,13 +23,14 @@
2323
</nav>
2424
</div>
2525

26-
<div class="flex items-center gap-4 w-full md:text-base md:w-fit mt-6 md:mt-0 justify-center md:justify-end">
26+
<div class="flex items-center gap-4 w-full lg:text-base lg:w-fit mt-6 lg:mt-0 justify-center lg:justify-end">
2727
<%= link_to t('header.features'), '#features', class: 'text-gray-800 text-lg font-medium' %>
28+
<%= link_to t('header.pricing'), '#pricing', class: 'text-gray-800 text-lg font-medium' %>
2829
<%= link_to t('header.demo'), '#contact', class: 'text-gray-800 text-lg font-medium' %>
2930
<%= link_to t('header.about'), '#about', class: 'text-gray-800 text-lg font-medium' %>
3031
</div>
3132

32-
<div class="flex items-center gap-4 w-full md:text-base md:w-fit mt-6 md:mt-0 md:ml-16 justify-center md:justify-end">
33-
<%= link_to (inline_svg('envelope.svg', class: 'w-6 h-6 md:order-2 mr-2 md:mr-0 md:ml-2 mt-0.5', alt: t('email')) + content_tag(:strong, data.site.contact.email, class: 'font-semibold md:order-1')).html_safe, data.site.contact.email_link, class: 'flex items-center no-underline text-gray-800', title: t('email') %>
33+
<div class="flex items-center gap-4 w-full lg:text-base lg:w-fit mt-6 lg:mt-0 lg:ml-16 justify-center lg:justify-end">
34+
<%= link_to (inline_svg('envelope.svg', class: 'w-6 h-6 lg:order-2 mr-2 lg:mr-0 lg:ml-2 mt-0.5', alt: t('email')) + content_tag(:strong, data.site.contact.email, class: 'font-semibold lg:order-1')).html_safe, data.site.contact.email_link, class: 'flex items-center no-underline text-gray-800', title: t('email') %>
3435
</div>
3536
</header>

source/_hero.erb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<h1 class="mt-24 md:mt-32 mx-2 md:mx-auto md:w-5/6 text-center tracking-tight text-4xl md:text-6xl font-extrabold">
2+
<%= I18n.t 'title', org_name: content_tag(:span, t("org_name"), class: "text-logo-green drop-shadow-sm", title: t("org_name_definition")) %>
3+
</h1>
4+
5+
<p class="mt-4 mx-auto md:w-4/6 text-center text-pretty md:leading-normal text-xl font-light">
6+
<%= I18n.t 'subtitle', orgs_link: link_to(t('subtitle_orgs_link'), '#organizations'), baskets_count: format_number(data.site.baskets_count) %>
7+
</p>
8+
9+
<div class="mt-12 md:mt-8 text-center">
10+
<%= link_to t('call_to_action'), t('demo_url'), class: 'btn-cta' %>
11+
</div>

0 commit comments

Comments
 (0)