diff --git a/frontend/public/welcome/channels.png b/frontend/public/welcome/channels.png index 31cf1e9..20391e4 100644 Binary files a/frontend/public/welcome/channels.png and b/frontend/public/welcome/channels.png differ diff --git a/frontend/public/welcome/feed.png b/frontend/public/welcome/feed.png index 175573e..26de65d 100644 Binary files a/frontend/public/welcome/feed.png and b/frontend/public/welcome/feed.png differ diff --git a/frontend/public/welcome/playlists.png b/frontend/public/welcome/playlists.png index 4129ca5..6792c4d 100644 Binary files a/frontend/public/welcome/playlists.png and b/frontend/public/welcome/playlists.png differ diff --git a/frontend/src/components/Welcome.tsx b/frontend/src/components/Welcome.tsx index 3d91468..abf494d 100644 --- a/frontend/src/components/Welcome.tsx +++ b/frontend/src/components/Welcome.tsx @@ -7,7 +7,7 @@ import { ListVideo, Lock, PlayCircle, - Tags, + Search, X, type LucideIcon, } from "lucide-react"; @@ -110,9 +110,9 @@ export default function Welcome() { const FEATURES: { key: string; icon: LucideIcon }[] = [ { key: "readable", icon: Filter }, { key: "neverMiss", icon: Inbox }, + { key: "search", icon: Search }, { key: "playlists", icon: ListVideo }, { key: "player", icon: PlayCircle }, - { key: "channels", icon: Tags }, { key: "private", icon: Lock }, ]; diff --git a/frontend/src/i18n/locales/de/welcome.json b/frontend/src/i18n/locales/de/welcome.json index 3428ffd..19820a1 100644 --- a/frontend/src/i18n/locales/de/welcome.json +++ b/frontend/src/i18n/locales/de/welcome.json @@ -1,7 +1,7 @@ { "hero": { "title": "Deine YouTube-Abos, so wie ein Feed funktionieren sollte.", - "subtitle": "Siftlode sammelt jeden Upload der Kanäle, denen du folgst, in einem aufgeräumten, filterbaren Feed — kein Algorithmus entscheidet, was du siehst, und kein Shorts- oder Live-Lärm, außer du willst es.", + "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." }, "preview": { @@ -13,27 +13,27 @@ "heading": "Warum Siftlode", "readable": { "title": "Deine Abos, endlich lesbar", - "body": "Sortiere und filtere nach Kanal, Sprache, Thema, Länge oder Datum — und blende Kanäle aus, ohne sie zu deabonnieren. Du entscheidest, was erscheint, nicht ein Algorithmus." + "body": "Sortiere und filtere nach Kanal, Tag, Sprache, Thema, Länge oder Datum und speichere deine Einstellungen als Ansichten. Du entscheidest, was erscheint, nicht ein Algorithmus." }, "neverMiss": { "title": "Verpasse keinen Upload", - "body": "Jedes Video jedes Kanals, dem du folgst, landet in einem Feed. Shorts und Livestreams sind standardmäßig ausgeblendet — so sind es nur die Videos, für die du gekommen bist." + "body": "Jedes Video jedes Kanals landet in einem Feed; Shorts und Livestreams bleiben standardmäßig ausgeblendet." + }, + "search": { + "title": "Durchsuche ganz YouTube", + "body": "Durchsuche YouTube direkt aus deinem Feed — Ergebnisse lassen sich abspielen, speichern und wie jedes andere Video zu Playlists hinzufügen." }, "playlists": { "title": "Playlists, die in beide Richtungen synchronisieren", - "body": "Erstelle Playlists lokal und halte sie mit YouTube synchron — Änderungen fließen in beide Richtungen." + "body": "Erstelle Playlists lokal und halte sie in beidseitiger Synchronisation mit YouTube." }, "player": { - "title": "Schau in der App, mach da weiter, wo du aufgehört hast", - "body": "Ein In-App-Player setzt jedes Video dort fort, wo du gestoppt hast — kein Empfehlungs-Strudel, der dich ablenkt." - }, - "channels": { - "title": "Eine echte Kanal-Verwaltung", - "body": "Priorisiere die Kanäle, die dir wichtig sind, tagge sie nach deiner Art und filtere den Feed nach deinen eigenen Tags." + "title": "Schau in der App, mach überall weiter", + "body": "Ein In-App-Player setzt jedes Video genau dort fort, wo du aufgehört hast — kein Empfehlungs-Strudel." }, "private": { - "title": "Selbst gehostet, privat, mehrsprachig", - "body": "Betreibe es selbst — deine Daten bleiben deine. Mehrbenutzerfähig, mit der Oberfläche auf Englisch, Ungarisch und Deutsch." + "title": "Selbst gehostet und privat", + "body": "Betreibe es selbst, mehrbenutzerfähig, auf Englisch, Ungarisch und Deutsch. Deine Daten bleiben deine." } }, "auth": { diff --git a/frontend/src/i18n/locales/en/welcome.json b/frontend/src/i18n/locales/en/welcome.json index 5aa936e..a4c3926 100644 --- a/frontend/src/i18n/locales/en/welcome.json +++ b/frontend/src/i18n/locales/en/welcome.json @@ -1,7 +1,7 @@ { "hero": { "title": "Your YouTube subscriptions, the way a feed should work.", - "subtitle": "Siftlode pulls every upload from the channels you follow into one clean, filterable feed — no algorithm deciding what you see, and no Shorts or live noise unless you want it.", + "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." }, "preview": { @@ -13,27 +13,27 @@ "heading": "Why Siftlode", "readable": { "title": "Your subscriptions, actually readable", - "body": "Sort and filter by channel, language, topic, length or date — and hide channels without unsubscribing. You decide what surfaces, not an algorithm." + "body": "Sort and filter by channel, tag, language, topic, length or date, and save your setups as views. You decide what surfaces, not an algorithm." }, "neverMiss": { "title": "Never miss an upload", - "body": "Every video from every channel you follow lands in one feed. Shorts and live streams are tucked away by default, so it's just the videos you came for." + "body": "Every video from every channel lands in one feed; Shorts and livestreams stay tucked away by default." + }, + "search": { + "title": "Search all of YouTube", + "body": "Search YouTube right from your feed — results play, save and add to playlists like any other video." }, "playlists": { "title": "Playlists that sync both ways", - "body": "Build playlists locally and keep them in sync with YouTube — changes flow in both directions." + "body": "Build playlists locally and keep them in two-way sync with YouTube." }, "player": { - "title": "Watch in-app, pick up where you left off", - "body": "An in-app player resumes each video where you stopped — no recommendation rabbit-hole pulling you off course." - }, - "channels": { - "title": "A real channel manager", - "body": "Prioritise the channels you care about, tag them your way, and filter the feed by your own tags." + "title": "Watch in-app, resume anywhere", + "body": "An in-app player picks up each video exactly where you left off — no recommendation rabbit-hole." }, "private": { - "title": "Self-hosted, private, multilingual", - "body": "Run it yourself — your data stays yours. Multi-user, with the interface in English, Hungarian and German." + "title": "Self-hosted and private", + "body": "Run it yourself, multi-user, in English, Hungarian and German. Your data stays yours." } }, "auth": { diff --git a/frontend/src/i18n/locales/hu/welcome.json b/frontend/src/i18n/locales/hu/welcome.json index f9b94fb..dde74d3 100644 --- a/frontend/src/i18n/locales/hu/welcome.json +++ b/frontend/src/i18n/locales/hu/welcome.json @@ -1,7 +1,7 @@ { "hero": { "title": "A YouTube-feliratkozásaid úgy, ahogy egy hírfolyamnak működnie kéne.", - "subtitle": "A Siftlode minden feltöltést egyetlen tiszta, szűrhető hírfolyamba gyűjt a követett csatornáidról — nincs algoritmus, ami eldönti, mit látsz, és nincs Shorts- vagy élő-zaj, hacsak nem kéred.", + "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." }, "preview": { @@ -13,27 +13,27 @@ "heading": "Miért a Siftlode", "readable": { "title": "A feliratkozásaid végre olvashatóan", - "body": "Rendezz és szűrj csatorna, nyelv, téma, hossz vagy dátum szerint — és rejts el csatornákat leiratkozás nélkül. Te döntöd el, mi kerül elő, nem egy algoritmus." + "body": "Rendezz és szűrj csatorna, címke, nyelv, téma, hossz vagy dátum szerint, és mentsd el a beállításaidat nézetként. Te döntöd el, mi kerül elő, nem egy algoritmus." }, "neverMiss": { "title": "Egy feltöltés se vesszen el", - "body": "Minden videó minden követett csatornádról egyetlen hírfolyamba kerül. A Shorts és az élő adások alapból félrerakva — így tényleg csak azt látod, amiért jöttél." + "body": "Minden videó minden csatornádról egyetlen hírfolyamba kerül; a Shorts és az élő adások alapból félrerakva." + }, + "search": { + "title": "Keress az egész YouTube-on", + "body": "Keress a YouTube-on közvetlenül a hírfolyamból — a találatok ugyanúgy lejátszhatók, menthetők és listához adhatók, mint bármely más videó." }, "playlists": { "title": "Kétirányban szinkronizált lejátszási listák", - "body": "Építs helyi lejátszási listákat, és tartsd őket szinkronban a YouTube-bal — a változások mindkét irányba áramlanak." + "body": "Építs helyi lejátszási listákat, és tartsd őket kétirányú szinkronban a YouTube-bal." }, "player": { - "title": "Nézd appon belül, onnan folytatva, ahol abbahagytad", - "body": "Az appon belüli lejátszó ott folytatja a videót, ahol megálltál — nincs ajánló-örvény, ami eltérítene." - }, - "channels": { - "title": "Igazi csatorna-kezelő", - "body": "Priorizáld a számodra fontos csatornákat, címkézd a saját módodon, és szűrd a hírfolyamot a saját címkéid szerint." + "title": "Nézd appon belül, folytasd bárhonnan", + "body": "Az appon belüli lejátszó pontosan onnan folytatja a videót, ahol abbahagytad — nincs ajánló-örvény." }, "private": { - "title": "Self-hosted, privát, többnyelvű", - "body": "Futtasd magad — az adataid a tieid maradnak. Többfelhasználós, a felület angolul, magyarul és németül." + "title": "Self-hosted és privát", + "body": "Futtasd magad, többfelhasználós, angolul, magyarul és németül. Az adataid a tieid maradnak." } }, "auth": {