Fix circular dependency in Poll/PollFooter

This commit is contained in:
Alex Gleason 2024-10-19 17:41:13 -05:00
parent d1432f60ee
commit 18792f3a29
No known key found for this signature in database
GPG Key ID: 7211D1F99744FBB7
2 changed files with 3 additions and 6 deletions

View File

@ -7,7 +7,6 @@ import { useAppDispatch } from 'soapbox/hooks';
import RelativeTimestamp from '../relative-timestamp'; import RelativeTimestamp from '../relative-timestamp';
import { Button, HStack, Stack, Text, Tooltip } from '../ui'; import { Button, HStack, Stack, Text, Tooltip } from '../ui';
import type { Selected } from './poll';
import type { Poll as PollEntity } from 'soapbox/types/entities'; import type { Poll as PollEntity } from 'soapbox/types/entities';
const messages = defineMessages({ const messages = defineMessages({
@ -18,7 +17,7 @@ const messages = defineMessages({
interface IPollFooter { interface IPollFooter {
poll: PollEntity; poll: PollEntity;
showResults: boolean; showResults: boolean;
selected: Selected; selected: Record<number, boolean>;
} }
const PollFooter: React.FC<IPollFooter> = ({ poll, showResults, selected }): JSX.Element => { const PollFooter: React.FC<IPollFooter> = ({ poll, showResults, selected }): JSX.Element => {

View File

@ -10,8 +10,6 @@ import { Stack, Text } from '../ui';
import PollFooter from './poll-footer'; import PollFooter from './poll-footer';
import PollOption from './poll-option'; import PollOption from './poll-option';
export type Selected = Record<number, boolean>;
interface IPoll { interface IPoll {
id: string; id: string;
status?: string; status?: string;
@ -28,7 +26,7 @@ const Poll: React.FC<IPoll> = ({ id, status }): JSX.Element | null => {
const isLoggedIn = useAppSelector((state) => state.me); const isLoggedIn = useAppSelector((state) => state.me);
const poll = useAppSelector((state) => state.polls.get(id)); const poll = useAppSelector((state) => state.polls.get(id));
const [selected, setSelected] = useState({} as Selected); const [selected, setSelected] = useState<Record<number, boolean>>({});
const openUnauthorizedModal = () => const openUnauthorizedModal = () =>
dispatch(openModal('UNAUTHORIZED', { dispatch(openModal('UNAUTHORIZED', {
@ -49,7 +47,7 @@ const Poll: React.FC<IPoll> = ({ id, status }): JSX.Element | null => {
} }
setSelected(tmp); setSelected(tmp);
} else { } else {
const tmp: Selected = {}; const tmp: Record<number, boolean> = {};
tmp[value] = true; tmp[value] = true;
setSelected(tmp); setSelected(tmp);
handleVote(value); handleVote(value);