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