seepuls/apps/web/astro.config.mjs
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

15 lines
469 B
JavaScript

import { defineConfig } from 'astro/config';
import node from '@astrojs/node';
// Node-Adapter im standalone-Mode: ein einzelner Process, `node dist/server/entry.mjs`
// startet den Server. SSR ist Default — wir wollen, dass neue Events
// nach Re-Crawl ohne Astro-Rebuild sichtbar werden.
export default defineConfig({
output: 'server',
adapter: node({ mode: 'standalone' }),
server: {
port: 3096,
host: '0.0.0.0',
},
site: 'https://seepuls.mana.how',
});