From 26dc88181de5200a80c7c0a7632a7ccd6ec26e71 Mon Sep 17 00:00:00 2001 From: Maurice Date: Sun, 8 Nov 2026 13:09:53 +0100 Subject: [PATCH] fix: the file size, theme and reading direction ratchets the last push tipped; widget previews and watch screens run by hand only --- .github/workflows/native.yml | 5 ++++ client/scripts/rtl-baseline.json | 5 ++-- client/scripts/size-baseline.json | 4 ++-- client/scripts/theme-baseline.json | 5 ++-- .../src/components/Map/MapLayerSwitcher.tsx | 2 -- client/src/components/Map/MapView.tsx | 5 ++-- client/src/components/Map/MapViewGL.tsx | 6 ++--- client/src/components/Map/switcherRow.ts | 24 +++++++++++++++++++ client/src/components/Studio/StudioShell.tsx | 1 + client/src/styles/studio-floating.css | 13 ++++++++++ client/src/styles/studio.css | 4 ---- 11 files changed, 57 insertions(+), 17 deletions(-) create mode 100644 client/src/components/Map/switcherRow.ts create mode 100644 client/src/styles/studio-floating.css diff --git a/.github/workflows/native.yml b/.github/workflows/native.yml index 2bccc3c5a..8c2cf6fbe 100644 --- a/.github/workflows/native.yml +++ b/.github/workflows/native.yml @@ -151,7 +151,10 @@ jobs: # The widgets drawn to PNGs (client/ios/WidgetPreviews): every size, light and # dark, for a trip ahead, a trip under way and none, plus a home screen and # a lock screen of them. Nobody has to install a build to see a widget change. + # Started by hand only (Run workflow): the apps are on TestFlight and Play now, + # where a change is looked at on a device; on every PR it only held the queue. widget-previews: + if: github.event_name == 'workflow_dispatch' runs-on: macos-15 timeout-minutes: 20 steps: @@ -208,7 +211,9 @@ jobs: # The watch app on watchOS simulators in its screenshot mode (DemoMode.swift): # every screen on the largest and the smallest watch, the main ones in every # language, and the complications, as PNGs to look at without a watch. + # Started by hand only, like the widget previews: up to 90 minutes of macOS. watch-screens: + if: github.event_name == 'workflow_dispatch' runs-on: macos-15 timeout-minutes: 90 steps: diff --git a/client/scripts/rtl-baseline.json b/client/scripts/rtl-baseline.json index 35e465910..b692cfc21 100644 --- a/client/scripts/rtl-baseline.json +++ b/client/scripts/rtl-baseline.json @@ -24,8 +24,8 @@ "components/Map/DawarichTrailPill.tsx": 1, "components/Map/LocationButton.tsx": 1, "components/Map/MapTogglePill.tsx": 1, - "components/Map/MapView.tsx": 6, - "components/Map/MapViewGL.tsx": 8, + "components/Map/MapView.tsx": 5, + "components/Map/MapViewGL.tsx": 7, "components/Map/NightPauseTooltip.tsx": 1, "components/Map/PlaceHoverCard.tsx": 1, "components/Map/PoiCategoryPill.tsx": 1, @@ -34,6 +34,7 @@ "components/Map/locationMarkerMapbox.ts": 2, "components/Map/nightPauseMarker.ts": 4, "components/Map/ratingBadge.ts": 1, + "components/Map/switcherRow.ts": 1, "components/PDF/TripPDF.tsx": 7, "components/PDF/tripMapImage.ts": 1, "components/Packing/PackingListPanelBagCard.tsx": 1, diff --git a/client/scripts/size-baseline.json b/client/scripts/size-baseline.json index 69b0dc228..b3e2b7b14 100644 --- a/client/scripts/size-baseline.json +++ b/client/scripts/size-baseline.json @@ -5,9 +5,9 @@ "src/components/Admin/AdminPluginsPanel.tsx": 1266, "src/components/Budget/CostsPanel.test.tsx": 2730, "src/components/Budget/CostsPanel.tsx": 1798, - "src/components/Map/MapView.tsx": 1201, + "src/components/Map/MapView.tsx": 1200, "src/components/Map/MapViewGL.test.tsx": 2919, - "src/components/Map/MapViewGL.tsx": 2127, + "src/components/Map/MapViewGL.tsx": 2126, "src/components/Planner/DayDetailPanel.test.tsx": 2333, "src/components/Planner/DayPlanSidebar.test.tsx": 5349, "src/components/Planner/DayPlanSidebar.tsx": 2929, diff --git a/client/scripts/theme-baseline.json b/client/scripts/theme-baseline.json index 97e40bebc..1312003fb 100644 --- a/client/scripts/theme-baseline.json +++ b/client/scripts/theme-baseline.json @@ -60,8 +60,8 @@ "components/Map/LocationButton.tsx": 1, "components/Map/MapPluginMarkers.tsx": 2, "components/Map/MapTogglePill.tsx": 1, - "components/Map/MapView.tsx": 8, - "components/Map/MapViewGL.tsx": 11, + "components/Map/MapView.tsx": 7, + "components/Map/MapViewGL.tsx": 10, "components/Map/NightPauseTooltip.tsx": 1, "components/Map/PlaceHoverCard.tsx": 1, "components/Map/ReservationOverlay.tsx": 5, @@ -71,6 +71,7 @@ "components/Map/poiCategories.ts": 7, "components/Map/ratingBadge.ts": 2, "components/Map/reservationsMapbox.ts": 1, + "components/Map/switcherRow.ts": 1, "components/PDF/TripPDF.tsx": 51, "components/Packing/PackingListPanelBagModal.tsx": 2, "components/Packing/PackingListPanelCategoryGroup.tsx": 5, diff --git a/client/src/components/Map/MapLayerSwitcher.tsx b/client/src/components/Map/MapLayerSwitcher.tsx index 560277702..55ace706f 100644 --- a/client/src/components/Map/MapLayerSwitcher.tsx +++ b/client/src/components/Map/MapLayerSwitcher.tsx @@ -33,8 +33,6 @@ export interface TourLayerOffer { /** Distance from the map's left edge (plus any side panel) to the switcher. */ export const MAP_LAYER_SWITCHER_INSET = 20 -/** What the switcher row leaves free at the map's trailing edge: the locate button (20px off the edge, 44px wide) and a gap. */ -export const LOCATE_BUTTON_ROOM = 76 /** * Outer size of the round shell: a 34px button in 4px of padding, the same shell as * MapCompassPill. The markup below keeps its literals, and FE-COMP-MAPLAYER-006 holds diff --git a/client/src/components/Map/MapView.tsx b/client/src/components/Map/MapView.tsx index 3a1792e45..3b46e0c26 100644 --- a/client/src/components/Map/MapView.tsx +++ b/client/src/components/Map/MapView.tsx @@ -73,7 +73,8 @@ import VectorBasemap from './VectorBasemap' import { nativeRasterTemplate } from '../../native/tileCache' import { useSettingsStore } from '../../store/settingsStore' import { TourMapLayersLeaflet } from './RasterOverlayLeaflet' -import { MapLayerSwitcher, TourMapLayerSwitcher, MAP_LAYER_SWITCHER_INSET, LOCATE_BUTTON_ROOM, type TourBaseLayer } from './MapLayerSwitcher' +import { MapLayerSwitcher, TourMapLayerSwitcher, type TourBaseLayer } from './MapLayerSwitcher' +import { switcherRowStyle } from './switcherRow' import { MapLockPill } from './MapLockPill' import type { ViewportPadding } from '../../utils/mapViewport' import { parseRenderableRouteGeometry } from '../../utils/routeGeometry' @@ -1126,7 +1127,7 @@ export const MapView = memo(function MapView({ {/* 20px off the sidebar, not 12: the pill is round and frosted, so at the smaller gap its shadow ran into the sidebar edge and the two read as one surface. */} -
+
{onToggleFollow && } {hasViewBaseLayer ?