Tracking WIP
This commit is contained in:
@@ -5,11 +5,20 @@ import { create } from "zustand"
|
||||
interface TrackingStoreState {
|
||||
hasRun: boolean
|
||||
setHasRun: () => void
|
||||
initialStartTime: number
|
||||
setInitialPageLoadTime: (time: number) => void
|
||||
getPageLoadTime: () => number
|
||||
}
|
||||
|
||||
const useTrackingStore = create<TrackingStoreState>((set) => ({
|
||||
const useTrackingStore = create<TrackingStoreState>((set, get) => ({
|
||||
hasRun: false,
|
||||
initialStartTime: Date.now(),
|
||||
setInitialPageLoadTime: (time) => set({ initialStartTime: time }),
|
||||
setHasRun: () => set(() => ({ hasRun: true })),
|
||||
getPageLoadTime: () => {
|
||||
const { initialStartTime } = get()
|
||||
return (Date.now() - initialStartTime) / 1000
|
||||
},
|
||||
}))
|
||||
|
||||
export default useTrackingStore
|
||||
|
||||
Reference in New Issue
Block a user