diff --git a/web/components/modals/NameChangeModal/NameChangeModal.stories.tsx b/web/components/modals/NameChangeModal/NameChangeModal.stories.tsx index 0e34f9b64..ef5c6fdc0 100644 --- a/web/components/modals/NameChangeModal/NameChangeModal.stories.tsx +++ b/web/components/modals/NameChangeModal/NameChangeModal.stories.tsx @@ -1,20 +1,41 @@ -import React from 'react'; +import React, { useEffect } from 'react'; import { ComponentStory, ComponentMeta } from '@storybook/react'; -import { RecoilRoot } from 'recoil'; +import { RecoilRoot, useSetRecoilState } from 'recoil'; import { NameChangeModal } from './NameChangeModal'; +import { CurrentUser } from '../../../interfaces/current-user'; +import { currentUserAtom } from '../../stores/ClientConfigStore'; export default { - title: 'owncast/Modals/Name change', + title: 'owncast/Modals/Name Change', component: NameChangeModal, parameters: {}, } as ComponentMeta; -// eslint-disable-next-line @typescript-eslint/no-unused-vars -const Template: ComponentStory = args => ( +const Example = () => { + const setCurrentUser = useSetRecoilState(currentUserAtom); + + useEffect( + () => + setCurrentUser({ + id: '1', + displayName: 'Test User', + displayColor: 3, + isModerator: false, + }), + [], + ); + + return ( +
+ +
+ ); +}; + +const Template: ComponentStory = () => ( - + ); -// eslint-disable-next-line @typescript-eslint/no-unused-vars export const Basic = Template.bind({}); diff --git a/web/components/modals/NameChangeModal/NameChangeModal.tsx b/web/components/modals/NameChangeModal/NameChangeModal.tsx index c390ab9b6..dfb3cc12f 100644 --- a/web/components/modals/NameChangeModal/NameChangeModal.tsx +++ b/web/components/modals/NameChangeModal/NameChangeModal.tsx @@ -23,13 +23,14 @@ const UserColor: FC = ({ color }) => { export const NameChangeModal: FC = () => { const currentUser = useRecoilValue(currentUserAtom); + const websocketService = useRecoilValue(websocketServiceAtom); + const [newName, setNewName] = useState(currentUser?.displayName); + if (!currentUser) { return null; } const { displayName, displayColor } = currentUser; - const websocketService = useRecoilValue(websocketServiceAtom); - const [newName, setNewName] = useState(displayName); const handleNameChange = () => { const nameChange = {