keycloak-theme/src/login/PageStory.tsx

44 lines
1.2 KiB
TypeScript
Raw Normal View History

2024-06-06 01:44:57 +02:00
import type { DeepPartial } from "keycloakify/tools/DeepPartial";
2024-06-06 05:26:06 +02:00
import type { KcContext } from "./KcContext";
2024-06-06 01:44:57 +02:00
import KcApp from "./KcApp";
2024-06-06 06:40:12 +02:00
import { createGetKcContextMock } from "keycloakify/login/KcContext";
2024-06-06 01:44:57 +02:00
import type {
KcContextExtraProperties,
KcContextExtraPropertiesPerPage
2024-06-06 05:26:06 +02:00
} from "./KcContext";
2024-06-06 01:44:57 +02:00
const kcContextExtraProperties: KcContextExtraProperties = {};
const kcContextExtraPropertiesPerPage: KcContextExtraPropertiesPerPage = {};
export const { getKcContextMock } = createGetKcContextMock({
kcContextExtraProperties,
kcContextExtraPropertiesPerPage,
overrides: {},
overridesPerPage: {}
});
2024-06-06 05:26:06 +02:00
export function createPageStory<PageId extends KcContext["pageId"]>(params: {
pageId: PageId;
}) {
2024-06-06 01:44:57 +02:00
const { pageId } = params;
2024-06-06 05:26:06 +02:00
function PageStory(props: {
kcContext?: DeepPartial<Extract<KcContext, { pageId: PageId }>>;
}) {
2024-06-06 01:44:57 +02:00
const { kcContext: overrides } = props;
const kcContextMock = getKcContextMock({
pageId,
overrides
});
return (
<>
<KcApp kcContext={kcContextMock} />
</>
);
}
return { PageStory };
}