seepuls/apps/web/tsconfig.json
Till JS 1dee1c8a58 α-4: Astro-Web (apps/web/) live-tauglich
Manuelles Astro-5-Setup mit Node-Adapter (standalone-SSR), keine
Tailwind/UI-Framework — schlankes inline-CSS, mobile-first.

- apps/web/src/pages/
  - index.astro       Liste + Filter-Form (country/region/q als GET-State)
  - heute.astro       Heute-only Variante mit Datums-Bereich
  - event/[slug].astro  Detail mit Attribution-Footer (Quelle + Crawl-Datum)
  - venue/index.astro  alle Venues, Country-Filter
  - venue/[slug].astro  Detail + upcoming-Events (Client-Filter weil
                       Server-Filter by venue_id noch nicht da)
  - takedown.astro     mailto-CTA + Verweis auf AGGREGATOR_POLICY
- src/components/EventCard.astro, FilterBar.astro
- src/lib/api.ts       Typed SSR-Client gegen :3095
- src/lib/format.ts    de-DE Intl.DateTimeFormat (Europe/Berlin),
                       Country-Flags, truncate
- src/layouts/Base.astro: Header mit Nav (Alle/Heute/DE/CH/Orte),
  Footer mit Take-Down-Hinweis

Build: astro build grün (1.06s). Live-Smoke gegen leere DB:
- / → 200 mit "Noch keine Events" + Filter-Form ✓
- /heute → 200 ✓
- /venue → 200 ✓
- /takedown?event=foo → 200 mit mailto-Link für foo ✓
- /event/nope → 404 ✓

Layout-Entscheidungen:
- Hot-Link für Bilder (`referrerpolicy="no-referrer"`) — AGGREGATOR
  _POLICY §3 Default.
- Quell-Attribution sichtbar pro Event-Karte (Domain + Crawl-Datum
  + Original-Link).
- Filter sind URL-State (teilbar), Form GET — kein JS-Island nötig.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 15:55:12 +02:00

11 lines
204 B
JSON

{
"extends": "astro/tsconfigs/strict",
"include": ["src/**/*", "src/**/*.astro"],
"exclude": ["dist", "node_modules"],
"compilerOptions": {
"baseUrl": ".",
"paths": {
"~/*": ["src/*"]
}
}
}