pl-fe: auth gate some queries

Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
This commit is contained in:
nicole mikołajczyk
2025-10-23 14:07:54 +02:00
parent 85c9395822
commit 93809e4543
7 changed files with 12 additions and 20 deletions

View File

@ -585,7 +585,7 @@ const MenuButton: React.FC<IMenuButton> = ({
const instance = useInstance();
const { autoTranslate, deleteModal, knownLanguages } = useSettings();
const { translationLanguages } = useTranslationLanguages();
const { data: translationLanguages = {} } = useTranslationLanguages();
const { mutate: reblogStatus } = useReblogStatus(status.id);
const { mutate: unreblogStatus } = useUnreblogStatus(status.id);

View File

@ -27,7 +27,7 @@ const TranslateButton: React.FC<ITranslateButton> = ({ status }) => {
const knownLanguages = autoTranslate ? [...settings.knownLanguages, intl.locale] : [intl.locale];
const me = useAppSelector((state) => state.me);
const { translationLanguages } = useTranslationLanguages();
const { data: translationLanguages = {} } = useTranslationLanguages();
const { fetchTranslation, hideTranslation } = useStatusMetaActions();
const { targetLanguage } = useStatusMeta(status.id);

View File

@ -23,7 +23,7 @@ const WhoToFollowPanel = ({ limit }: IWhoToFollowPanel) => {
const features = useFeatures();
const intl = useIntl();
const { data: suggestions, isFetching } = useSuggestions();
const { data: suggestions = [], isFetching } = useSuggestions();
const dismissSuggestion = useDismissSuggestion();
const suggestionsToRender = suggestions.slice(0, limit);

View File

@ -4,10 +4,12 @@ import { useQuery } from '@tanstack/react-query';
import { importEntities } from 'pl-fe/actions/importer';
import { useAppDispatch } from 'pl-fe/hooks/use-app-dispatch';
import { useClient } from 'pl-fe/hooks/use-client';
import { useLoggedIn } from 'pl-fe/hooks/use-logged-in';
const useBirthdayReminders = (month: number, day: number) => {
const client = useClient();
const dispatch = useAppDispatch();
const { isLoggedIn } = useLoggedIn();
return useQuery({
queryKey: ['accountsLists', 'birthdayReminders', month, day],
@ -16,6 +18,7 @@ const useBirthdayReminders = (month: number, day: number) => {
return accounts.map(({ id }) => id);
}),
enabled: isLoggedIn,
});
};

View File

@ -24,17 +24,12 @@ const useTranslationLanguages = () => {
return client.instance.getInstanceTranslationLanguages();
};
const { data, ...result } = useQuery({
return useQuery({
queryKey: ['translationLanguages'],
queryFn: getTranslationLanguages,
placeholderData: {},
enabled: isLoggedIn && features.translations,
});
return {
translationLanguages: data || {},
...result,
};
};
export { useTranslationLanguages };

View File

@ -4,6 +4,7 @@ import { fetchRelationships } from 'pl-fe/actions/accounts';
import { importEntities } from 'pl-fe/actions/importer';
import { useAppDispatch } from 'pl-fe/hooks/use-app-dispatch';
import { useClient } from 'pl-fe/hooks/use-client';
import { useLoggedIn } from 'pl-fe/hooks/use-logged-in';
import { removePageItem } from '../utils/queries';
@ -14,6 +15,7 @@ const SuggestionKeys = {
const useSuggestions = () => {
const client = useClient();
const dispatch = useAppDispatch();
const { isLoggedIn } = useLoggedIn();
const getSuggestions = async () => {
const response = await client.myAccount.getSuggestions();
@ -26,18 +28,12 @@ const useSuggestions = () => {
return response.map(({ account, ...x }) => ({ ...x, account_id: account.id }));
};
const result = useQuery({
return useQuery({
queryKey: SuggestionKeys.suggestions,
queryFn: () => getSuggestions(),
placeholderData: keepPreviousData,
enabled: isLoggedIn,
});
const data = result.data;
return {
...result,
data: data || [],
};
};
const useDismissSuggestion = () => {

View File

@ -11,15 +11,13 @@ const useTrends = () => {
const features = useFeatures();
const { isLoggedIn } = useLoggedIn();
const result = useQuery<ReadonlyArray<Tag>>({
return useQuery<ReadonlyArray<Tag>>({
queryKey: ['trends', 'tags'],
queryFn: () => client.trends.getTrendingTags(),
placeholderData: [],
staleTime: 600000, // 10 minutes
enabled: isLoggedIn && features.trends,
});
return result;
};
export { useTrends as default };