Breite Tabellen (Kunden, Rechnungen, Ablauf-Kalender) werden unterhalb von 768 px zu Karten: jede Angabe mit ihrer Beschriftung, statt rechts abgeschnitten zu sein. Kartenkoepfe brechen um, die Jahresbahn bekommt eine schmalere Namensspalte und einen Hinweis aufs Wischen. Standort am Host (#036): Das Formular sendete nur den Kunden, die Aktion las aber auch standortId - jede Kundenzuweisung hat den Standort still geloescht. Jetzt stehen Kunde und Standort in einem Formular, die Liste richtet sich nach dem Kunden, und die Aktion prueft, dass der Standort zum Kunden gehoert. Nebenbefund: Das Kontrollkaestchen fuer den Rechnungsstatus trug pl-touch-target und wurde dadurch selbst zum 44 Pixel hohen leeren Kasten. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
77 lines
2.4 KiB
JSON
77 lines
2.4 KiB
JSON
{
|
|
"name": "proxledger",
|
|
"version": "0.21.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "eslint",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"format": "prettier --write .",
|
|
"db:up": "docker compose -f docker-compose.dev.yml up -d",
|
|
"db:down": "docker compose -f docker-compose.dev.yml down",
|
|
"db:migrate": "prisma migrate dev",
|
|
"db:seed": "prisma db seed",
|
|
"db:studio": "prisma studio",
|
|
"db:generate": "prisma generate",
|
|
"postinstall": "prisma generate",
|
|
"issues:sync": "tsx scripts/gitea-issues.ts",
|
|
"worker": "tsx src/worker/index.ts",
|
|
"alerts:check": "tsx scripts/alerts-pruefen.ts",
|
|
"build:worker": "esbuild src/worker/index.ts --bundle --platform=node --target=node24 --format=esm --outfile=dist/worker.mjs --banner:js=\"$(cat deploy/worker-banner.js)\" --external:@prisma/client --external:@node-rs/argon2 --external:pg-native",
|
|
"build:all": "npm run build && npm run build:worker",
|
|
"lasttest": "tsx scripts/lasttest.ts",
|
|
"screenshots": "node scripts/screenshots.mjs",
|
|
"icons": "node scripts/icons.mjs",
|
|
"pruefe:doku": "node scripts/pruefe-doku.mjs",
|
|
"benutzer": "tsx scripts/benutzer.ts"
|
|
},
|
|
"dependencies": {
|
|
"@node-rs/argon2": "^2.2.1",
|
|
"@prisma/adapter-pg": "^7.10.0",
|
|
"@prisma/client": "^7.10.0",
|
|
"@react-pdf/renderer": "^4.9.0",
|
|
"@simplewebauthn/browser": "^14.0.0",
|
|
"@simplewebauthn/server": "^14.0.3",
|
|
"admin-lte": "^4.9.1",
|
|
"bootstrap": "^5.3.8",
|
|
"bootstrap-icons": "^1.13.1",
|
|
"croner": "^10.0.1",
|
|
"jose": "^6.2.12",
|
|
"next": "^16.3.8",
|
|
"nodemailer": "^10.0.10",
|
|
"openid-client": "^6.8.8",
|
|
"react": "19.2.8",
|
|
"react-dom": "19.2.8",
|
|
"zod": "^4.6.5"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^24.13.5",
|
|
"@types/nodemailer": "^8.0.2",
|
|
"@types/react": "^19",
|
|
"@types/react-dom": "^19",
|
|
"dotenv": "^17.4.2",
|
|
"esbuild": "^0.28.2",
|
|
"eslint": "^9",
|
|
"eslint-config-next": "^16.3.8",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"prettier": "^3.9.7",
|
|
"prisma": "^7.10.0",
|
|
"sharp": "^0.35.4",
|
|
"tsx": "^4.23.13",
|
|
"typescript": "^5",
|
|
"vitest": "^5.0.1"
|
|
},
|
|
"description": "Proxmox Subscription Dashboard",
|
|
"engines": {
|
|
"node": ">=24"
|
|
},
|
|
"overrides": {
|
|
"mysql2": "^3.24.4",
|
|
"deepmerge-ts": "^8.0.0"
|
|
}
|
|
}
|