2023-04-20 02:52:49 +02:00
|
|
|
import React from "react";
|
|
|
|
import type { DeepPartial } from "../../dist/tools/DeepPartial";
|
2024-06-09 08:27:07 +02:00
|
|
|
import type { KcContext } from "./KcContext";
|
2024-06-06 07:28:34 +02:00
|
|
|
import { createGetKcContextMock } from "../../dist/account/KcContext";
|
2024-06-09 08:27:07 +02:00
|
|
|
import type { KcContextExtension, KcContextExtensionPerPage } from "./KcContext";
|
2024-06-09 11:53:25 +02:00
|
|
|
import KcPage from "./KcPage";
|
2024-06-09 08:27:07 +02:00
|
|
|
import { themeNames, kcEnvDefaults } from "../kc.gen";
|
2024-06-05 21:13:58 +02:00
|
|
|
|
2024-06-09 08:27:07 +02:00
|
|
|
const kcContextExtension: KcContextExtension = {
|
|
|
|
themeName: themeNames[0],
|
|
|
|
properties: {
|
|
|
|
...kcEnvDefaults
|
|
|
|
}
|
|
|
|
};
|
|
|
|
const kcContextExtensionPerPage: KcContextExtensionPerPage = {};
|
2024-06-05 21:13:58 +02:00
|
|
|
|
|
|
|
export const { getKcContextMock } = createGetKcContextMock({
|
2024-06-09 08:27:07 +02:00
|
|
|
kcContextExtension,
|
|
|
|
kcContextExtensionPerPage,
|
|
|
|
overrides: {},
|
|
|
|
overridesPerPage: {}
|
2024-06-05 21:13:58 +02:00
|
|
|
});
|
2023-04-20 02:52:49 +02:00
|
|
|
|
2024-06-09 11:53:25 +02:00
|
|
|
export function createKcPageStory<PageId extends KcContext["pageId"]>(params: { pageId: PageId }) {
|
2023-04-20 02:52:49 +02:00
|
|
|
const { pageId } = params;
|
|
|
|
|
2024-06-09 11:53:25 +02:00
|
|
|
function KcPageStory(props: { kcContext?: DeepPartial<Extract<KcContext, { pageId: PageId }>> }) {
|
2024-06-03 18:28:34 +02:00
|
|
|
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>
|
2024-06-09 11:53:25 +02:00
|
|
|
<KcPage kcContext={kcContextMock} />
|
2024-06-05 06:10:11 +02:00
|
|
|
</React.StrictMode>
|
|
|
|
);
|
2023-04-20 02:52:49 +02:00
|
|
|
}
|
|
|
|
|
2024-06-09 11:53:25 +02:00
|
|
|
return { KcPageStory };
|
2023-04-20 02:52:49 +02:00
|
|
|
}
|