homepage: typography upgrade + ArticleFeed polish
- layout.tsx: load Lora (serif) + Inter (sans) via next/font/google, self-hosted at build time, exposed as --font-serif / --font-sans CSS variables on <html>. No CDN fetch, no FOIT, no GDPR concern. - tailwind.css: --font-heading and --font-body now reference the next/font variables with Georgia / -apple-system fallbacks for the brief window before the self-hosted face is ready. --font-mono upgraded to IBM Plex Mono → ui-monospace → Courier New fallback (DoubleTicker chips already specify IBM Plex Mono directly). - ArticleFeed: drop the FEATURED filter chip (duplicates the Staff Editorial section above), add publish date alongside the byline on every card, lift the homepage feed cap from 200 → 5000. - api/public/posts: lift MAX_LIMIT to 10000 so client-side pagination + infinite-scroll see the full archive.
This commit is contained in:
@@ -1,6 +1,25 @@
|
||||
import React, { Suspense } from 'react';
|
||||
import type { Metadata, Viewport } from 'next';
|
||||
import { Lora, Inter } from 'next/font/google';
|
||||
import '../styles/tailwind.css';
|
||||
|
||||
// Self-hosted at build time by next/font — no runtime CDN fetch, no FOIT,
|
||||
// no GDPR concern. The two variables are consumed by --font-heading and
|
||||
// --font-body in src/styles/tailwind.css with Georgia/Arial fallbacks.
|
||||
const lora = Lora({
|
||||
subsets: ['latin'],
|
||||
weight: ['400', '500', '600', '700'],
|
||||
style: ['normal', 'italic'],
|
||||
variable: '--font-serif',
|
||||
display: 'swap',
|
||||
});
|
||||
|
||||
const inter = Inter({
|
||||
subsets: ['latin'],
|
||||
weight: ['300', '400', '500', '600', '700', '800'],
|
||||
variable: '--font-sans',
|
||||
display: 'swap',
|
||||
});
|
||||
// SystemStatusBar removed — the "articles indexed / events tracked / [v2.0.0]"
|
||||
// strip was eating vertical space without serving readers.
|
||||
import AskBBAI from '@/components/AskBBAI';
|
||||
@@ -81,7 +100,7 @@ export default function RootLayout({
|
||||
|
||||
}: Readonly<{children: React.ReactNode;}>) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<html lang="en" className={`${lora.variable} ${inter.variable}`}>
|
||||
<head>
|
||||
{/* hreflang entries removed pending real i18n routes (Phase D). */}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user