feat: add dark mode, navigation, and Web Vitals tracking to marketplace

Backend:
- Simplify DatabaseConfig: remove effective_url property and project root finder
- Update to Pydantic v2 model_config (replace nested Config class)
- Add web_vitals router to main.py and __init__.py
- Fix ExplorerService datetime handling (ensure timezone-naive comparisons)
- Fix status_label extraction to handle both enum and string job states

Frontend (Marketplace):
- Add dark mode toggle with system preference detection
This commit is contained in:
oib
2026-02-15 19:02:51 +01:00
parent 72e21fd07f
commit 7062b2cc78
26 changed files with 1945 additions and 769 deletions

View File

@@ -4,6 +4,7 @@ export function siteHeader(title: string): string {
return `
<header class="site-header">
<div class="site-header__inner">
<a class="site-header__back" href="/" title="Back to AITBC Home">← Home</a>
<a class="site-header__brand" href="${basePath}/">AITBC Explorer</a>
<div class="site-header__controls">
<div data-role="data-mode-toggle"></div>
@@ -14,6 +15,7 @@ export function siteHeader(title: string): string {
<a href="${basePath}/transactions">Transactions</a>
<a href="${basePath}/addresses">Addresses</a>
<a href="${basePath}/receipts">Receipts</a>
<a href="/marketplace/">Marketplace</a>
</nav>
</div>
</header>