Team Ai
Apppublic

Underground-Digital/Workflow-Engine

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
workspace-context.tsx37 linesDownload Raw Back to context
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