The Node.js® Website
1'use client';
2
3import { createContext } from 'react';
4import type { FC, PropsWithChildren } from 'react';
5
6import type { ClientSharedServerContext } from '@/types';
7import { assignClientContext } from '@/util/assignClientContext';
8
9export const MatterContext = createContext<ClientSharedServerContext>(
10 assignClientContext({})
11);
12
13type MatterProviderProps = PropsWithChildren<
14 Partial<ClientSharedServerContext>
15>;
16
17export const MatterProvider: FC<MatterProviderProps> = ({
18 children,
19 ...data
20}) => (
21 <MatterContext.Provider value={assignClientContext(data)}>
22 {children}
23 </MatterContext.Provider>
24);