Skip to content

Commit

Permalink
Reset settings on poll close
Browse files Browse the repository at this point in the history
  • Loading branch information
nbhatia823 committed Oct 1, 2024
1 parent ad79e8a commit 87b7b42
Showing 1 changed file with 15 additions and 1 deletion.
16 changes: 15 additions & 1 deletion apps/scan/frontend/src/components/voter_settings_manager.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
} from '@votingworks/ui';
import { DefaultTheme, ThemeContext } from 'styled-components';
import { LanguageCode } from '@votingworks/types';
import { getAuthStatus, getScannerStatus } from '../api';
import { getAuthStatus, getPollsInfo, getScannerStatus } from '../api';

/**
* Side-effect component for monitoring for auth and voter session changes and
Expand All @@ -19,6 +19,7 @@ export function VoterSettingsManager(): JSX.Element | null {

const authStatusQuery = getAuthStatus.useQuery();
const scannerStatusQuery = getScannerStatus.useQuery();
const pollsInfoQuery = getPollsInfo.useQuery();

const { reset: resetLanguage, setLanguage } = useLanguageControls();
const currentLanguage = useCurrentLanguage();
Expand All @@ -30,6 +31,19 @@ export function VoterSettingsManager(): JSX.Element | null {
null
);

useQueryChangeListener(pollsInfoQuery, {
select: ({ pollsState }) => pollsState,
onChange: (newState) => {
// Reset to default theme when polls close
if (newState === 'polls_closed_final') {
voterSettingsManager.resetThemes();
resetLanguage();
setVoterSessionTheme(null);
setVoterLanguage(null);
}
},
});

useQueryChangeListener(authStatusQuery, {
select: ({ status }) => status,
onChange: (newStatus, previousStatus) => {
Expand Down

0 comments on commit 87b7b42

Please sign in to comment.