nicolium: fix default selectors across the code
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
This commit is contained in:
@ -19,8 +19,7 @@ const useComposeSuggestions = (token: string): Array<AutoSuggestion> => {
|
||||
? 'emojis'
|
||||
: null;
|
||||
|
||||
// TODO: fix default selectors across the code
|
||||
const { data: customEmojis } = useCustomEmojis((emojis) => emojis);
|
||||
const { data: customEmojis } = useCustomEmojis();
|
||||
const { data: accountIds } = useAccountSearch(searchedType === 'accounts' ? debouncedToken : '', {
|
||||
resolve: false,
|
||||
limit: 5,
|
||||
|
||||
@ -52,7 +52,7 @@ const SelectBookmarkFolderModal: React.FC<SelectBookmarkFolderModalProps & BaseM
|
||||
setSearchTerm(e.target.value);
|
||||
};
|
||||
|
||||
const { isFetching, data: bookmarkFolders } = useBookmarkFolders((data) => data);
|
||||
const { isFetching, data: bookmarkFolders } = useBookmarkFolders();
|
||||
const { data: selectedBookmarkFolders, isPending: fetchingSelectedBookmarkFolders } =
|
||||
useStatusBookmarkFolders(statusId);
|
||||
const { mutate: addBookmarkToFolder, isPending: addingBookmarkToFolder } =
|
||||
|
||||
@ -98,7 +98,7 @@ const BookmarkFoldersPage: React.FC = () => {
|
||||
const intl = useIntl();
|
||||
const features = useFeatures();
|
||||
|
||||
const { data: bookmarkFolders, isFetching } = useBookmarkFolders((data) => data);
|
||||
const { data: bookmarkFolders, isFetching } = useBookmarkFolders();
|
||||
|
||||
if (!features.bookmarkFolders)
|
||||
return <Navigate to='/bookmarks/$folderId' params={{ folderId: 'all' }} replace />;
|
||||
|
||||
@ -1,4 +1,9 @@
|
||||
import { type InfiniteData, useMutation, useQuery } from '@tanstack/react-query';
|
||||
import {
|
||||
type InfiniteData,
|
||||
useMutation,
|
||||
useQuery,
|
||||
type UseQueryResult,
|
||||
} from '@tanstack/react-query';
|
||||
|
||||
import { useClient } from '@/hooks/use-client';
|
||||
import { useFeatures } from '@/hooks/use-features';
|
||||
@ -10,7 +15,9 @@ import { minifyAccountList } from '../utils/minify-list';
|
||||
|
||||
import type { Antenna, PaginatedResponse, CreateAntennaParams, UpdateAntennaParams } from 'pl-api';
|
||||
|
||||
const useAntennas = <T>(select?: (data: Array<Antenna>) => T) => {
|
||||
function useAntennas<T>(select: (data: Array<Antenna>) => T): UseQueryResult<T, Error>;
|
||||
function useAntennas(): UseQueryResult<Array<Antenna>, Error>;
|
||||
function useAntennas<T = Array<Antenna>>(select?: (data: Array<Antenna>) => T) {
|
||||
const client = useClient();
|
||||
const features = useFeatures();
|
||||
|
||||
@ -20,7 +27,7 @@ const useAntennas = <T>(select?: (data: Array<Antenna>) => T) => {
|
||||
enabled: features.antennas,
|
||||
select,
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
const useAntenna = (antennaId?: string) =>
|
||||
useAntennas((data) => (antennaId ? data.find((antenna) => antenna.id === antennaId) : undefined));
|
||||
|
||||
@ -1,4 +1,9 @@
|
||||
import { type InfiniteData, useMutation, useQuery } from '@tanstack/react-query';
|
||||
import {
|
||||
type InfiniteData,
|
||||
type UseQueryResult,
|
||||
useMutation,
|
||||
useQuery,
|
||||
} from '@tanstack/react-query';
|
||||
|
||||
import { useClient } from '@/hooks/use-client';
|
||||
import { useFeatures } from '@/hooks/use-features';
|
||||
@ -10,7 +15,9 @@ import { minifyAccountList } from '../utils/minify-list';
|
||||
|
||||
import type { Circle, PaginatedResponse } from 'pl-api';
|
||||
|
||||
const useCircles = <T>(select?: (data: Array<Circle>) => T) => {
|
||||
function useCircles<T>(select: (data: Array<Circle>) => T): UseQueryResult<T, Error>;
|
||||
function useCircles(): UseQueryResult<Array<Circle>, Error>;
|
||||
function useCircles<T = Array<Circle>>(select?: (data: Array<Circle>) => T) {
|
||||
const client = useClient();
|
||||
const features = useFeatures();
|
||||
|
||||
@ -20,7 +27,7 @@ const useCircles = <T>(select?: (data: Array<Circle>) => T) => {
|
||||
enabled: features.circles,
|
||||
select,
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
const useCircle = (circleId?: string) =>
|
||||
useCircles((data) => (circleId ? data.find((circle) => circle.id === circleId) : undefined));
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { queryOptions, useQuery } from '@tanstack/react-query';
|
||||
import { queryOptions, useQuery, type UseQueryResult } from '@tanstack/react-query';
|
||||
|
||||
import { buildCustomEmojis } from '@/features/emoji';
|
||||
import { addCustomToPool } from '@/features/emoji/search';
|
||||
@ -18,14 +18,16 @@ const customEmojisQueryOptions = (client: PlApiClient) =>
|
||||
}),
|
||||
});
|
||||
|
||||
const useCustomEmojis = <T>(select?: (data: Array<CustomEmoji>) => T) => {
|
||||
function useCustomEmojis<T>(select: (data: Array<CustomEmoji>) => T): UseQueryResult<T, Error>;
|
||||
function useCustomEmojis(): UseQueryResult<Array<CustomEmoji>, Error>;
|
||||
function useCustomEmojis<T = Array<CustomEmoji>>(select?: (data: Array<CustomEmoji>) => T) {
|
||||
const client = useClient();
|
||||
|
||||
return useQuery({
|
||||
...customEmojisQueryOptions(client),
|
||||
select: select ?? ((data) => data as T),
|
||||
select,
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
const prefetchCustomEmojis = (client: PlApiClient) =>
|
||||
queryClient.prefetchQuery(customEmojisQueryOptions(client));
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { useMutation, useQuery } from '@tanstack/react-query';
|
||||
import { useMutation, useQuery, type UseQueryResult } from '@tanstack/react-query';
|
||||
|
||||
import { useClient } from '@/hooks/use-client';
|
||||
import { useFeatures } from '@/hooks/use-features';
|
||||
@ -7,7 +7,13 @@ import { queryClient } from '../client';
|
||||
|
||||
import type { BookmarkFolder } from 'pl-api';
|
||||
|
||||
const useBookmarkFolders = <T>(select?: (data: Array<BookmarkFolder>) => T) => {
|
||||
function useBookmarkFolders<T>(
|
||||
select: (data: Array<BookmarkFolder>) => T,
|
||||
): UseQueryResult<T, Error>;
|
||||
function useBookmarkFolders(): UseQueryResult<Array<BookmarkFolder>, Error>;
|
||||
function useBookmarkFolders<T = Array<BookmarkFolder>>(
|
||||
select?: (data: Array<BookmarkFolder>) => T,
|
||||
) {
|
||||
const client = useClient();
|
||||
const features = useFeatures();
|
||||
|
||||
@ -17,7 +23,7 @@ const useBookmarkFolders = <T>(select?: (data: Array<BookmarkFolder>) => T) => {
|
||||
enabled: features.bookmarkFolders,
|
||||
select,
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
const useBookmarkFolder = (folderId?: string) =>
|
||||
useBookmarkFolders((data) =>
|
||||
|
||||
@ -1,4 +1,9 @@
|
||||
import { type QueryClient, useQuery, useQueryClient } from '@tanstack/react-query';
|
||||
import {
|
||||
type QueryClient,
|
||||
useQuery,
|
||||
useQueryClient,
|
||||
type UseQueryResult,
|
||||
} from '@tanstack/react-query';
|
||||
import { create } from 'mutative';
|
||||
import { mediaAttachmentSchema } from 'pl-api';
|
||||
import * as v from 'valibot';
|
||||
@ -53,7 +58,13 @@ const getDrafts = async (accountUrl: string) => {
|
||||
const persistDrafts = (accountUrl: string, drafts: Record<string, APIEntity>) =>
|
||||
KVStore.setItem(`drafts:${accountUrl}`, Object.values(drafts));
|
||||
|
||||
const useDraftStatusesQuery = <T>(select?: (data: Record<string, DraftStatus>) => T) => {
|
||||
function useDraftStatusesQuery<T>(
|
||||
select: (data: Record<string, DraftStatus>) => T,
|
||||
): UseQueryResult<T, Error>;
|
||||
function useDraftStatusesQuery(): UseQueryResult<Record<string, DraftStatus>, Error>;
|
||||
function useDraftStatusesQuery<T = Record<string, DraftStatus>>(
|
||||
select?: (data: Record<string, DraftStatus>) => T,
|
||||
) {
|
||||
const { data: account } = useOwnAccount();
|
||||
|
||||
return useQuery({
|
||||
@ -62,7 +73,7 @@ const useDraftStatusesQuery = <T>(select?: (data: Record<string, DraftStatus>) =
|
||||
enabled: !!account,
|
||||
select,
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
const useDraftStatusQuery = (draftStatusId: string) =>
|
||||
useDraftStatusesQuery((data) => data[draftStatusId]);
|
||||
|
||||
Reference in New Issue
Block a user