Skip to content

Commit 62e2809

Browse files
committed
refactor: set explorer mode feature flag in store #403
1 parent 8faecf6 commit 62e2809

15 files changed

+9
-38
lines changed

components/Home/Embedded.vue

-6
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,6 @@ onMounted(() => {
7474
//
7575
// Computed
7676
//
77-
const explorerModeEnabled = computed(() => {
78-
return settings!.themes[0]?.explorer_mode ?? true
79-
})
80-
8177
const filters = computed(() => {
8278
return route.query.menuItemIds
8379
? route.query.menuItemIds
@@ -189,7 +185,6 @@ function toggleExploreAroundSelectedPoi() {
189185
<PoiCardContent
190186
:details-is-external="true"
191187
:poi="selectedFeature"
192-
:explorer-mode-enabled="explorerModeEnabled"
193188
:favorites-mode-enabled="false"
194189
@explore-click="toggleExploreAroundSelectedPoi"
195190
@zoom-click="goToSelectedFeature"
@@ -209,7 +204,6 @@ function toggleExploreAroundSelectedPoi() {
209204
:features="mapFeatures"
210205
:selected-categories-ids="selectedCategoryIds"
211206
:style-icon-filter="poiFilters"
212-
:explorer-mode-enabled="explorerModeEnabled"
213207
:cooperative-gestures="false"
214208
:boundary-area="boundaryArea || settings!.polygon.data"
215209
/>

components/Home/Home.vue

-8
Original file line numberDiff line numberDiff line change
@@ -143,10 +143,6 @@ onMounted(async () => {
143143
//
144144
// Computed
145145
//
146-
const explorerModeEnabled = computed(() => {
147-
return settings!.themes[0]?.explorer_mode ?? true
148-
})
149-
150146
const favoritesModeEnabled = computed(() => {
151147
return settings!.themes[0]?.favorites_mode ?? true
152148
})
@@ -565,7 +561,6 @@ function handlePoiCardClose() {
565561
:explore-around-selected-poi="toggleExploreAroundSelectedPoi"
566562
:go-to-selected-poi="goToSelectedFeature"
567563
:toggle-favorite="toggleFavorite"
568-
:explorer-mode-enabled="explorerModeEnabled"
569564
@toggle-favorite-mode="toggleFavoriteMode"
570565
@toggle-note-book-mode="toggleNoteBookMode"
571566
/>
@@ -590,7 +585,6 @@ function handlePoiCardClose() {
590585
:features="mapFeatures"
591586
:selected-categories-ids="isModeExplorer ? [] : selectedCategoryIds"
592587
:style-icon-filter="poiFilters"
593-
:explorer-mode-enabled="explorerModeEnabled"
594588
:enable-filter-route-by-categories="!isModeFavorites"
595589
:enable-filter-route-by-features="isModeFavorites"
596590
:boundary-area="boundaryArea || settings!.polygon.data"
@@ -630,7 +624,6 @@ function handlePoiCardClose() {
630624
"
631625
:poi="selectedFeature"
632626
class="tw-grow-0"
633-
:explorer-mode-enabled="explorerModeEnabled"
634627
:favorites-mode-enabled="favoritesModeEnabled"
635628
@explore-click="toggleExploreAroundSelectedPoi(undefined)"
636629
@favorite-click="toggleFavorite"
@@ -661,7 +654,6 @@ function handlePoiCardClose() {
661654
"
662655
:poi="selectedFeature"
663656
class="tw-grow-0 tw-text-left tw-h-full"
664-
:explorer-mode-enabled="explorerModeEnabled"
665657
:favorites-mode-enabled="favoritesModeEnabled"
666658
@explore-click="toggleExploreAroundSelectedPoi(undefined)"
667659
@favorite-click="toggleFavorite"

components/MainMap/FavoriteMenu.vue

-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import { favoriteStore as useFavoriteStore } from '~/stores/favorite'
1111
1212
const props = defineProps<{
1313
exploreAroundSelectedPoi: Function
14-
explorerModeEnabled: boolean
1514
goToSelectedPoi: Function
1615
toggleFavorite: Function
1716
}>()
@@ -108,7 +107,6 @@ async function toggleNoteBookMode() {
108107
max-width="80rem"
109108
>
110109
<FavoriteNoteBook
111-
:explorer-mode-enabled="explorerModeEnabled"
112110
@explore-click="explore"
113111
@favorite-click="handleFavorite"
114112
@zoom-click="onZoomClick"

components/MainMap/FavoriteNoteBook.vue

-5
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,6 @@ import type { ApiPoi } from '~/lib/apiPois'
1010
import { favoriteStore as useFavoriteStore } from '~/stores/favorite'
1111
import { siteStore as useSiteStore } from '~/stores/site'
1212
13-
defineProps<{
14-
explorerModeEnabled: boolean
15-
}>()
16-
1713
defineEmits<{
1814
(e: 'onClose'): void
1915
(e: 'exploreClick', poi: ApiPoi): void
@@ -131,7 +127,6 @@ function removeFavorites() {
131127
<PoisDeck
132128
:pois="favoriteFeatures"
133129
:is-card-light="false"
134-
:explorer-mode-enabled="explorerModeEnabled"
135130
:favorites-mode-enabled="true"
136131
class="tw-pb-4"
137132
@explore-click="$emit('exploreClick', $event)"

components/MainMap/MapFeatures.stories.ts

-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ const defaultProps = {
3939
},
4040
} as ApiMenuCategory,
4141
],
42-
explorerModeEnabled: false,
4342
}
4443

4544
export const Default = bind(

components/MainMap/MapFeatures.story.vue

-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ const defaultProps = {
3434
},
3535
} as ApiMenuCategory,
3636
],
37-
explorerModeEnabled: false,
3837
}
3938
4039
const feature1: ApiPoi = {

components/MainMap/MapFeatures.vue

+4-5
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,6 @@ export default defineNuxtComponent({
9494
type: Array as PropType<Array<string[]> | null>,
9595
default: null,
9696
},
97-
explorerModeEnabled: {
98-
type: Boolean,
99-
required: true,
100-
},
10197
enableFilterRouteByCategories: {
10298
type: Boolean,
10399
default: true,
@@ -122,7 +118,9 @@ export default defineNuxtComponent({
122118
123119
setup() {
124120
const device = useDevice()
125-
const { config } = storeToRefs(useSiteStore())
121+
const siteStore = useSiteStore()
122+
const { config } = siteStore
123+
const { explorerModeEnabled } = storeToRefs(useSiteStore())
126124
const mapStore = useMapStore()
127125
const { center, selectedFeature, teritorioCluster } = storeToRefs(mapStore)
128126
const mapStyleLoaded = ref(false)
@@ -131,6 +129,7 @@ export default defineNuxtComponent({
131129
center,
132130
config,
133131
device,
132+
explorerModeEnabled,
134133
mapBase: ref<InstanceType<typeof MapBase>>(),
135134
mapStore,
136135
mapStyleLoaded,

components/PoisCard/PoiCard.stories.ts

-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ export default {
1111

1212
const defaultProps = {
1313
poi,
14-
explorerModeEnabled: false,
1514
favoritesModeEnabled: false,
1615
}
1716

components/PoisCard/PoiCard.story.vue

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import type { ApiPoi } from '~/lib/apiPois'
55
66
const defaultProps = {
77
poi: poi as ApiPoi,
8-
explorerModeEnabled: false,
98
favoritesModeEnabled: false,
109
}
1110

components/PoisCard/PoiCard.vue

-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import type { ApiPoi } from '~/lib/apiPois'
1111
withDefaults(defineProps<{
1212
canClose?: boolean
1313
poi: ApiPoi
14-
explorerModeEnabled: boolean
1514
favoritesModeEnabled: boolean
1615
showImage?: boolean
1716
}>(), {
@@ -85,7 +84,6 @@ const closeBtnStyles = reactive({
8584

8685
<PoiCardContent
8786
:poi="poi"
88-
:explorer-mode-enabled="explorerModeEnabled"
8987
:favorites-mode-enabled="favoritesModeEnabled"
9088
class="tw-px-4 tw-py-5 tw-flex tw-flex-col md:tw-overflow-y-auto tw-flex-grow md:tw-max-h-full tw-box-border tw-w-full md:tw-h-80 md:tw-w-96"
9189
@explore-click="$emit('exploreClick', $event)"

components/PoisCard/PoiCardContent.vue

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import type { ApiPoi } from '~/lib/apiPois'
88
import { coordinatesHref } from '~/lib/coordinates'
99
import { favoriteStore as useFavoriteStore } from '~/stores/favorite'
1010
import { mapStore as useMapStore } from '~/stores/map'
11+
import { siteStore as useSiteStore } from '~/stores/site'
1112
import ContribFieldGroup from '~/components/Fields/ContribFieldGroup.vue'
1213
import useDevice from '~/composables/useDevice'
1314
import IsochroneTrigger from '~/components/Isochrone/IsochroneTrigger.vue'
@@ -17,7 +18,6 @@ import IsochroneTrigger from '~/components/Isochrone/IsochroneTrigger.vue'
1718
//
1819
const props = withDefaults(defineProps<{
1920
detailsIsExternal?: boolean
20-
explorerModeEnabled: boolean
2121
favoritesModeEnabled: boolean
2222
poi: ApiPoi
2323
}>(), {
@@ -44,6 +44,7 @@ const { isModeExplorer } = storeToRefs(useMapStore())
4444
const device = useDevice()
4545
const { enabled: isochroneEnabled, isochroneCurrentFeature } = useIsochrone()
4646
const { featureName, featureCategoryName } = useFeature(toRef(() => props.poi), { type: 'popup' })
47+
const { explorerModeEnabled } = storeToRefs(useSiteStore())
4748
4849
//
4950
// Data

components/PoisCard/PoisDeck.stories.ts

-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ const defaultProps = {
2525
),
2626
),
2727
selectedPoiIds: points.map(feature => feature.properties.id),
28-
explorerModeEnabled: false,
2928
favoritesModeEnabled: false,
3029
}
3130

components/PoisCard/PoisDeck.story.vue

-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ const defaultProps = {
1818
),
1919
),
2020
selectedPoiIds: points.map(feature => feature.properties.id as ApiPoiId),
21-
explorerModeEnabled: false,
2221
favoritesModeEnabled: false,
2322
isCardLight: true,
2423
}

components/PoisCard/PoisDeck.vue

-3
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,10 @@ import PoiCard from '~/components/PoisCard/PoiCard.vue'
44
import PoiCardLight from '~/components/PoisCard/PoiCardLight.vue'
55
66
withDefaults(defineProps<{
7-
explorerModeEnabled?: boolean
87
favoritesModeEnabled?: boolean
98
pois: ApiPoi[]
109
isCardLight: boolean
1110
}>(), {
12-
explorerModeEnabled: false,
1311
favoritesModeEnabled: false,
1412
})
1513
@@ -38,7 +36,6 @@ defineEmits<{
3836
:can-close="false"
3937
:poi="item"
4038
class="tw-grow-1 poi-deck"
41-
:explorer-mode-enabled="explorerModeEnabled"
4239
:favorites-mode-enabled="favoritesModeEnabled"
4340
@explore-click="$emit('exploreClick', $event)"
4441
@favorite-click="$emit('favoriteClick', $event)"

stores/site.ts

+3
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import type { VidoConfig } from '~/utils/types-config'
88
interface State {
99
locale: string | null
1010
config: VidoConfig | undefined
11+
explorerModeEnabled: boolean
1112
settings: Settings | undefined
1213
contents: ContentEntry[] | undefined
1314
translations: PropertyTranslations | undefined
@@ -17,6 +18,7 @@ export const siteStore = defineStore('site', {
1718
state: (): State => ({
1819
locale: null,
1920
config: undefined,
21+
explorerModeEnabled: false,
2022
settings: undefined,
2123
contents: undefined,
2224
translations: undefined,
@@ -25,6 +27,7 @@ export const siteStore = defineStore('site', {
2527
async init(headers: Record<string, string>) {
2628
this.config = vidoConfig(headers)
2729
this.settings = await getSettings(this.config)
30+
this.explorerModeEnabled = this.settings?.themes[0]?.explorer_mode || true
2831
this.contents = await getContents(this.config)
2932
this.translations = await getPropertyTranslations(this.config)
3033
},

0 commit comments

Comments
 (0)