From a041baad753077ded583fe8254be73fa348e62aa Mon Sep 17 00:00:00 2001 From: Caio Carvalho <21188280+ccrvlh@users.noreply.github.com> Date: Fri, 18 Oct 2024 23:38:26 -0300 Subject: [PATCH] feat: time unit utils --- src/components/messages.ts | 1 + src/lib/constants.ts | 2 ++ src/store/app.ts | 11 +++++++++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/components/messages.ts b/src/components/messages.ts index f711a4f6c..12eede594 100644 --- a/src/components/messages.ts +++ b/src/components/messages.ts @@ -70,6 +70,7 @@ export const labels = defineMessages({ confirmPassword: { id: 'label.confirm-password', defaultMessage: 'Confirm password' }, timezone: { id: 'label.timezone', defaultMessage: 'Timezone' }, defaultDateRange: { id: 'label.default-date-range', defaultMessage: 'Default date range' }, + timeUnit: { id: 'label.time-unit', defaultMessage: 'Time Unit' }, language: { id: 'label.language', defaultMessage: 'Language' }, theme: { id: 'label.theme', defaultMessage: 'Theme' }, profile: { id: 'label.profile', defaultMessage: 'Profile' }, diff --git a/src/lib/constants.ts b/src/lib/constants.ts index 5d3a9776b..bb6f0b010 100644 --- a/src/lib/constants.ts +++ b/src/lib/constants.ts @@ -4,6 +4,7 @@ export const AUTH_TOKEN = 'umami.auth'; export const LOCALE_CONFIG = 'umami.locale'; export const TIMEZONE_CONFIG = 'umami.timezone'; export const DATE_RANGE_CONFIG = 'umami.date-range'; +export const TIME_UNIT_CONFIG = 'umami.time-range'; export const THEME_CONFIG = 'umami.theme'; export const DASHBOARD_CONFIG = 'umami.dashboard'; export const VERSION_CHECK = 'umami.version-check'; @@ -17,6 +18,7 @@ export const DEFAULT_LOCALE = process.env.defaultLocale || 'en-US'; export const DEFAULT_THEME = 'light'; export const DEFAULT_ANIMATION_DURATION = 300; export const DEFAULT_DATE_RANGE = '24hour'; +export const DEFAULT_TIME_UNIT = '1hour'; export const DEFAULT_WEBSITE_LIMIT = 10; export const DEFAULT_RESET_DATE = '2000-01-01'; export const DEFAULT_PAGE_SIZE = 10; diff --git a/src/store/app.ts b/src/store/app.ts index 4d547d4e8..54f061292 100644 --- a/src/store/app.ts +++ b/src/store/app.ts @@ -1,15 +1,17 @@ -import { create } from 'zustand'; import { DATE_RANGE_CONFIG, DEFAULT_DATE_RANGE, DEFAULT_LOCALE, DEFAULT_THEME, + DEFAULT_TIME_UNIT, LOCALE_CONFIG, THEME_CONFIG, + TIME_UNIT_CONFIG, TIMEZONE_CONFIG, } from 'lib/constants'; -import { getItem } from 'next-basics'; import { getTimezone } from 'lib/date'; +import { getItem } from 'next-basics'; +import { create } from 'zustand'; function getDefaultTheme() { return typeof window !== 'undefined' @@ -24,6 +26,7 @@ const initialState = { theme: getItem(THEME_CONFIG) || getDefaultTheme() || DEFAULT_THEME, timezone: getItem(TIMEZONE_CONFIG) || getTimezone(), dateRange: getItem(DATE_RANGE_CONFIG) || DEFAULT_DATE_RANGE, + timeUnit: getItem(TIME_UNIT_CONFIG) || DEFAULT_TIME_UNIT, shareToken: null, user: null, config: null, @@ -59,4 +62,8 @@ export function setDateRange(dateRange: string | object) { store.setState({ dateRange }); } +export function setTimeUnit(timeUnit: string | object) { + store.setState({ timeUnit }); +} + export default store;