| 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
 
 
  |