mirror of
				https://github.com/owncast/owncast.git
				synced 2025-11-01 02:44:31 +08:00 
			
		
		
		
	 cc9286416c
			
		
	
	cc9286416c
	
	
	
		
			
			* chore: Update storybook to v9 * Pin next-export-i18n + remove outdated mock library * Replace old mocking library with MSW * Resolve knip unused code warnings
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { StoryFn, Meta } from '@storybook/nextjs';
 | |
| import { RecoilRoot } from 'recoil';
 | |
| import { http, HttpResponse } from 'msw';
 | |
| import { ChatModerationActionMenu } from './ChatModerationActionMenu';
 | |
| 
 | |
| const mockUserData = {
 | |
|           user: {
 | |
|             id: 'hjFPU967R',
 | |
|             displayName: 'focused-snyder',
 | |
|             displayColor: 2,
 | |
|             createdAt: '2022-07-12T13:08:31.406505322-07:00',
 | |
|             previousNames: ['focused-snyder'],
 | |
|             scopes: ['MODERATOR'],
 | |
|             isBot: false,
 | |
|             authenticated: false,
 | |
|           },
 | |
|           connectedClients: [
 | |
|             {
 | |
|               messageCount: 3,
 | |
|               userAgent:
 | |
|                 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36',
 | |
|               connectedAt: '2022-07-20T16:45:07.796685618-07:00',
 | |
|               geo: 'N/A',
 | |
|             },
 | |
|           ],
 | |
|           messages: [
 | |
|             {
 | |
|               id: 'bQp8UJR4R',
 | |
|               timestamp: '2022-07-20T16:53:41.938083228-07:00',
 | |
|               user: null,
 | |
|               body: 'test message 3',
 | |
|             },
 | |
|             {
 | |
|               id: 'ubK88Jg4R',
 | |
|               timestamp: '2022-07-20T16:53:39.675531279-07:00',
 | |
|               user: null,
 | |
|               body: 'test message 2',
 | |
|             },
 | |
|             {
 | |
|               id: '20v8UJRVR',
 | |
|               timestamp: '2022-07-20T16:53:37.551084121-07:00',
 | |
|               user: null,
 | |
|               body: 'test message 1',
 | |
|             },
 | |
|           ],
 | |
|         };
 | |
| 
 | |
| const meta = {
 | |
|   title: 'owncast/Chat/Moderation menu',
 | |
|   component: ChatModerationActionMenu,
 | |
|   parameters: {
 | |
|     msw: {
 | |
|       handlers: [
 | |
|         http.get('/api/moderation/chat/user/*', () => {
 | |
|           return HttpResponse.json(mockUserData);
 | |
|         }),
 | |
|       ],
 | |
|     },
 | |
|     docs: {
 | |
|       description: {
 | |
|         component: `This should be a popup that is activated from a user's chat message. It should have actions to:
 | |
| - Remove single message
 | |
| - Ban user completely
 | |
| - Open modal to see user details
 | |
|         `,
 | |
|       },
 | |
|     },
 | |
|   },
 | |
| } satisfies Meta<typeof ChatModerationActionMenu>;
 | |
| 
 | |
| export default meta;
 | |
| 
 | |
| const Template: StoryFn<typeof ChatModerationActionMenu> = () => (
 | |
|   <RecoilRoot>
 | |
|     <ChatModerationActionMenu
 | |
|       accessToken="abc123"
 | |
|       messageID="xxx"
 | |
|       userDisplayName="Fake-User"
 | |
|       userID="abc123"
 | |
|     />
 | |
|   </RecoilRoot>
 | |
| );
 | |
| 
 | |
| export const Basic = {
 | |
|   render: Template,
 | |
| };
 |