forked from
standard.site/standard.site
Standard.site landing page built in Next.js
1'use client'
2
3import { createContext, useContext } from 'react'
4
5interface DocsPageContext {
6 markdown: string | null
7 atUri: string | null
8}
9
10const DocsMarkdownContext = createContext<DocsPageContext>({ markdown: null, atUri: null })
11
12export function DocsMarkdownProvider({ markdown, atUri, children }: { markdown: string; atUri?: string; children: React.ReactNode }) {
13 return (
14 <DocsMarkdownContext.Provider value={{ markdown, atUri: atUri ?? null }}>
15 {children}
16 </DocsMarkdownContext.Provider>
17 )
18}
19
20export function useDocsMarkdown() {
21 return useContext(DocsMarkdownContext).markdown
22}
23
24export function useDocsAtUri() {
25 return useContext(DocsMarkdownContext).atUri
26}