Fix change name modal story not rendering. Closes #2255

This commit is contained in:
Gabe Kangas
2022-11-06 15:33:21 -08:00
parent d95ad34eee
commit b9f5b1da19
2 changed files with 31 additions and 9 deletions

View File

@@ -1,20 +1,41 @@
import React from 'react'; import React, { useEffect } from 'react';
import { ComponentStory, ComponentMeta } from '@storybook/react'; import { ComponentStory, ComponentMeta } from '@storybook/react';
import { RecoilRoot } from 'recoil'; import { RecoilRoot, useSetRecoilState } from 'recoil';
import { NameChangeModal } from './NameChangeModal'; import { NameChangeModal } from './NameChangeModal';
import { CurrentUser } from '../../../interfaces/current-user';
import { currentUserAtom } from '../../stores/ClientConfigStore';
export default { export default {
title: 'owncast/Modals/Name change', title: 'owncast/Modals/Name Change',
component: NameChangeModal, component: NameChangeModal,
parameters: {}, parameters: {},
} as ComponentMeta<typeof NameChangeModal>; } as ComponentMeta<typeof NameChangeModal>;
// eslint-disable-next-line @typescript-eslint/no-unused-vars const Example = () => {
const Template: ComponentStory<typeof NameChangeModal> = args => ( const setCurrentUser = useSetRecoilState<CurrentUser>(currentUserAtom);
useEffect(
() =>
setCurrentUser({
id: '1',
displayName: 'Test User',
displayColor: 3,
isModerator: false,
}),
[],
);
return (
<div>
<NameChangeModal />
</div>
);
};
const Template: ComponentStory<typeof NameChangeModal> = () => (
<RecoilRoot> <RecoilRoot>
<NameChangeModal /> <Example />
</RecoilRoot> </RecoilRoot>
); );
// eslint-disable-next-line @typescript-eslint/no-unused-vars
export const Basic = Template.bind({}); export const Basic = Template.bind({});

View File

@@ -23,13 +23,14 @@ const UserColor: FC<UserColorProps> = ({ color }) => {
export const NameChangeModal: FC = () => { export const NameChangeModal: FC = () => {
const currentUser = useRecoilValue(currentUserAtom); const currentUser = useRecoilValue(currentUserAtom);
const websocketService = useRecoilValue<WebsocketService>(websocketServiceAtom);
const [newName, setNewName] = useState<string>(currentUser?.displayName);
if (!currentUser) { if (!currentUser) {
return null; return null;
} }
const { displayName, displayColor } = currentUser; const { displayName, displayColor } = currentUser;
const websocketService = useRecoilValue<WebsocketService>(websocketServiceAtom);
const [newName, setNewName] = useState<any>(displayName);
const handleNameChange = () => { const handleNameChange = () => {
const nameChange = { const nameChange = {