joerglohrerde/app
Jörg Lohrer c3be5c167d fix(spa): clientseitiger 404 nach hydration behoben (D)
Etappe 5 hatte einen bug: nach dem prerendered HTML hat svelteKit beim
ersten clientseitigen navigations-tick nochmal load() aufgerufen, das
hat im browser-pfad pauschal 404 geworfen. Sichtbarer effekt: seite
zeigt kurz den korrekten inhalt, springt dann auf "Post nicht
gefunden".

Fix-strategie D aus dem chat:
- snapshot/output/posts/*.json wird vor dem build nach
  app/static/snapshot-data/posts/ kopiert (deploy-skript + workflow)
- +page.ts im browser-pfad fetcht dann /snapshot-data/posts/<slug>.json
- 404 nur noch wenn die JSON wirklich nicht existiert (= slug nicht
  im snapshot)

Damit funktionieren sowohl hard-reload (svelteKit hydriert die
prerendered page-data direkt) als auch clientseitige navigation
zwischen detail-seiten.

app/static/snapshot-data/ ist gitignored — wird zur build-zeit aus
snapshot/output/ generiert.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 11:36:44 +02:00
..
.vscode spa(task 1): sveltekit-skeleton mit adapter-static initialisiert 2026-04-15 15:03:15 +02:00
src fix(spa): clientseitiger 404 nach hydration behoben (D) 2026-04-28 11:36:44 +02:00
static spa: startseite + archiv + impressum + menü + assets für cutover 2026-04-18 15:35:05 +02:00
tests spa: startseite + archiv + impressum + menü + assets für cutover 2026-04-18 15:35:05 +02:00
.env.example spa/deploy: dynamische site-url via __SITE_URL__-platzhalter, staging + prod als deploy-targets 2026-04-18 10:01:08 +02:00
.gitignore fix(spa): clientseitiger 404 nach hydration behoben (D) 2026-04-28 11:36:44 +02:00
.npmrc spa(task 1): sveltekit-skeleton mit adapter-static initialisiert 2026-04-15 15:03:15 +02:00
README.md spa(task 1): sveltekit-skeleton mit adapter-static initialisiert 2026-04-15 15:03:15 +02:00
package-lock.json chore(spa): app/package-lock.json committen + aus gitignore raus 2026-04-28 10:27:33 +02:00
package.json feat(spa): detail-route auf prerender + ssr=true 2026-04-28 08:40:17 +02:00
playwright.config.ts spa(phase 5, tasks 26-32): reactions, replies, nip-07 kommentare, e2e 2026-04-15 17:51:57 +02:00
svelte.config.js fix(spa): prerender-build laeuft + meta/json-ld korrekt 2026-04-28 08:50:27 +02:00
tsconfig.json spa(task 1): sveltekit-skeleton mit adapter-static initialisiert 2026-04-15 15:03:15 +02:00
vite.config.ts feat(app): parseTranslationRefs extrahiert a-tags mit marker translation 2026-04-21 12:37:08 +02:00

README.md

sv

Everything you need to build a Svelte project, powered by sv.

Creating a project

If you're seeing this, you've probably already done this step. Congrats!

# create a new project
npx sv create my-app

To recreate this project with the same configuration:

# recreate this project
npx sv@0.15.1 create --template minimal --types ts --install npm .

Developing

Once you've created a project and installed dependencies with npm install (or pnpm install or yarn), start a development server:

npm run dev

# or start the server and open the app in a new browser tab
npm run dev -- --open

Building

To create a production version of your app:

npm run build

You can preview the production build with npm run preview.

To deploy your app, you may need to install an adapter for your target environment.