- Extract duplicated emoji logic into useEmoji hook - Fix map memoization anti-pattern (proper React.memo component) - Add NavBar with links to all pages - Add success/error feedback on nomination submit - Show addresses on homepage award cards - Add confirmation dialog before rejecting nominations - Remove backend-only deps from frontend package.json - Change "Nominate a Neighbor" to "Nominate a Place" Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
34 lines
1.0 KiB
JSON
34 lines
1.0 KiB
JSON
{
|
|
"name": "react-awards-map",
|
|
"private": true,
|
|
"version": "0.0.0",
|
|
"scripts": {
|
|
"dev": "concurrently \"vite\" \"node backend/index.js\"",
|
|
"build": "vite build",
|
|
"lint": "eslint .",
|
|
"preview": "vite preview",
|
|
"backend": "node backend/index.js",
|
|
"seed": "node backend/seed.js",
|
|
"prod": "(crontab -l 2>/dev/null | grep -v backup-db.sh; echo '0 2 * * * /bin/bash $(pwd)/backend/backup-db.sh') | sort | uniq | crontab - && concurrently \"vite\" \"node backend/index.js\""
|
|
},
|
|
"dependencies": {
|
|
"leaflet": "^1.9.4",
|
|
"react": "^19.1.0",
|
|
"react-dom": "^19.1.0",
|
|
"react-leaflet": "^5.0.0",
|
|
"react-router-dom": "^7.6.3"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^9.30.1",
|
|
"@types/react": "^19.1.8",
|
|
"@types/react-dom": "^19.1.6",
|
|
"@vitejs/plugin-react": "^4.6.0",
|
|
"concurrently": "^8.2.2",
|
|
"eslint": "^9.30.1",
|
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
"eslint-plugin-react-refresh": "^0.4.20",
|
|
"globals": "^16.3.0",
|
|
"vite": "^7.0.4"
|
|
}
|
|
}
|