|
4 | 4 | v-contextmenu="handleContextMenu" |
5 | 5 | class="page-base" |
6 | 6 | :class="widgetStore.editingMode ? 'pointer-events-none' : 'pointer-events-auto'" |
| 7 | + :style="glassMenuCssVars" |
7 | 8 | > |
8 | 9 | <div :id="mapId" ref="map" class="map"> |
9 | 10 | <v-menu v-model="downloadMenuOpen" :close-on-content-click="false" location="top end"> |
10 | 11 | <template #activator="{ props: menuProps }"> |
11 | 12 | <v-btn |
12 | 13 | v-show="showButtons" |
| 14 | + :style="interfaceStore.globalGlassMenuStyles" |
13 | 15 | v-bind="menuProps" |
14 | 16 | class="absolute right-[209px] m-3 bottom-button bg-slate-50 text-[14px]" |
15 | 17 | elevation="2" |
|
31 | 33 | <template #activator="{ props: tooltipProps }"> |
32 | 34 | <v-btn |
33 | 35 | v-if="showButtons" |
| 36 | + :style="[interfaceStore.globalGlassMenuStyles, !home ? { color: '#FFFFFF33' } : {}]" |
34 | 37 | v-bind="tooltipProps" |
35 | 38 | class="absolute right-[166px] m-3 bottom-button bg-slate-50 text-[14px]" |
36 | 39 | :class="!home ? 'active-events-on-disabled' : ''" |
|
50 | 53 | <template #activator="{ props: tooltipProps }"> |
51 | 54 | <v-btn |
52 | 55 | v-if="showButtons" |
| 56 | + :style="[interfaceStore.globalGlassMenuStyles, !vehiclePosition ? { color: '#FFFFFF33' } : {}]" |
53 | 57 | v-bind="tooltipProps" |
54 | 58 | class="absolute m-3 bottom-button right-[124px] bg-slate-50 text-[14px]" |
55 | 59 | :class="!vehiclePosition ? 'active-events-on-disabled' : ''" |
|
69 | 73 | <template #activator="{ props: tooltipProps }"> |
70 | 74 | <v-btn |
71 | 75 | v-if="showButtons" |
| 76 | + :style="[interfaceStore.globalGlassMenuStyles, !vehicleStore.isVehicleOnline ? { color: '#FFFFFF33' } : {}]" |
72 | 77 | v-bind="tooltipProps" |
73 | 78 | class="absolute m-3 bottom-button right-[82px] bg-slate-50 text-[14px]" |
74 | 79 | :class="!vehicleStore.isVehicleOnline ? 'active-events-on-disabled' : ''" |
|
85 | 90 | <template #activator="{ props: tooltipProps }"> |
86 | 91 | <v-btn |
87 | 92 | v-if="showButtons" |
| 93 | + :style="[interfaceStore.globalGlassMenuStyles, !vehicleStore.isVehicleOnline ? { color: '#FFFFFF33' } : {}]" |
88 | 94 | v-bind="tooltipProps" |
89 | 95 | class="absolute mb-3 ml-1 bottom-button right-[52px] bg-slate-50 text-[14px]" |
90 | 96 | :class="!vehicleStore.isVehicleOnline ? 'active-events-on-disabled' : ''" |
@@ -248,6 +254,14 @@ let osmSaveBtn: HTMLAnchorElement | undefined |
248 | 254 | let seamarksSaveBtn: HTMLAnchorElement | undefined |
249 | 255 | const downloadMenuOpen = ref(false) |
250 | 256 |
|
| 257 | +const glassMenuCssVars = computed(() => ({ |
| 258 | + '--glass-background': interfaceStore.globalGlassMenuStyles.backgroundColor, |
| 259 | + '--glass-filter': interfaceStore.globalGlassMenuStyles.backdropFilter, |
| 260 | + '--glass-border': interfaceStore.globalGlassMenuStyles.border, |
| 261 | + '--glass-color': interfaceStore.globalGlassMenuStyles.color, |
| 262 | + '--glass-box-shadow': interfaceStore.globalGlassMenuStyles.boxShadow, |
| 263 | +})) |
| 264 | +
|
251 | 265 | const saveEsri = (): void => { |
252 | 266 | esriSaveBtn?.click() |
253 | 267 | downloadMenuOpen.value = false |
@@ -1512,13 +1526,64 @@ watch( |
1512 | 1526 | right: 260px; /* Position to the left of the buttons */ |
1513 | 1527 | background: rgba(255, 255, 255, 0.8); |
1514 | 1528 | border-radius: 1px; |
1515 | | - padding: 8px 8px; |
1516 | | - margin-bottom: 12px; |
1517 | | - box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), |
1518 | | - 0px 1px 5px 0px rgba(0, 0, 0, 0.12); |
| 1529 | + padding: 6px 6px; |
| 1530 | + background: var(--glass-background); |
| 1531 | + backdrop-filter: var(--glass-filter); |
| 1532 | + box-shadow: var(--glass-box-shadow); |
| 1533 | + color: var(--glass-color); |
| 1534 | + border: var(--glass-border); |
| 1535 | + font-weight: bolder; |
1519 | 1536 | } |
1520 | 1537 |
|
1521 | | -:deep(.leaflet-control-zoom) { |
| 1538 | +/* Style the Leaflet zoom control */ |
| 1539 | +:deep(.leaflet-control-zoom.leaflet-bar) { |
1522 | 1540 | bottom: v-bind('bottomButtonsDisplacement'); |
| 1541 | + background: var(--glass-background); |
| 1542 | + backdrop-filter: var(--glass-filter); |
| 1543 | + box-shadow: var(--glass-box-shadow); |
| 1544 | + color: var(--glass-color); |
| 1545 | + border: var(--glass-border); |
| 1546 | +} |
| 1547 | +
|
| 1548 | +:deep(.leaflet-control-zoom.leaflet-bar a) { |
| 1549 | + background: transparent !important; |
| 1550 | + border: none; |
| 1551 | + color: var(--glass-color); |
| 1552 | +} |
| 1553 | +
|
| 1554 | +:deep(.leaflet-control-zoom.leaflet-bar a:hover), |
| 1555 | +:deep(.leaflet-control-zoom.leaflet-bar a:focus) { |
| 1556 | + background: transparent !important; |
| 1557 | +} |
| 1558 | +
|
| 1559 | +/* Style the Leaflet layer provider selector */ |
| 1560 | +:deep(.leaflet-control-layers) { |
| 1561 | + background: var(--glass-background) !important; |
| 1562 | + backdrop-filter: var(--glass-filter) !important; |
| 1563 | + box-shadow: var(--glass-box-shadow) !important; |
| 1564 | + color: var(--glass-color) !important; |
| 1565 | + border: var(--glass-border) !important; |
| 1566 | + border-radius: 4px; |
| 1567 | +} |
| 1568 | +
|
| 1569 | +:deep(.leaflet-control-layers-expanded) { |
| 1570 | + background: var(--glass-background) !important; |
| 1571 | + backdrop-filter: var(--glass-filter) !important; |
| 1572 | + box-shadow: var(--glass-box-shadow) !important; |
| 1573 | + color: var(--glass-color) !important; |
| 1574 | + border: var(--glass-border) !important; |
| 1575 | +} |
| 1576 | +
|
| 1577 | +:deep(.leaflet-control-layers-list) { |
| 1578 | + background: transparent !important; |
| 1579 | + color: var(--glass-color) !important; |
| 1580 | +} |
| 1581 | +
|
| 1582 | +:deep(.leaflet-control-layers-selector) { |
| 1583 | + accent-color: var(--glass-color) !important; |
| 1584 | +} |
| 1585 | +
|
| 1586 | +:deep(.leaflet-control-layers label) { |
| 1587 | + color: var(--glass-color) !important; |
1523 | 1588 | } |
1524 | 1589 | </style> |
0 commit comments