diff --git a/src/Components/Profile/templateComponents/TemplatePopupButton.tsx b/src/Components/Profile/templateComponents/TemplatePopupButton.tsx new file mode 100644 index 00000000..405e57af --- /dev/null +++ b/src/Components/Profile/templateComponents/TemplatePopupButton.tsx @@ -0,0 +1,24 @@ +import { useContext } from 'react' + +import { PopupButton } from '#components/Map' + +import { Templateify } from './Templateify' +import ItemContext from './TemplateItemContext' + +import type { JSXElementConstructor } from 'react' + +type OmitItem> = Omit< + React.ComponentProps, + 'item' +> + +/** + * @category Map + */ +export const TemplatePopupButton = (props: OmitItem) => { + const item = useContext(ItemContext) + + return +} + +export const TemplatePopupButton2 = Templateify(PopupButton) diff --git a/src/Components/Profile/templateComponents/Templateify.tsx b/src/Components/Profile/templateComponents/Templateify.tsx new file mode 100644 index 00000000..ae1532a2 --- /dev/null +++ b/src/Components/Profile/templateComponents/Templateify.tsx @@ -0,0 +1,23 @@ +import { useContext } from 'react' + +import ItemContext from './TemplateItemContext' + +import type { Item } from '#types/Item' +import type { JSXElementConstructor } from 'react' + +type OmitItem> = Omit< + React.ComponentProps, + 'item' +> + +export function Templateify< + T extends keyof React.JSX.IntrinsicElements | JSXElementConstructor, +>(Component: React.JSXElementConstructor>) { + const TemplateComponent = (props: OmitItem) => { + const item = useContext(ItemContext) + + return + } + + return TemplateComponent +}