- Add web-push VAPID backend with push_subscriptions table (migration 078) - Backend push module with sendPushToUser/sendPushToRoom helpers - Push routes: GET vapid-key, POST subscribe, DELETE unsubscribe - Trigger push on new chat messages in direct/group rooms - PWA manifest, service worker, and icons (72–512px) - Frontend push lib: SW registration, subscribe/unsubscribe helpers - Push API in api.ts, SW registered in main.tsx - usePushSubscription hook for auto-subscribe on permission grant - PushPermissionRow component in ChatWidget settings view Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
35 lines
848 B
JSON
35 lines
848 B
JSON
{
|
|
"name": "hotelsync",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc && vite build",
|
|
"preview": "vite preview",
|
|
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0"
|
|
},
|
|
"dependencies": {
|
|
"clsx": "^2.1.1",
|
|
"date-fns": "^3.6.0",
|
|
"lucide-react": "^0.446.0",
|
|
"qrcode.react": "^4.2.0",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"react-router-dom": "^6.26.0",
|
|
"tailwind-merge": "^2.5.2",
|
|
"xlsx": "^0.18.5"
|
|
},
|
|
"devDependencies": {
|
|
"@types/react": "^18.3.5",
|
|
"@types/react-dom": "^18.3.0",
|
|
"@vitejs/plugin-react": "^4.3.1",
|
|
"autoprefixer": "^10.4.20",
|
|
"postcss": "^8.4.45",
|
|
"sharp": "^0.34.5",
|
|
"tailwindcss": "^3.4.10",
|
|
"typescript": "^5.5.3",
|
|
"vite": "^5.4.1"
|
|
}
|
|
}
|