syncova-policies/package.json
Weapie c951a4123a
All checks were successful
Container-Image bauen und veröffentlichen / build-and-push (push) Successful in 2m3s
Sortierung nach Titel und haengendes Overlay beheben
Sortierung: Erklaerungen erscheinen im Admin wie im oeffentlichen
Bereich alphabetisch nach Titel. Bewusst in JavaScript statt ueber die
Datenbank - SQLite vergleicht binaer, dort landeten "Aenderungs-
mitteilung" und "Uebernahme" hinter "Zaehlerstandsablesung". Intl mit
deutscher Kollation sortiert Ae bei A. Gemeinsame Regel in
lib/policy-sort.ts, benutzt von der Server-Komponente, der API und der
Admin-Tabelle; die Spaltenkoepfe bleiben umschaltbar.

Overlay: @radix-ui/react-select verlangte react-dismissable-layer
1.1.11, alle anderen Radix-Pakete 1.1.19. Dieses Paket setzt und
entfernt pointer-events auf dem body und fuehrt dazu eine Liste offener
Layer im Modulzustand - bei zwei Kopien zwei getrennte Listen. Ein
Select im Dialog liess deshalb beim Schliessen das Overlay des Dialogs
verschwinden und pointer-events: none stehen. Die Seite war danach bis
zum Neuladen tot.

Belegt im Browser mit einer Wegwerfseite (Select im Dialog):
  zwei Versionen -> Dialog nach Select-Schliessen nicht mehr bedienbar,
                    body pointer-events bleibt "none"
  eine Version   -> body wieder leer, Seite klickbar

react-select, -label, -slot und -tabs auf aktuelle Versionen gehoben;
damit liegt jedes Radix-Kernpaket nur noch einmal im Baum.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 13:37:58 +02:00

72 lines
2.4 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"name": "syncova-policies",
"version": "1.0.0",
"private": true,
"description": "Syncova Policies – Verwaltung und Veröffentlichung von DSGVO-Datenschutzerklärungen",
"license": "UNLICENSED",
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint",
"seed-admin": "node scripts/seed-admin.js",
"reset-admin": "node scripts/reset-admin.js",
"import-policy": "node scripts/import-policy.js",
"import-pdfs": "node scripts/import-pdfs.js",
"analyze-pdfs": "node scripts/analyze-pdfs.js",
"import-csv": "node scripts/import-csv.js",
"compare-csv-pdf": "node scripts/compare-csv-pdf.js",
"check-completeness": "node scripts/check-completeness.js",
"enrich-legal-basis": "node scripts/enrich-legal-basis.js",
"fix-legal-citations": "node scripts/fix-legal-citations.js"
},
"dependencies": {
"@auth/prisma-adapter": "^2.10.0",
"@prisma/client": "^6.16.0",
"@radix-ui/react-accordion": "^1.2.20",
"@radix-ui/react-alert-dialog": "^1.1.23",
"@radix-ui/react-avatar": "^1.2.6",
"@radix-ui/react-checkbox": "^1.3.11",
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-dropdown-menu": "^2.1.24",
"@radix-ui/react-label": "^2.1.15",
"@radix-ui/react-scroll-area": "^1.2.18",
"@radix-ui/react-select": "^2.3.7",
"@radix-ui/react-separator": "^1.1.15",
"@radix-ui/react-slot": "^1.3.3",
"@radix-ui/react-switch": "^1.3.7",
"@radix-ui/react-tabs": "^1.1.21",
"@radix-ui/react-tooltip": "^1.2.16",
"@tailwindcss/postcss": "^4.1.13",
"@tailwindcss/typography": "^0.5.16",
"autoprefixer": "^10.4.21",
"bcryptjs": "^3.0.2",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"lucide-react": "^0.544.0",
"next": "^15.5.3",
"next-auth": "^5.0.0-beta.29",
"postcss": "^8.5.6",
"react": "^19.1.1",
"react-dom": "^19.1.1",
"remark": "^15.0.1",
"remark-breaks": "^4.0.0",
"remark-gfm": "^4.0.1",
"remark-html": "^16.0.1",
"sonner": "^2.0.8",
"swr": "^2.3.6",
"tailwind-merge": "^3.3.1",
"tailwindcss": "^4.1.13",
"tw-animate-css": "^1.3.8"
},
"devDependencies": {
"@types/bcryptjs": "^2.4.6",
"@types/node": "^24.5.0",
"@types/react": "^19.1.13",
"@types/react-dom": "^19.1.9",
"pdf-parse": "^2.4.5",
"prisma": "^6.16.0",
"typescript": "^5.9.2"
}
}