The chatelet module hardcoded '/chatelet' in its route paths while the
standalone also mounts under a Vite base path ('/chatelet/'), which the
router applies too. The two stacked: in-app URLs came out double-prefixed
('/chatelet/chatelet/<id>'), and a direct load or refresh of a room URL
stripped the base to '/<id>', matched nothing, and fell back to the room
list — so room deep links and page refreshes were broken.
Make the routes root-relative ('/' list, '/:id' detail, '/my-bookings')
and let the base path supply the prefix. Drop the now-redundant '/' ->
'/chatelet' redirect, point the list/detail/browse links and the Rooms tab
at the new paths, and key the tab's active state off the route name (a '/'
prefix test would match everything).
Verified on a production build served under '/chatelet/' like nginx: deep
link to a room, refresh on it, list, and in-app room clicks all resolve to
the detail page with a single-prefixed URL. vue-tsc build passes.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>