Skip to content

Commit

Permalink
take ws status from constants
Browse files Browse the repository at this point in the history
  • Loading branch information
danieleguido committed Oct 7, 2024
1 parent f334517 commit e146b38
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 11 deletions.
8 changes: 8 additions & 0 deletions src/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,17 @@ export const PlanAcademicUserPlus = "academic-user-plus"
export const BrowserViewLogin = "login"
export const BrowserViewSignup = "signup"

export const BrowserViews: string[] = [BrowserViewLogin, BrowserViewSignup]

export const BrowserWsStatusIdle = "idle"
export const BrowserWsStatusConnecting = "connecting"
export const BrowserWsStatusConnected = "connected"
export const BrowserWsStatusClosed = "closed"

export const AccessTokenKey = "feathers-jwt"
export const BrowserWsStatuses: string[] = [
BrowserWsStatusIdle,
BrowserWsStatusConnecting,
BrowserWsStatusConnected,
BrowserWsStatusClosed,
]
25 changes: 14 additions & 11 deletions src/store.tsx
Original file line number Diff line number Diff line change
@@ -1,28 +1,31 @@
import { create } from "zustand"
import { createJSONStorage, persist } from "zustand/middleware"
import type { User } from "./components/UserCard"
import { AccessTokenKey } from "./constants"
import {
AccessTokenKey,
BrowserWsStatuses,
BrowserWsStatusIdle,
BrowserViews,
} from "./constants"

interface PersistentStoreState {
user: User | null
token: string | null
setAuthenticatedUser: (user: User | null, token: string | null) => void
setAuthenticatedUser: (user: User, token: string) => void
setUser: (user: User | null) => void
setToken: (token: string | null) => void
reset: () => void
}

export const useBrowserStore = create<{
view: string | null
setView: (view: string | null) => void
wsStatus: "idle" | "connecting" | "connected" | "closed"
setWsStatus: (
wsStatus: "idle" | "connecting" | "connected" | "closed"
) => void
view: (typeof BrowserViews)[number] | null
setView: (view: (typeof BrowserViews)[number] | null) => void
wsStatus: (typeof BrowserWsStatuses)[number]
setWsStatus: (wsStatus: (typeof BrowserWsStatuses)[number]) => void
}>((set) => ({
view: null,
setView: (view) => set({ view }),
wsStatus: "idle",
wsStatus: BrowserWsStatusIdle,
setWsStatus: (wsStatus) => set({ wsStatus }),
}))

Expand Down Expand Up @@ -65,8 +68,8 @@ export const usePersistentStore = create<
{
name: "impresso-datalab",
storage: createJSONStorage(() => localStorage), // (optional) by default, 'localStorage' is used
}
)
},
),
)

// get fresh data from the localstorage
Expand Down

0 comments on commit e146b38

Please sign in to comment.