Don't use a persisted setting when switching users; ref #3021

This commit is contained in:
Dane Everitt 2021-01-20 20:07:52 -08:00
parent 3053a896f4
commit 914ee65ded
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
2 changed files with 5 additions and 4 deletions

View file

@ -16,8 +16,9 @@ import Pagination from '@/components/elements/Pagination';
export default () => { export default () => {
const { clearFlashes, clearAndAddHttpError } = useFlash(); const { clearFlashes, clearAndAddHttpError } = useFlash();
const [ page, setPage ] = useState(1); const [ page, setPage ] = useState(1);
const { rootAdmin } = useStoreState(state => state.user.data!); const uuid = useStoreState(state => state.user.data!.uuid);
const [ showOnlyAdmin, setShowOnlyAdmin ] = usePersistedState('show_all_servers', false); const rootAdmin = useStoreState(state => state.user.data!.rootAdmin);
const [ showOnlyAdmin, setShowOnlyAdmin ] = usePersistedState(`${uuid}:show_all_servers`, false);
const { data: servers, error } = useSWR<PaginatedResult<Server>>( const { data: servers, error } = useSWR<PaginatedResult<Server>>(
[ '/api/client/servers', showOnlyAdmin, page ], [ '/api/client/servers', showOnlyAdmin, page ],

View file

@ -1,6 +1,6 @@
import { Dispatch, SetStateAction, useEffect, useState } from 'react'; import { Dispatch, SetStateAction, useEffect, useState } from 'react';
export function usePersistedState<S = undefined> (key: string, defaultValue: S): [S | undefined, Dispatch<SetStateAction<S | undefined>>] { export function usePersistedState<S = undefined> (key: string, defaultValue: S): [ S | undefined, Dispatch<SetStateAction<S | undefined>> ] {
const [ state, setState ] = useState( const [ state, setState ] = useState(
() => { () => {
try { try {
@ -12,7 +12,7 @@ export function usePersistedState<S = undefined> (key: string, defaultValue: S):
return defaultValue; return defaultValue;
} }
} },
); );
useEffect(() => { useEffect(() => {