Public:
- /escape-rooms: Leaflet + OpenStreetMap map with marker clustering and a
searchable list, both built from a cached slim JSON feed
- /escape-rooms/{id}-{slug}: room detail with a mini-map and user reviews
(rating + title + body, login required)
- /escape-rooms/suggest: visitor submission form with click-to-drop-pin map
and reCAPTCHA v3; new rooms land as pending
Data:
- EscapeRoom / EscapeRoomReview entities (soft-delete), migration
- app:escaperooms:import-osm console command pulls leisure=escape_game from
the Overpass API, upserts by (osmType, osmId), skips locked rows;
--tiled / --area / --bbox options
Admin (new "Website Admin" area, separate from Game Admin):
- src/Website/Controller/AdminEscapeRoomController.php at /admin/escape-rooms:
status-filtered list, new/edit, publish/hide/reject, delete, review removal
- game admin sidebar extracted into a block and cross-linked
Assets: leaflet + leaflet.markercluster; escaperoom-map and escaperoom-detail
Encore entries.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
36 lines
944 B
JSON
36 lines
944 B
JSON
{
|
|
"name": "escapepage",
|
|
"private": true,
|
|
"version": "1.0.0",
|
|
"description": "EscapePage Symfony app assets built with Webpack Encore",
|
|
"license": "UNLICENSED",
|
|
"scripts": {
|
|
"dev": "encore dev",
|
|
"watch": "encore dev --watch",
|
|
"build": "encore production"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.25.0",
|
|
"@babel/preset-env": "^7.25.0",
|
|
"@symfony/webpack-encore": "^6.0.0",
|
|
"babel-loader": "^10.1.1",
|
|
"core-js": "^3.37.1",
|
|
"css-loader": "^7.1.2",
|
|
"mini-css-extract-plugin": "^2.9.2",
|
|
"regenerator-runtime": "^0.14.1",
|
|
"sass": "^1.101.0",
|
|
"sass-loader": "^16.0.1",
|
|
"webpack": "^5.95.0",
|
|
"webpack-cli": "^6.0.0",
|
|
"webpack-notifier": "^1.15.0"
|
|
},
|
|
"dependencies": {
|
|
"@popperjs/core": "^2.11.8",
|
|
"bootstrap": "^5.3.8",
|
|
"bootstrap-icons": "^1.13.1",
|
|
"leaflet": "^1.9.4",
|
|
"leaflet.markercluster": "^1.5.3",
|
|
"simple-datatables": "^10.3.0"
|
|
}
|
|
}
|