Files
Reactive-Resume/packages/pdf/src/context.tsx
T
Amruth Pillai 50ba37a27f v5.1.0 (#2970)
* chore(release): v5.1.0

* feat: implement resume thumbnails

* fix: remove unused mcp tools

* docs: fix formatting of docs
2026-05-07 15:12:33 +02:00

29 lines
953 B
TypeScript

import type { ResumeData } from "@reactive-resume/schema/resume/data";
import type { ReactNode } from "react";
import type { SectionTitleResolver } from "./section-title";
import { createContext, useContext } from "react";
type RenderContextValue = ResumeData & {
resolveSectionTitle?: SectionTitleResolver | undefined;
};
const RenderContext = createContext<RenderContextValue | null>(null);
export type RenderProviderProps = {
data: ResumeData;
resolveSectionTitle?: SectionTitleResolver | undefined;
children: ReactNode;
};
export const RenderProvider = ({ data, resolveSectionTitle, children }: RenderProviderProps) => {
return <RenderContext.Provider value={{ ...data, resolveSectionTitle }}>{children}</RenderContext.Provider>;
};
export const useRender = (): RenderContextValue => {
const context = useContext(RenderContext);
if (!context) throw new Error("useRender must be called inside a <RenderProvider>.");
return context;
};