Change new replies to be loaded automatically if thread previously empty (#35603)
This commit is contained in:
@@ -24,6 +24,11 @@ export const RefreshController: React.FC<{
|
|||||||
const refresh = useAppSelector(
|
const refresh = useAppSelector(
|
||||||
(state) => state.contexts.refreshing[statusId],
|
(state) => state.contexts.refreshing[statusId],
|
||||||
);
|
);
|
||||||
|
const autoRefresh = useAppSelector(
|
||||||
|
(state) =>
|
||||||
|
!state.contexts.replies[statusId] ||
|
||||||
|
state.contexts.replies[statusId].length === 0,
|
||||||
|
);
|
||||||
const dispatch = useAppDispatch();
|
const dispatch = useAppDispatch();
|
||||||
const intl = useIntl();
|
const intl = useIntl();
|
||||||
const [ready, setReady] = useState(false);
|
const [ready, setReady] = useState(false);
|
||||||
@@ -39,6 +44,11 @@ export const RefreshController: React.FC<{
|
|||||||
dispatch(completeContextRefresh({ statusId }));
|
dispatch(completeContextRefresh({ statusId }));
|
||||||
|
|
||||||
if (result.async_refresh.result_count > 0) {
|
if (result.async_refresh.result_count > 0) {
|
||||||
|
if (autoRefresh) {
|
||||||
|
void dispatch(fetchContext({ statusId }));
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
setReady(true);
|
setReady(true);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -57,7 +67,7 @@ export const RefreshController: React.FC<{
|
|||||||
return () => {
|
return () => {
|
||||||
clearTimeout(timeoutId);
|
clearTimeout(timeoutId);
|
||||||
};
|
};
|
||||||
}, [dispatch, setReady, statusId, refresh]);
|
}, [dispatch, setReady, statusId, refresh, autoRefresh]);
|
||||||
|
|
||||||
const handleClick = useCallback(() => {
|
const handleClick = useCallback(() => {
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
|
|||||||
Reference in New Issue
Block a user