feat(merchant): extract merchant portal as first-class frontend with auth, Tailwind fixes, and Gitea CI
Some checks failed
Some checks failed
- Extract login/dashboard from billing module into core (matching admin pattern) - Add merchant auth API with path-isolated cookies (path=/merchants) - Add merchant base layout with sidebar/header partials and Alpine.js init - Add frontend detection and login redirect for MERCHANT type - Wire merchant token in shared api-client.js (get/clear) - Migrate billing templates to merchant base with dark mode support - Fix Tailwind: rename shop→storefront in sources and config - DRY Makefile tailwind targets with TAILWIND_FRONTENDS loop - Rebuild all Tailwind outputs (production minified) - Add Gitea Actions CI workflow (ruff, pytest, architecture, docs) - Add Gitea deployment documentation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -393,6 +393,9 @@ def _redirect_to_login(request: Request) -> RedirectResponse:
|
||||
if frontend_type == FrontendType.ADMIN:
|
||||
logger.debug("Redirecting to /admin/login")
|
||||
return RedirectResponse(url="/admin/login", status_code=302)
|
||||
if frontend_type == FrontendType.MERCHANT:
|
||||
logger.debug("Redirecting to /merchants/login")
|
||||
return RedirectResponse(url="/merchants/login", status_code=302)
|
||||
if frontend_type == FrontendType.STORE:
|
||||
# Extract store code from the request path
|
||||
# Path format: /store/{store_code}/...
|
||||
|
||||
Reference in New Issue
Block a user