Underground-Digital/Workflow-Engine
0
1'use client'2 3import { createContext, useContext } from 'use-context-selector'4import useSWR from 'swr'5import { fetchWorkspaces } from '@/service/common'6import type { IWorkspace } from '@/models/common'7 8export type WorkspacesContextValue = {9 workspaces: IWorkspace[]10}11 12const WorkspacesContext = createContext<WorkspacesContextValue>({13 workspaces: [],14})15 16type IWorkspaceProviderProps = {17 children: React.ReactNode18}19 20export const WorkspaceProvider = ({21 children,22}: IWorkspaceProviderProps) => {23 const { data } = useSWR({ url: '/workspaces' }, fetchWorkspaces)24 25 return (26 <WorkspacesContext.Provider value={{27 workspaces: data?.workspaces || [],28 }}>29 {children}30 </WorkspacesContext.Provider>31 )32}33 34export const useWorkspacesContext = () => useContext(WorkspacesContext)35 36export default WorkspacesContext37 