overleaf-cep/services/web/frontend/stories/chat.stories.jsx
Alf Eaton 2147f1d53d Remove Bootstrap 3 code from IDE page components (#23061)
GitOrigin-RevId: b41aff10672bf96e892de0be396a69eb25e2443b
2025-03-07 09:05:45 +00:00

58 lines
1.2 KiB
JavaScript

import ChatPane from '../js/features/chat/components/chat-pane'
import useFetchMock from './hooks/use-fetch-mock'
import { generateMessages } from './fixtures/chat-messages'
import { ScopeDecorator } from './decorators/scope'
import { UserProvider } from '@/shared/context/user-context'
export const Conversation = args => {
useFetchMock(fetchMock => {
fetchMock.get(/messages/, generateMessages(35)).post(/messages/, {})
})
return <ChatPane {...args} />
}
export const NoMessages = args => {
useFetchMock(fetchMock => {
fetchMock.get(/messages/, [])
})
return <ChatPane {...args} />
}
export const Loading = args => {
useFetchMock(fetchMock => {
fetchMock.get(/messages/, generateMessages(6), {
delay: 1000 * 10,
})
})
return <ChatPane {...args} />
}
export const LoadingError = args => {
useFetchMock(fetchMock => {
fetchMock.get(/messages/, 500)
})
return <ChatPane {...args} />
}
export default {
title: 'Editor / Chat',
component: ChatPane,
argTypes: {
resetUnreadMessages: { action: 'resetUnreadMessages' },
},
args: {
resetUnreadMessages: () => {},
},
decorators: [
ScopeDecorator,
Story => (
<UserProvider>
<Story />
</UserProvider>
),
],
}