feat: add smart map view with location-level clustering
- /map page with Leaflet (CartoDB dark tiles) - Photos clustered by city/country (not per-photo) - /api/map endpoint with encrypted cover asset IDs - Configurable via gallery.yaml (map: true/false) - Conditional nav link in header - CSP updated for Leaflet CDN and tile servers - Theme-aware popups with cover thumbnails and album links
This commit is contained in:
@@ -38,7 +38,8 @@ export const metadata: Metadata = {
|
||||
};
|
||||
|
||||
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
||||
const { theme } = getConfig();
|
||||
const config = getConfig();
|
||||
const { theme } = config;
|
||||
const fontsUrl = getGoogleFontsUrl(theme);
|
||||
|
||||
// Inject theme values as CSS custom properties
|
||||
@@ -78,6 +79,11 @@ export default function RootLayout({ children }: { children: React.ReactNode })
|
||||
<Link href="/about" className="header__nav-link">
|
||||
About
|
||||
</Link>
|
||||
{config.map && (
|
||||
<Link href="/map" className="header__nav-link">
|
||||
Map
|
||||
</Link>
|
||||
)}
|
||||
<ThemeToggle />
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
Reference in New Issue
Block a user