pl-fe: auth gate some queries
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
This commit is contained in:
@ -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);
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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,
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@ -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 };
|
||||
|
||||
@ -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 = () => {
|
||||
|
||||
@ -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 };
|
||||
|
||||
Reference in New Issue
Block a user