joerglohrerde/app
Jörg Lohrer 3b0f059cea spa(phase 5, tasks 26-32): reactions, replies, nip-07 kommentare, e2e
Neue Komponenten unter $lib/components/:
- Reactions.svelte: lädt kind:7-Aggregation via loadReactions, rendert
  Chips mit Emoji + Count. +/- werden zu 👍/👎 gemappt.
- ReplyItem.svelte: einzelner Kommentar mit Author-Npub-Prefix + Datum.
- ReplyList.svelte: lädt kind:1-Replies, merged mit optimistic-Props
  (dedup per id), sortiert chronologisch.
- ReplyComposer.svelte: Textarea + Senden-Button. Nutzt NIP-07-Wrapper
  (getPublicKey, signEvent), baut kind:1-Event mit a/e/p-Tags, pusht
  via pool.publish() zu allen Read-Relays. Fehlertolerant: zeigt
  Hinweis, wenn NIP-07-Extension fehlt.

Integration in PostView: Reactions, Composer, ReplyList unterhalb des
Artikel-Bodys. Optimistisches Reply-Pattern: Composer.onPublished
pushed signed event in PostView-local $state, ReplyList merged mit
fetched events.

Playwright-E2E:
- playwright.config.ts mit Dev-Server-Auto-Start
- home.test.ts: Profil + Beitragsliste sichtbar
- post.test.ts: Titel + Body + Legacy-URL-Redirect

Alle 3 E2E-Tests grün. npm run check: 600 files, 0 errors.
Deploy live auf svelte.joerg-lohrer.de (Phase 5 inklusive).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 17:51:57 +02:00
..
.vscode spa(task 1): sveltekit-skeleton mit adapter-static initialisiert 2026-04-15 15:03:15 +02:00
src spa(phase 5, tasks 26-32): reactions, replies, nip-07 kommentare, e2e 2026-04-15 17:51:57 +02:00
static spa: deploy-script und htaccess für svelte.joerg-lohrer.de 2026-04-15 15:59:46 +02:00
test-results spa(phase 5, tasks 26-32): reactions, replies, nip-07 kommentare, e2e 2026-04-15 17:51:57 +02:00
tests spa(phase 5, tasks 26-32): reactions, replies, nip-07 kommentare, e2e 2026-04-15 17:51:57 +02:00
.gitignore spa(task 1): sveltekit-skeleton mit adapter-static initialisiert 2026-04-15 15:03:15 +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.json spa(task 2): runtime- und dev-dependencies installiert 2026-04-15 15:09:10 +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 spa(task 1): sveltekit-skeleton mit adapter-static initialisiert 2026-04-15 15:03:15 +02:00
tsconfig.json spa(task 1): sveltekit-skeleton mit adapter-static initialisiert 2026-04-15 15:03:15 +02:00
vite.config.ts spa(task 2): runtime- und dev-dependencies installiert 2026-04-15 15:09:10 +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.