From 1c3ec92b1f5b527b418cfbde64aec97a43b6d0a7 Mon Sep 17 00:00:00 2001 From: William Bruno Date: Wed, 10 Jun 2026 11:00:10 -0400 Subject: [PATCH] milestones --- archive/components/leaflet/tipCircle.ts | 28 + public/icons.svg | 0 quasar.extensions.json | 1 + src/components/ControlFab.vue | 279 ++++++ src/components/EditFavoriteDialog.vue | 211 ++--- src/components/EssentialLink.vue | 27 - src/components/FavoriteFab.vue | 193 ++++ src/components/FormattedAddress.vue | 2 +- src/components/GeoSearch.vue | 83 ++ src/components/IconPicker.vue | 97 ++ src/components/LayerFab.vue | 147 +++ src/components/LeafletTest.vue | 1002 --------------------- src/components/LocateControl.vue | 129 +++ src/components/LocationItem.vue | 227 +++-- src/components/MenuBar.vue | 304 +++---- src/components/NestedKnob.vue | 110 --- src/components/SetLocationDialog.vue | 17 +- src/components/SimulationCommands.ts | 1 - src/components/SocketTest.vue | 2 +- src/components/StatusBar.vue | 203 ++++- src/components/StatusBarFab.vue | 222 +++++ src/components/iCloudCodeDialog.vue | 2 +- src/components/leaflet/LeafletMap.vue | 557 ++++++++++++ src/components/leaflet/LocationDrawer.vue | 379 ++++++++ src/components/leaflet/MapContainer.vue | 754 ++++++++++++++++ src/components/leaflet/MarkerMenu.vue | 422 +++++++++ src/components/leaflet/TheFooter.vue | 227 +++++ src/components/leaflet/actionCircle.ts | 126 +++ src/components/models.ts | 588 ++++++------ src/components/models_bu.ts | 604 +++++++++++++ src/composables/useAddLocation.ts | 91 ++ src/composables/useEscKey.ts | 17 + src/composables/useMarkerContextMenu.ts | 89 +- src/composables/useZoom.ts | 46 + src/constants/controls.ts | 585 +++++++++--- src/constants/icons.ts | 72 ++ src/layouts/FullMapLayout.vue | 81 ++ src/layouts/MainLayout.vue | 38 +- src/pages/FullMapPage.vue | 327 +++++++ src/pages/IndexPage.vue | 3 - src/pages/LeafletPage.vue | 27 + src/router/routes.ts | 23 +- src/stores/device.ts | 37 +- src/stores/favorite.ts | 176 +++- src/stores/icloud.ts | 157 ++-- src/stores/leaflet.ts | 406 ++++++++- src/stores/location.ts | 55 ++ src/stores/simulation.ts | 371 +++++--- src/stores/socket.ts | 58 +- src/stores/tunneld.ts | 31 +- 50 files changed, 7314 insertions(+), 2320 deletions(-) create mode 100644 archive/components/leaflet/tipCircle.ts create mode 100644 public/icons.svg create mode 100644 quasar.extensions.json create mode 100644 src/components/ControlFab.vue delete mode 100644 src/components/EssentialLink.vue create mode 100644 src/components/FavoriteFab.vue create mode 100644 src/components/GeoSearch.vue create mode 100644 src/components/IconPicker.vue create mode 100644 src/components/LayerFab.vue delete mode 100644 src/components/LeafletTest.vue create mode 100644 src/components/LocateControl.vue delete mode 100644 src/components/NestedKnob.vue delete mode 100644 src/components/SimulationCommands.ts create mode 100644 src/components/StatusBarFab.vue create mode 100644 src/components/leaflet/LeafletMap.vue create mode 100644 src/components/leaflet/LocationDrawer.vue create mode 100644 src/components/leaflet/MapContainer.vue create mode 100644 src/components/leaflet/MarkerMenu.vue create mode 100644 src/components/leaflet/TheFooter.vue create mode 100644 src/components/leaflet/actionCircle.ts create mode 100644 src/components/models_bu.ts create mode 100644 src/composables/useAddLocation.ts create mode 100644 src/composables/useEscKey.ts create mode 100644 src/composables/useZoom.ts create mode 100644 src/constants/icons.ts create mode 100644 src/layouts/FullMapLayout.vue create mode 100644 src/pages/FullMapPage.vue create mode 100644 src/pages/LeafletPage.vue create mode 100644 src/stores/location.ts diff --git a/archive/components/leaflet/tipCircle.ts b/archive/components/leaflet/tipCircle.ts new file mode 100644 index 0000000..378b3b6 --- /dev/null +++ b/archive/components/leaflet/tipCircle.ts @@ -0,0 +1,28 @@ +import * as L from 'leaflet'; + +interface TooltipCircleOptions extends L.CircleOptions { + tooltipContent?: string; +} + +export class TipCircle extends L.Circle { + constructor(latlng: L.LatLngExpression, options: TooltipCircleOptions) { + super(latlng, options); + if (options?.tooltipContent) { + this.bindTooltip(options.tooltipContent, { + permanent: false, + direction: 'top', + }); + } + } + override setRadius(radius: number): this { + super.setRadius(radius); + if (this.getTooltip()) { + this.setTooltipContent(`New radius: ${radius}m`); + } + return this; + } +} + +export const tipCircle = (latlng: L.LatLngExpression, options: TooltipCircleOptions) => { + return new TipCircle(latlng, options); +} diff --git a/public/icons.svg b/public/icons.svg new file mode 100644 index 0000000..e69de29 diff --git a/quasar.extensions.json b/quasar.extensions.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/quasar.extensions.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/components/ControlFab.vue b/src/components/ControlFab.vue new file mode 100644 index 0000000..690e3ad --- /dev/null +++ b/src/components/ControlFab.vue @@ -0,0 +1,279 @@ + + + + + diff --git a/src/components/EditFavoriteDialog.vue b/src/components/EditFavoriteDialog.vue index 2a0adb0..5ba1975 100644 --- a/src/components/EditFavoriteDialog.vue +++ b/src/components/EditFavoriteDialog.vue @@ -1,6 +1,6 @@