feat(auth): welcome/landing page + email-password login UI (5b)
Replace the old Google-only login card with a public landing page (Welcome.tsx): hero + auth card (email+password Sign in / Create account / Forgot password, Continue with Google, explicit Try-the-demo) over a feature pitch (6 pain->solution cards) and demo-account screenshot slots (graceful placeholder until the images are dropped into frontend/public/welcome/). Auth forms wire to the 5a endpoints; errors show inline via a new req() quiet flag (no global modal for a wrong password). Handles ?verify, ?reset (set-new-password form), ?access banners. EN/HU/DE. Verified end-to-end on a fresh load: render, register->approve->password-login.
This commit is contained in:
parent
732acfce52
commit
a81734b4d6
7 changed files with 602 additions and 124 deletions
73
frontend/src/i18n/locales/hu/welcome.json
Normal file
73
frontend/src/i18n/locales/hu/welcome.json
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
{
|
||||
"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.",
|
||||
"trust": "Self-hosted és privát. Lépj be e-maillel, vagy folytasd Google-fiókkal."
|
||||
},
|
||||
"preview": {
|
||||
"feed": "A hírfolyam — szűrés csatorna, nyelv, téma, hossz és dátum szerint.",
|
||||
"channels": "Csatorna-kezelő",
|
||||
"playlists": "Lejátszási listák"
|
||||
},
|
||||
"features": {
|
||||
"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."
|
||||
},
|
||||
"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."
|
||||
},
|
||||
"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."
|
||||
},
|
||||
"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."
|
||||
},
|
||||
"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."
|
||||
}
|
||||
},
|
||||
"auth": {
|
||||
"signinTitle": "Belépés",
|
||||
"createTitle": "Fiók létrehozása",
|
||||
"forgotTitle": "Jelszó visszaállítása",
|
||||
"resetTitle": "Új jelszó beállítása",
|
||||
"email": "E-mail",
|
||||
"password": "Jelszó",
|
||||
"newPassword": "Új jelszó (min. {{min}} karakter)",
|
||||
"invalidEmail": "Adj meg egy érvényes e-mail-címet.",
|
||||
"weakPassword": "A jelszónak legalább {{min}} karakteresnek kell lennie.",
|
||||
"genericError": "Valami hiba történt. Próbáld újra.",
|
||||
"working": "Egy pillanat…",
|
||||
"signinButton": "Belépés",
|
||||
"createButton": "Fiók létrehozása",
|
||||
"forgotButton": "Visszaállító link küldése",
|
||||
"resetButton": "Jelszó beállítása",
|
||||
"createLink": "Hozz létre egy fiókot",
|
||||
"forgotLink": "Elfelejtetted a jelszót?",
|
||||
"backToSignin": "Vissza a belépéshez",
|
||||
"or": "vagy",
|
||||
"google": "Folytatás Google-lel",
|
||||
"tryDemo": "Demó kipróbálása",
|
||||
"demoHint": "Adj meg egy e-mailt, amely engedélyezve van a demó fiókhoz.",
|
||||
"demoEmail": "Demó e-mail",
|
||||
"demoEnter": "Belépés",
|
||||
"demoDenied": "Ez az e-mail nincs engedélyezve a demóhoz. Kérd az admint, hogy adja hozzá.",
|
||||
"registerDone": "Majdnem kész — nézd meg a postafiókod a megerősítő linkért. Miután megerősítetted, egy admin jóváhagyja a fiókodat, mielőtt beléphetnél.",
|
||||
"forgotDone": "Ha ehhez az e-mailhez tartozik fiók, elküldtük a visszaállító linket. Nézd meg a postafiókod.",
|
||||
"resetDone": "A jelszavad be van állítva — most már beléphetsz.",
|
||||
"verifyOk": "E-mail megerősítve. Amint egy admin jóváhagyja a fiókodat, beléphetsz.",
|
||||
"verifyInvalid": "Ez a megerősítő link érvénytelen vagy lejárt.",
|
||||
"accessRequested": "Köszönjük — rögzítettük a kérésed. Egy admin felülvizsgálja.",
|
||||
"accessDenied": "Ez a fiók még nincs jóváhagyva ehhez a példányhoz — regisztrálj lent, vagy kérj hozzáférést az admintól."
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue