feat(landing): pagina comerciala la / pentru vizitatori neautentificati
Importa design-ul "Gateway RAR AUTOPASS Landing" din claude.ai/design si il implementeaza ca pagina responsiva single-page (app/web/templates/landing.html): hero + mockup dashboard, problema, calculator interactiv, avertisment legal (L.142/2023, OMTI 210/2024), pasi, integrare API, preturi (4 planuri), formular inregistrare/autentificare cu tab-uri, CTA final, footer. 4 teme comutabile (Grafit/Cobalt/Cupru/Hartie) persistate in localStorage, fonturi self-hostate, logo /static/romfast_logo.png (fara CDN extern). "/" serveste landing-ul pentru vizitatorul neautentificat (except LoginRequired) si dashboard-ul pentru cel logat; formularele posteaza real la /signup si /login cu token CSRF. Rutele protejate raman redirect /login. test_dashboard_scope: anonim pe / -> landing 200 (nu redirect); ruta protejata ramane 303 /login. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -39,7 +39,7 @@ from .labels import (
|
||||
nota_umana_preview,
|
||||
parse_erori,
|
||||
)
|
||||
from ..web.session import require_login
|
||||
from ..web.session import LoginRequired, require_login
|
||||
from ..api.v1.import_router import (
|
||||
_already_sent_lookup,
|
||||
_build_idempotency_key,
|
||||
@@ -441,8 +441,22 @@ def dashboard(request: Request, tab: str = "acasa", status: str | None = None) -
|
||||
server-side la full load (fara palpaiere la refresh, degradare gratiosa fara JS).
|
||||
Tab invalid -> fallback la 'acasa'. `?status=` pre-filtreaza lista Trimiteri de
|
||||
pe Acasa (deep-link din banner-ul "Necesita atentia ta").
|
||||
|
||||
Vizitator neautentificat -> landing-ul comercial (in loc de redirect la /login),
|
||||
cu formularele de inregistrare/autentificare care posteaza la /signup si /login.
|
||||
"""
|
||||
account_id = require_login(request)
|
||||
try:
|
||||
account_id = require_login(request)
|
||||
except LoginRequired:
|
||||
return templates.TemplateResponse(
|
||||
"landing.html",
|
||||
{
|
||||
"request": request,
|
||||
"rar_env": get_settings().rar_env,
|
||||
"version": __version__,
|
||||
"csrf_token": get_csrf_token(request),
|
||||
},
|
||||
)
|
||||
active_tab = tab if tab in _TABS_VALIDE else "acasa"
|
||||
conn = get_connection()
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user