pageta/package.json
Till JS fe6d9fbf74 fix(web): UI-Korrekturabzug 2026-07-26 — 30 von 37 Befunden
Visuelle Prüfung aller Routen gegen mana/docs/DESIGN.md, Bericht in
docs/ui-review-2026-07-26.html. Drei Ursachen erklärten die Hälfte:

1. Die fixierte Pill-Navigation war durchsichtig und lag mit z-index 1000
   über allem. Sie verschluckte Klicks (belegt am Modus-Schalter unter
   /konto), überdeckte den Modal-Fuß und die Fußzeile.
   → Scrim + Höhe als --bottom-chrome, z-index auf 100, Modal auf 9995.

2. Vier Seiten hatten sich am Theme vorbeigebaut — 44 Hex-Literale.
   /changelog war im Dunkelmodus mit ~1,05 : 1 unlesbar.
   → Alles auf hsl(var(--color-*)), plus audit:theme-tokens als Wächter
     (zwei dokumentierte Ausnahmen: Reader-Themes, Marker-Pigmente).

3. Kein gemeinsames Seiten-Gerüst — drei Inhaltsbreiten, fünf Titel-
   Schemata, Zurück-Link nur auf zwei Seiten.
   → PageShell (Breite, Titel, Untertitel, Dokumenttitel, Zurück-Link,
     Avatar-Korridor).

Weiter:
- Zusammenfassung gab den rohen Prompt mit [noop]-Präfix aus → isEmptyOrEcho
  fängt Echo-Antworten ab, ehrlicher Fehler statt Interna (8 Tests).
- Lese-Liste zeigte Domains statt Titel → looksUnextracted markiert
  Consent-Wall-Reste, Reparaturweg über das HTML-Bookmarklet (7 Tests).
- highlightToWire setzte createdAt: s.userId → deshalb stand die Konto-UUID
  als Datum in /markierungen und die Sortierung war wirkungslos.
  Zeitstempel kommt jetzt aus der ULID.
- Rohe Status-Enums (UNREAD) → statusLabel() über @mana/shared-i18n.
- Emojis und Textzeichen als Icons → Phosphor aus @mana/shared-icons.
- +error.svelte statt SvelteKits englischem „404 Not Found".
- Ruhende Routen /feed und /recherche leiten auf /lese-liste um.
- Labels über allen Formularfeldern, aria-label an Inline-Feldern.
- 44-px-Trefferflächen, ganze Karte klickbar, globaler Fokusring in
  @layer base, EmptyState-Komponente, Aktions-Rangfolge im Reader.
- Lesetypografie: `prose` war wirkungslos (Tailwind-Typography ist gar
  nicht installiert) → eigene, token-basierte Lesetypografie.

Offen (im Bericht begründet): Desktop-Breitennutzung, Bild-Nachladen für
Bestandsartikel, Filterleisten am unteren Rand, Varianten-Namen und die
WebDAV-Feldbeschriftungen in @mana/shared-ui.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-26 23:49:51 +02:00

36 lines
1.3 KiB
JSON

{
"name": "pageta",
"version": "0.0.0",
"private": true,
"type": "module",
"description": "Pageta — Standalone-Reader-App des Vereins mana. Kuratierter News-Feed, Save-it-later mit Highlights, RSS-Recherche. Föderiert mit der mana-Plattform.",
"packageManager": "pnpm@9.15.9",
"engines": {
"node": ">=20",
"pnpm": "^9"
},
"scripts": {
"dev": "turbo run dev",
"build": "turbo run build",
"test": "turbo run test",
"type-check": "turbo run type-check",
"clean": "turbo run clean",
"validate-manifest": "tsx node_modules/@mana/shared-share-protocol/scripts/validate-manifest.ts app-manifest.json",
"format": "prettier --config .prettierrc.json --write \"**/*.{ts,tsx,js,json,md,svelte}\"",
"format:check": "prettier --config .prettierrc.json --check \"**/*.{ts,tsx,js,json,md,svelte}\"",
"docker:up": "docker compose -f docker-compose.yml up -d",
"docker:down": "docker compose -f docker-compose.yml down",
"audit:theme-tokens": "pnpm --filter @pageta/web audit:theme-tokens",
"validate": "pnpm run audit:theme-tokens && turbo run type-check test"
},
"devDependencies": {
"@mana/shared-share-protocol": "^0.1.0",
"@types/bun": "latest",
"@types/node": "^22.10.2",
"prettier": "^3.3.3",
"prettier-plugin-svelte": "^3.3.2",
"tsx": "^4.20.0",
"turbo": "^2.3.0",
"typescript": "^5.9.3"
}
}