accounts/dashboard/cms/content/ContentContext.tsx

27 lines
699 B
TypeScript

'use client'
import { createContext, type ReactNode, useContext, useMemo } from 'react'
import { listContentSourcesMetadata } from '../contentSources'
type ContentSourceState = {
namespace: string
type: 'filesystem' | 'git'
repository?: string
ref?: string
}
const MarkdownContentContext = createContext<ContentSourceState[]>([])
export function MarkdownContentProvider({ children }: { children: ReactNode }) {
const sources = useMemo(() => {
return listContentSourcesMetadata()
}, [])
return <MarkdownContentContext.Provider value={sources}>{children}</MarkdownContentContext.Provider>
}
export function useMarkdownSources() {
return useContext(MarkdownContentContext)
}