Spaces:
Build error
Build error
'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 | |