From 7ebf95bb16643b758a97decacabc22512fca9938 Mon Sep 17 00:00:00 2001
From: Levente Orban
Date: Tue, 11 Nov 2025 17:43:41 +0100
Subject: [PATCH] feat: add github to landing pagE
---
src/lib/components/FeatureCard.svelte | 19 ++++
src/lib/i18n/messages.json | 9 +-
src/routes/+page.svelte | 133 ++++++++++++++------------
3 files changed, 99 insertions(+), 62 deletions(-)
create mode 100644 src/lib/components/FeatureCard.svelte
diff --git a/src/lib/components/FeatureCard.svelte b/src/lib/components/FeatureCard.svelte
new file mode 100644
index 0000000..01fa722
--- /dev/null
+++ b/src/lib/components/FeatureCard.svelte
@@ -0,0 +1,19 @@
+
+
+
+
+ {emoji}
+
+
{t(titleKey)}
+
{t(descriptionKey)}
+
diff --git a/src/lib/i18n/messages.json b/src/lib/i18n/messages.json
index e38bfd7..a588199 100644
--- a/src/lib/i18n/messages.json
+++ b/src/lib/i18n/messages.json
@@ -107,7 +107,10 @@
"description": "Create and manage event RSVPs. No registration required, instant sharing.",
"mainTitle": "Cactoide(ea)",
"subtitle": "The Ultimate RSVP Platform",
- "tagline": "Create, share, and manage events with zero friction.",
+ "tagline": "A federated mobile-first event RSVP platform that lets you create events, share unique URLs, and collect RSVPs without any registration required. With built-in federation, discover and share events across a decentralized network of instances.",
+ "openSourceTitle": "Open Source & Self-Hostable",
+ "openSourceDescription": "Cactoide is open source and easily self-hostable. View the source code, contribute, or host your own instance.",
+ "viewOnGitHub": "View on GitHub",
"whyCactoideTitle": "Why Cactoide(ae)?π΅",
"whyCactoideDescription": "Like the cactus, great events bloom under any condition when managed with care. Cactoide(ae) helps you streamline RSVPs, simplify coordination, and keep every detail efficientβso your gatherings are resilient, vibrant, and unforgettable.",
"createEventNow": "Create Event Now",
@@ -127,6 +130,10 @@
"smartLimitsDescription": "Choose between unlimited RSVPs or set a limited capacity. Perfect for any event size.",
"effortlessSimplicityTitle": "Effortless Simplicity",
"effortlessSimplicityDescription": "Designed to be instantly clear and easy. No learning curve β just open, create, and go.",
+ "inviteLinksTitle": "Invite Links",
+ "inviteLinksDescription": "Create invite-only events with special links. Only people with the specific invite link can RSVP, giving you full control over who can attend.",
+ "federationTitle": "Federation",
+ "federationDescription": "Connect with other Cactoide instances to discover events across the network. Share your public events and create a decentralized event discovery network.",
"howItWorksTitle": "How It Works",
"step1Title": "Create Event",
"step1Description": "Fill out a simple form with event details. Choose between limited or unlimited capacity.",
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 69525f2..30e679f 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,6 +1,7 @@
@@ -22,6 +23,34 @@
{t('home.tagline')}
+
+
+
+ {t('home.openSourceDescription')}
+
+
{t('home.whyCactoideTitle')}*
{t('home.whyCactoideFeatureTitle')}
-
-
-
-
- π―
-
-
{t('home.instantEventCreationTitle')}
-
- {t('home.instantEventCreationDescription')}
-
-
+
+
-
-
-
- π
-
-
{t('home.oneClickSharingTitle')}
-
- {t('home.oneClickSharingDescription')}
-
-
+
-
-
-
- π
-
-
{t('home.allInOneClarityTitle')}
-
- {t('home.allInOneClarityDescription')}
-
-
+
-
-
-
- π€
-
-
{t('home.noHassleNoSignUpsTitle')}
-
- {t('home.noHassleNoSignUpsDescription')}
-
-
+
-
-
-
- π‘οΈ
-
-
{t('home.smartLimitsTitle')}
-
- {t('home.smartLimitsDescription')}
-
-
+
-
-
-
- β¨
-
-
{t('home.effortlessSimplicityTitle')}
-
- {t('home.effortlessSimplicityDescription')}
-
-
+
+
+
+
+