buster/web/.storybook/preview.tsx

56 lines
1.4 KiB
TypeScript
Raw Normal View History

2025-02-22 07:05:50 +08:00
import React from 'react';
2025-02-22 05:13:15 +08:00
import type { Preview } from '@storybook/react';
2025-03-04 01:35:57 +08:00
2025-03-04 02:46:51 +08:00
import { initialize, mswLoader } from 'msw-storybook-addon';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
2025-02-22 07:05:50 +08:00
import { BusterStyleProvider } from '../src/context/BusterStyles/BusterStyles';
2025-03-22 03:27:07 +08:00
import { BusterAssetsProvider } from '../src/context/Assets/BusterAssetsProvider';
2025-02-22 05:13:15 +08:00
import '../src/styles/styles.scss';
2025-03-04 02:46:51 +08:00
initialize();
2025-02-22 05:13:15 +08:00
const preview: Preview = {
parameters: {
controls: {
2025-03-13 00:48:21 +08:00
expanded: true,
2025-02-22 05:13:15 +08:00
matchers: {
color: /(background|color)$/i,
date: /Date$/i
}
2025-03-04 01:35:57 +08:00
},
backgrounds: {
values: [
// 👇 Default values
{ name: 'Dark', value: '#333' },
{ name: 'Light', value: '#FFFFFF' }
],
// 👇 Specify which background is shown by default
default: 'Light'
2025-02-22 05:13:15 +08:00
}
2025-02-22 07:05:50 +08:00
},
2025-03-04 02:46:51 +08:00
loaders: [mswLoader],
2025-02-22 07:05:50 +08:00
decorators: [
(Story) => {
2025-03-04 02:46:51 +08:00
const queryClient = new QueryClient({
defaultOptions: {
queries: {
gcTime: 0,
staleTime: 0
}
}
});
2025-02-22 07:05:50 +08:00
return (
2025-03-04 01:35:57 +08:00
<BusterStyleProvider>
2025-03-04 02:46:51 +08:00
<QueryClientProvider client={queryClient}>
2025-03-22 03:27:07 +08:00
<BusterAssetsProvider>
<Story />
</BusterAssetsProvider>
2025-03-04 02:46:51 +08:00
</QueryClientProvider>
2025-03-04 01:35:57 +08:00
</BusterStyleProvider>
2025-02-22 07:05:50 +08:00
);
}
]
2025-02-22 05:13:15 +08:00
};
export default preview;