mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-28 13:09:51 +01:00
feat: state parsing
This commit is contained in:
1 parent
acf36ec461
commit
33a0af1bcd
1 file changed
+24
-9
@@ -1,8 +1,11 @@
|
|||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { Code, Text } from '@radix-ui/themes';
|
import { Code, Heading } from '@radix-ui/themes';
|
||||||
|
import { useMemo } from 'react';
|
||||||
import PageWrapper from '../../../../../components/PageWrapper';
|
import PageWrapper from '../../../../../components/PageWrapper';
|
||||||
|
import * as EmbedState from '../../../../../stores/embedState';
|
||||||
import { configurations } from '../../configurations';
|
import { configurations } from '../../configurations';
|
||||||
|
import { extractEmbedConfigDefaults } from '../../utilities';
|
||||||
|
|
||||||
export interface EmbedPreviewControllerProps {
|
export interface EmbedPreviewControllerProps {
|
||||||
configKey: string;
|
configKey: string;
|
||||||
@@ -15,14 +18,26 @@ export default function Page({
|
|||||||
params: { embed: keyof typeof configurations };
|
params: { embed: keyof typeof configurations };
|
||||||
searchParams: { state: string };
|
searchParams: { state: string };
|
||||||
}) {
|
}) {
|
||||||
return (
|
const config = configurations[params.embed];
|
||||||
<PageWrapper>
|
const initialState = useMemo(
|
||||||
<Text>{params.embed}</Text>
|
() => ({
|
||||||
|
...extractEmbedConfigDefaults(config),
|
||||||
|
...(JSON.parse(searchParams.state) as EmbedState.EmbedState),
|
||||||
|
}),
|
||||||
|
[params.embed],
|
||||||
|
);
|
||||||
|
|
||||||
<Text></Text>
|
return (
|
||||||
<Code color="gray">
|
<EmbedState.Provider data={initialState}>
|
||||||
<pre>{JSON.stringify(JSON.parse(searchParams['state']), null, 2)}</pre>
|
<PageWrapper>
|
||||||
</Code>
|
<Heading>
|
||||||
</PageWrapper>
|
<Code>{params.embed}</Code>
|
||||||
|
</Heading>
|
||||||
|
|
||||||
|
<Code color="gray">
|
||||||
|
<pre>{JSON.stringify(initialState, null, 2)}</pre>
|
||||||
|
</Code>
|
||||||
|
</PageWrapper>
|
||||||
|
</EmbedState.Provider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user