feat: add default interval of 30s when the user enables auto refresh (#7143)

This commit is contained in:
Shaheer Kochai 2025-03-04 15:49:14 +04:30 committed by GitHub
parent 7bc52fb92b
commit 2117075f50
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -26,6 +26,8 @@ import { popupContainer } from 'utils/selectPopupContainer';
import { getMinMax, options } from './config'; import { getMinMax, options } from './config';
import { ButtonContainer } from './styles'; import { ButtonContainer } from './styles';
const DEFAULT_REFRESH_INTERVAL = '30s';
function AutoRefresh({ function AutoRefresh({
disabled = false, disabled = false,
showAutoRefreshBtnPrimary = true, showAutoRefreshBtnPrimary = true,
@ -67,13 +69,18 @@ function AutoRefresh({
const params = useUrlQuery(); const params = useUrlQuery();
const defaultOption = useMemo(
() => options.find((option) => option.key === DEFAULT_REFRESH_INTERVAL),
[],
);
const [selectedOption, setSelectedOption] = useState<string>( const [selectedOption, setSelectedOption] = useState<string>(
localStorageValue || options[0].key, localStorageValue || options[0].key,
); );
useEffect(() => { useEffect(() => {
setSelectedOption(localStorageValue || options[0].key); setSelectedOption(localStorageValue || options[0].key);
}, [localStorageValue, params]); }, [localStorageValue, params, defaultOption]);
const getOption = useMemo( const getOption = useMemo(
() => options.find((option) => option.key === selectedOption), () => options.find((option) => option.key === selectedOption),
@ -127,10 +134,18 @@ function AutoRefresh({
DASHBOARD_TIME_IN_DURATION, DASHBOARD_TIME_IN_DURATION,
JSON.stringify(_omit(localStorageData, pathname)), JSON.stringify(_omit(localStorageData, pathname)),
); );
} else {
// When enabling auto-refresh, set to DEFAULT_REFRESH_INTERVAL if no previous preference
const refreshInterval = localStorageValue || defaultOption?.key;
set(
DASHBOARD_TIME_IN_DURATION,
JSON.stringify({ ...localStorageData, [pathname]: refreshInterval }),
);
setSelectedOption(refreshInterval);
} }
setIsAutoRefreshfreshEnabled(checked); setIsAutoRefreshfreshEnabled(checked);
}, },
[localStorageData, pathname], [localStorageData, pathname, localStorageValue, defaultOption],
); );
if (globalTime.selectedTime === 'custom') { if (globalTime.selectedTime === 'custom') {