Skip to content

Commit

Permalink
fix: navigation
Browse files Browse the repository at this point in the history
  • Loading branch information
turban committed Mar 4, 2025
1 parent 9d3d084 commit 1543ccb
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 18 deletions.
3 changes: 3 additions & 0 deletions src/hooks/useExploreUri.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,9 @@ const useExploreUri = () => {
referencePeriods.find((p) => p.id === referencePeriodId)
)
}
} else if (!store.tab) {
// Set tab if directly navigation to an url
store.setTab(tab)
}

return () => {
Expand Down
57 changes: 39 additions & 18 deletions src/store/exploreStore.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,44 @@ import {
MONTHLY,
} from '../utils/time.js'

const exploreStore = create((set) => ({
orgUnit: null,
tab: null,
periodType: MONTHLY,
dailyPeriod: getDefaultExplorePeriod(),
monthlyPeriod: getDefaultMonthlyPeriod(),
referencePeriod: defaultReferencePeriod,
month: getLastMonth()[1],
vegetationIndex: NDVI,
setOrgUnit: (orgUnit) => set({ orgUnit }),
setTab: (tab) => set({ tab }),
setPeriodType: (periodType) => set({ periodType }),
setDailyPeriod: (dailyPeriod) => set({ dailyPeriod }),
setMonthlyPeriod: (monthlyPeriod) => set({ monthlyPeriod }),
setReferencePeriod: (referencePeriod) => set({ referencePeriod }),
setMonth: (month) => set({ month }),
setVegetationIndex: (vegetationIndex) => set({ vegetationIndex }),
}))
const exploreStore = create((set) => {
const setIfChanged = (key) => (value) =>
set((state) => (state[key] !== value ? { [key]: value } : state))

const setIfPeriodChanged = (key) => (period) =>
set((state) =>
state[key].startTime !== period.startTime ||
state[key].endTime !== period.endTime
? { [key]: period }
: state
)

return {
orgUnit: null,
tab: null,
periodType: MONTHLY,
dailyPeriod: getDefaultExplorePeriod(),
monthlyPeriod: getDefaultMonthlyPeriod(),
referencePeriod: defaultReferencePeriod,
month: getLastMonth()[1],
vegetationIndex: NDVI,
// setOrgUnit: (orgUnit) => set({ orgUnit }),
// setTab: (tab) => set((state) => (state.tab !== tab ? { tab } : state)),
// setPeriodType: (periodType) => set({ periodType }),
// setDailyPeriod: (dailyPeriod) => set({ dailyPeriod }),
// setMonthlyPeriod: (monthlyPeriod) => set({ monthlyPeriod }),
// setReferencePeriod: (referencePeriod) => set({ referencePeriod }),
// setMonth: (month) => set({ month }),
// setVegetationIndex: (vegetationIndex) => set({ vegetationIndex }),
setOrgUnit: setIfChanged('orgUnit'),
setTab: setIfChanged('tab'),
setPeriodType: setIfChanged('periodType'),
setDailyPeriod: setIfPeriodChanged('dailyPeriod'),
setMonthlyPeriod: setIfPeriodChanged('monthlyPeriod'),
setReferencePeriod: setIfChanged('referencePeriod'),
setMonth: setIfChanged('month'),
setVegetationIndex: setIfChanged('vegetationIndex'),
}
})

export default exploreStore

0 comments on commit 1543ccb

Please sign in to comment.