Fix circular dependency in Poll/PollFooter
This commit is contained in:
parent
d1432f60ee
commit
18792f3a29
|
@ -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 => {
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue