| 123456789101112131415161718192021222324252627282930313233343536 | 
							- 'use client'
 - 
 - import { createContext, useContext } from 'use-context-selector'
 - import useSWR from 'swr'
 - import { fetchWorkspaces } from '@/service/common'
 - import type { IWorkspace } from '@/models/common'
 - 
 - export type WorkspacesContextValue = {
 -   workspaces: IWorkspace[]
 - }
 - 
 - const WorkspacesContext = createContext<WorkspacesContextValue>({
 -   workspaces: [],
 - })
 - 
 - type IWorkspaceProviderProps = {
 -   children: React.ReactNode
 - }
 - 
 - export const WorkspaceProvider = ({
 -   children,
 - }: IWorkspaceProviderProps) => {
 -   const { data } = useSWR({ url: '/workspaces' }, fetchWorkspaces)
 - 
 -   return (
 -     <WorkspacesContext.Provider value={{
 -       workspaces: data?.workspaces || [],
 -     }}>
 -       {children}
 -     </WorkspacesContext.Provider>
 -   )
 - }
 - 
 - export const useWorkspacesContext = () => useContext(WorkspacesContext)
 - 
 - export default WorkspacesContext
 
 
  |