Files
kochwas/package.json

47 lines
1.2 KiB
JSON
Raw Normal View History

{
"name": "kochwas",
"version": "0.1.0",
"private": true,
"type": "module",
"scripts": {
"dev": "vite dev",
"build": "vite build",
"preview": "vite preview",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"test": "vitest run",
"test:watch": "vitest",
"lint": "eslint .",
"format": "prettier --write .",
"render:icons": "node scripts/render-icons.mjs",
"test:e2e": "playwright test",
"test:e2e:ui": "playwright test --ui"
},
"devDependencies": {
"@playwright/test": "^1.59.1",
"@sveltejs/adapter-node": "^5.2.0",
"@sveltejs/kit": "^2.8.0",
"@sveltejs/vite-plugin-svelte": "^4.0.0",
"@types/better-sqlite3": "^7.6.11",
"@types/node": "^22.9.0",
"jsdom": "^29.0.2",
"prettier": "^3.3.3",
"prettier-plugin-svelte": "^3.2.7",
"sharp": "^0.34.5",
"svelte": "^5.1.0",
"svelte-check": "^4.0.5",
"typescript": "^5.6.3",
"vite": "^5.4.10",
"vitest": "^2.1.4"
},
"dependencies": {
"@types/archiver": "^7.0.0",
"@types/yauzl": "^2.10.3",
"archiver": "^7.0.1",
"better-sqlite3": "^11.5.0",
"linkedom": "^0.18.5",
feat(ui): Favoriten-Liste, Dismiss-from-Recent, Inline-Rename, Lucide-Icons Homepage: - Neue Sektion "Deine Favoriten" über "Zuletzt hinzugefügt" (alphabetisch sortiert, lädt wenn Profil aktiv ist; versteckt sonst) - Jede Karte in "Zuletzt hinzugefügt" hat jetzt oben-rechts ein X-Icon zum Ausblenden. Das Rezept selbst bleibt in der DB — nur die Anzeige in der Recent-Liste wird per recipe.hidden_from_recent = 1 unterdrückt. Section versteckt sich, wenn die Liste leer wird. DB: - Neue Migration 004_recipe_hidden_from_recent.sql (+Index) - listFavoritesForProfile in search-local.ts (ORDER BY title NOCASE) - setRecipeHiddenFromRecent in actions.ts API: - GET /api/recipes/favorites?profile_id=X - PATCH /api/recipes/[id] akzeptiert jetzt title und/oder hidden_from_recent (Zod-Schema mit refine) Rezept-Detail: - Titel ist jetzt inline editierbar: kleines Stift-Icon rechts neben H1. Click öffnet Input, Enter speichert (PATCH), Escape bricht ab. Kein location.reload() mehr. - RecipeView bekommt neuen Snippet-Prop titleSlot für Title-Override. - Neue Aktionsreihenfolge: Zeile 1: Favorit | Wunschliste | Drucken Zeile 2: Heute gekocht | Löschen (Umbenennen ist jetzt am Titel statt in der Leiste.) Icons (lucide-svelte, neues Dep): - Emoji-Icons durch Lucide-SVGs ersetzt auf Startseite, Header, Rezept-Detail, Wunschliste, Header-Dropdown: 🍽️→Heart/Utensils, ⚙️→Settings, 🥘→CookingPot, 🌐→Globe, ♥/♡→Heart(filled), 🖨→Printer, ✎→Pencil, 🗑→Trash2, ✓→Check, 🍳→ChefHat, X→X - Header-Brand-Badge auf Mobile behält sein 🍳 (ist im ::after-Pseudo, Lucide käme da nicht sauber rein). - SearchLoader-Emojis bleiben — die sind Teil der Animations-Charme. Tests: 99/99 grün (bestehend), Typecheck 0 Fehler.
2026-04-17 18:57:17 +02:00
"lucide-svelte": "^1.0.1",
"yauzl": "^3.3.0",
"zod": "^3.23.8"
}
}