Compare commits

..

No commits in common. "d49f7486e2b3c3aa4e06b310f8b05dec119a0e44" and "e778e20bae255569b2ecdea13fc688e42a4dd7c3" have entirely different histories.

7 changed files with 250 additions and 961 deletions

View File

@ -4,7 +4,7 @@ title: 'Open Mapping: Collaborative Route Planning Module'
status: In Progress
assignee: []
created_date: '2025-12-04 14:30'
updated_date: '2025-12-05 05:35'
updated_date: '2025-12-05 05:29'
labels:
- feature
- mapping
@ -118,15 +118,4 @@ Map refactoring completed:
- Added layers/index.ts and updated open-mapping exports
- Server running without compilation errors
- Architecture now follows layer pattern: Base Map → Collaboration Layers
Enhanced MapShapeUtil (1326 lines) with:
- Touch/pen/mouse support with proper z-index (1000+) and touchAction styles
- Search with autocomplete as you type (Nominatim, 400ms debounce)
- Directions panel with waypoint management, reverse route, clear
- GPS location sharing panel with start/stop, accuracy display
- Quick action toolbar: search, directions (🚗), GPS (📍), style picker
- Larger touch targets (44px buttons) for mobile
- Pulse animation on user GPS marker
- "Fit All" button to zoom to all GPS users
- Route info badge when panel is closed
<!-- SECTION:NOTES:END -->

View File

@ -343,7 +343,6 @@ export class CloudflareNetworkAdapter extends NetworkAdapter {
// CRITICAL: Emit 'ready' event for Automerge Repo
// This tells the Repo that the network adapter is ready to sync
// @ts-expect-error - 'ready' event is valid but not in NetworkAdapterEvents type
this.emit('ready', { network: this })
// Create a server peer ID based on the room

View File

@ -1,5 +1,4 @@
// Connection status for UI display (maps from ConnectionState)
export type ConnectionStatus = 'online' | 'offline' | 'syncing'
import { ConnectionStatus } from '@/automerge/useAutomergeSyncRepo'
interface OfflineIndicatorProps {
connectionStatus: ConnectionStatus

File diff suppressed because it is too large Load Diff

View File

@ -55,7 +55,7 @@ function CustomPeopleMenu() {
try {
const { GoogleDataService } = await import('../lib/google')
const service = GoogleDataService.getInstance()
await service.authenticate(['drive'])
await service.authenticate()
setGoogleConnected(true)
} catch (error) {
console.error('Google auth failed:', error)

6
src/vite-env.d.ts vendored
View File

@ -1,11 +1,5 @@
/// <reference types="vite/client" />
// Wrangler/Vite wasm module imports
declare module '*.wasm?module' {
const module: Uint8Array
export default module
}
interface ImportMetaEnv {
readonly VITE_TLDRAW_WORKER_URL: string
readonly VITE_GOOGLE_MAPS_API_KEY: string

View File

@ -26,8 +26,6 @@
"noFallthroughCasesInSwitch": true
},
"include": ["src", "worker", "src/client"],
"exclude": [
"src/open-mapping/**"
],
"references": [{ "path": "./tsconfig.node.json" }]
}