feat: close stub-page gaps - profile login/logout, admin Reports/Settings, Help/Docs links
Some checks failed
Architecture Governance / architecture (push) Has been cancelled
Some checks failed
Architecture Governance / architecture (push) Has been cancelled
Sprint A: storefront header profile control (login/logout only, no menu), wired to existing customer Telegram auth (AuthService). Sprint B: backoffice/reports page, reuses AdminAnalyticsFacade (Sales, Top Products, Marketplace Health cards + CSV export). Sprint C: backoffice/settings page, admin UI density preference (comfortable/compact), localStorage-persisted, applied to app-table across all admin list pages. Sprint D: admin bottom-nav Help -> mailto using existing supportEmail, Documentation -> external link via new TenantConfig.documentationUrl. AdminNavLink gains externalHref for non-routerLink nav entries. Docs: docs/GLOBAL-SPRINT-PLAN.md tracks the full sprint breakdown. docs/COMING-SOON-AUDIT.md removed, folded into docs/KNOWN-ISSUES.md. docs/BACKEND.md updated with the new documentationUrl bootstrap field. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -168,8 +168,12 @@ Each nested field, with its source model file under
|
||||
- **`tenant`** (`TenantConfig`, `tenant.model.ts`) —
|
||||
`{ id (UUID), slug, code, host, name, websiteBaseUrl, builderBaseUrl,
|
||||
backofficeBaseUrl, defaultLocale, supportedLocales[], defaultCurrency,
|
||||
supportedCurrencies[], timezone }`. Identifies the tenant and its per-surface
|
||||
base URLs, locale/currency sets, and timezone.
|
||||
supportedCurrencies[], timezone, documentationUrl? }`. Identifies the tenant
|
||||
and its per-surface base URLs, locale/currency sets, and timezone.
|
||||
`documentationUrl` (optional string) is the external docs link rendered by
|
||||
the backoffice "Documentation" nav item — when absent, that nav item shows
|
||||
as a disabled `comingSoon` entry instead of a link (frontend-only fallback,
|
||||
no backend action required beyond optionally sending the field).
|
||||
- **`branding`** (`BrandingConfig`, `branding.model.ts`) —
|
||||
`{ brandName, legalName, slogan?, logoUrl, logoCompactUrl?, faviconUrl,
|
||||
appIconUrl?, socialImageUrl?, galleryUrls?, supportEmail?, supportPhone? }`.
|
||||
@@ -304,7 +308,8 @@ trimmed for length; full versions in that file):
|
||||
"supportedLocales": ["ru", "en", "hy"],
|
||||
"defaultCurrency": "RUB",
|
||||
"supportedCurrencies": ["RUB", "USD", "EUR", "AMD"],
|
||||
"timezone": "Europe/Moscow"
|
||||
"timezone": "Europe/Moscow",
|
||||
"documentationUrl": "https://docs.marketplace.local"
|
||||
},
|
||||
"branding": {
|
||||
"brandName": "Marketplace",
|
||||
|
||||
Reference in New Issue
Block a user