36 lines
1.1 KiB
TypeScript
Raw Normal View History

2023-04-20 02:52:49 +02:00
import React from "react";
2024-06-05 22:48:13 +02:00
import type { KcContext } from "./KcContext";
2023-04-20 02:52:49 +02:00
import KcApp from "./KcApp";
import type { DeepPartial } from "../../dist/tools/DeepPartial";
2024-06-06 07:28:34 +02:00
import { createGetKcContextMock } from "../../dist/account/KcContext";
2024-06-05 22:48:13 +02:00
import type { KcContextExtraProperties, KcContextExtraPropertiesPerPage } from "./KcContext";
const kcContextExtraProperties: KcContextExtraProperties = {};
const kcContextExtraPropertiesPerPage: KcContextExtraPropertiesPerPage = {};
export const { getKcContextMock } = createGetKcContextMock({
kcContextExtraProperties,
kcContextExtraPropertiesPerPage
});
2023-04-20 02:52:49 +02:00
export function createPageStory<PageId extends KcContext["pageId"]>(params: { pageId: PageId }) {
const { pageId } = params;
function PageStory(props: { kcContext?: DeepPartial<Extract<KcContext, { pageId: PageId }>> }) {
const { kcContext: overrides } = props;
const kcContextMock = getKcContextMock({
pageId,
overrides
2023-04-20 02:52:49 +02:00
});
2024-06-05 06:10:11 +02:00
return (
<React.StrictMode>
<KcApp kcContext={kcContextMock} />
</React.StrictMode>
);
2023-04-20 02:52:49 +02:00
}
return { PageStory };
}