| 1234567891011121314151617181920212223242526272829303132333435 | 
							- '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: []
 
- })
 
- interface 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
 
 
  |