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