From df09b49c0c890f5a1c1a059bae0c7de8f47628d6 Mon Sep 17 00:00:00 2001 From: npeter83 Date: Thu, 2 Jul 2026 02:14:27 +0200 Subject: [PATCH] improvement(welcome): prominent open-source callout in the page body MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add an accent-tinted 'Free and open source' band between the app preview and the feature grid — a short line about reading the code / self-hosting / filing an issue, linking to the public repo. The compact footer link stays. Trilingual. --- frontend/src/components/Welcome.tsx | 24 +++++++++++++++++++++++ frontend/src/i18n/locales/de/welcome.json | 5 +++++ frontend/src/i18n/locales/en/welcome.json | 5 +++++ frontend/src/i18n/locales/hu/welcome.json | 5 +++++ 4 files changed, 39 insertions(+) diff --git a/frontend/src/components/Welcome.tsx b/frontend/src/components/Welcome.tsx index 1c16729..f21de8e 100644 --- a/frontend/src/components/Welcome.tsx +++ b/frontend/src/components/Welcome.tsx @@ -1,6 +1,7 @@ import { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { + ArrowRight, Code2, Expand, Filter, @@ -64,6 +65,29 @@ export default function Welcome() { onOpen={open} /> + {/* Open source — Siftlode's code is public; nudge visitors to read it or self-host. The + footer keeps a compact link too. */} + + + + + + {t("welcome.openSource.title")} + + {t("welcome.openSource.body")} + + + + {t("welcome.openSource.link")} + + + + {/* Features */}

{t("welcome.features.heading")}

diff --git a/frontend/src/i18n/locales/de/welcome.json b/frontend/src/i18n/locales/de/welcome.json index 19820a1..191ba12 100644 --- a/frontend/src/i18n/locales/de/welcome.json +++ b/frontend/src/i18n/locales/de/welcome.json @@ -4,6 +4,11 @@ "subtitle": "Jeder Upload der Kanäle, denen du folgst, in einem aufgeräumten, filterbaren Feed — kein Algorithmus entscheidet, was du siehst, und kein Shorts- oder Livestream-Lärm, außer du willst es.", "trust": "Selbst gehostet und privat. Melde dich per E-Mail an oder fahre mit Google fort." }, + "openSource": { + "title": "Kostenlos und quelloffen", + "body": "Der Code von Siftlode ist öffentlich — sieh nach, wie es funktioniert, betreibe deine eigene private Instanz oder melde ein Problem.", + "link": "Quellcode ansehen" + }, "preview": { "feed": "Der Feed — filtern nach Kanal, Sprache, Thema, Länge und Datum.", "channels": "Kanal-Verwaltung", diff --git a/frontend/src/i18n/locales/en/welcome.json b/frontend/src/i18n/locales/en/welcome.json index a4c3926..9c8f6a9 100644 --- a/frontend/src/i18n/locales/en/welcome.json +++ b/frontend/src/i18n/locales/en/welcome.json @@ -4,6 +4,11 @@ "subtitle": "Every upload from the channels you follow in one clean, filterable feed — no algorithm deciding what you see, and no Shorts or livestream noise unless you want it.", "trust": "Self-hosted and private. Sign in with email, or continue with Google." }, + "openSource": { + "title": "Free and open source", + "body": "Siftlode's code is public — see how it works, run your own private instance, or open an issue.", + "link": "View the source" + }, "preview": { "feed": "The feed — filter by channel, language, topic, length and date.", "channels": "Channel manager", diff --git a/frontend/src/i18n/locales/hu/welcome.json b/frontend/src/i18n/locales/hu/welcome.json index dde74d3..216e5dd 100644 --- a/frontend/src/i18n/locales/hu/welcome.json +++ b/frontend/src/i18n/locales/hu/welcome.json @@ -4,6 +4,11 @@ "subtitle": "Minden feltöltés a követett csatornáidról egyetlen tiszta, szűrhető hírfolyamban — nincs algoritmus, ami eldönti, mit látsz, és nincs Shorts- vagy élő-zaj, hacsak nem kéred.", "trust": "Self-hosted és privát. Lépj be e-maillel, vagy folytasd Google-fiókkal." }, + "openSource": { + "title": "Ingyenes és nyílt forráskódú", + "body": "A Siftlode kódja nyilvános — nézd meg, hogyan működik, futtass saját privát példányt, vagy nyiss egy hibajegyet.", + "link": "Forráskód megtekintése" + }, "preview": { "feed": "A hírfolyam — szűrés csatorna, nyelv, téma, hossz és dátum szerint.", "channels": "Csatorna-kezelő",