hoist useprefs
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
import {useMemo} from 'react'
|
||||
|
||||
import {FeedTuner} from '#/lib/api/feed-manip'
|
||||
import {type FeedDescriptor} from '../queries/post-feed'
|
||||
import {usePreferencesQuery} from '../queries/preferences'
|
||||
import {useSession} from '../session'
|
||||
import {type FeedDescriptor} from '#/state/queries/post-feed'
|
||||
import {usePreferences} from '#/state/queries/preferences'
|
||||
import {useSession} from '#/state/session'
|
||||
import {useLanguagePrefs} from './languages'
|
||||
|
||||
export function useFeedTuners(feedDesc: FeedDescriptor) {
|
||||
const langPrefs = useLanguagePrefs()
|
||||
const {data: preferences} = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
const {currentAccount} = useSession()
|
||||
|
||||
return useMemo(() => {
|
||||
|
||||
@@ -2,9 +2,9 @@ import {createContext, useContext, useMemo} from 'react'
|
||||
import {BskyAgent, type ModerationOpts} from '@atproto/api'
|
||||
|
||||
import {useHiddenPosts, useLabelDefinitions} from '#/state/preferences'
|
||||
import {usePreferences} from '#/state/queries/preferences'
|
||||
import {DEFAULT_LOGGED_OUT_LABEL_PREFERENCES} from '#/state/queries/preferences/moderation'
|
||||
import {useSession} from '#/state/session'
|
||||
import {usePreferencesQuery} from '../queries/preferences'
|
||||
|
||||
export const moderationOptsContext = createContext<ModerationOpts | undefined>(
|
||||
undefined,
|
||||
@@ -24,12 +24,12 @@ export function useModerationOpts() {
|
||||
export function Provider({children}: React.PropsWithChildren<{}>) {
|
||||
const override = useContext(moderationOptsOverrideContext)
|
||||
const {currentAccount} = useSession()
|
||||
const prefs = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
const {labelDefs} = useLabelDefinitions()
|
||||
const hiddenPosts = useHiddenPosts() // TODO move this into pds-stored prefs
|
||||
|
||||
const userDid = currentAccount?.did
|
||||
const moderationPrefs = prefs.data?.moderationPrefs
|
||||
const moderationPrefs = preferences?.moderationPrefs
|
||||
const value = useMemo<ModerationOpts | undefined>(() => {
|
||||
if (override) {
|
||||
return override
|
||||
|
||||
@@ -22,7 +22,7 @@ import {
|
||||
type FeedPostSlice,
|
||||
type FeedPostSliceItem,
|
||||
} from '#/state/queries/post-feed'
|
||||
import {usePreferencesQuery} from '#/state/queries/preferences'
|
||||
import {usePreferences} from '#/state/queries/preferences'
|
||||
import {
|
||||
didOrHandleUriMatches,
|
||||
embedViewRecordToPostView,
|
||||
@@ -122,7 +122,7 @@ export function useFeedPreviews(
|
||||
const uris = feeds.map(feed => feed.uri)
|
||||
const {_} = useLingui()
|
||||
const agent = useAgent()
|
||||
const {data: preferences} = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
const userInterests = aggregateUserInterests(preferences)
|
||||
const moderationOpts = useModerationOpts()
|
||||
const enabled = feeds.length > 0 && isEnabled
|
||||
|
||||
@@ -22,16 +22,16 @@ import {
|
||||
import {DISCOVER_FEED_URI, DISCOVER_SAVED_FEED} from '#/lib/constants'
|
||||
import {sanitizeDisplayName} from '#/lib/strings/display-names'
|
||||
import {sanitizeHandle} from '#/lib/strings/handles'
|
||||
import {useModerationOpts} from '#/state/preferences/moderation-opts'
|
||||
import {
|
||||
PERSISTED_QUERY_GCTIME,
|
||||
PERSISTED_QUERY_ROOT,
|
||||
STALE,
|
||||
} from '#/state/queries'
|
||||
import {RQKEY as listQueryKey} from '#/state/queries/list'
|
||||
import {usePreferencesQuery} from '#/state/queries/preferences'
|
||||
import {usePreferences} from '#/state/queries/preferences'
|
||||
import {useAgent, useSession} from '#/state/session'
|
||||
import {router} from '#/routes'
|
||||
import {useModerationOpts} from '../preferences/moderation-opts'
|
||||
import {type FeedDescriptor} from './post-feed'
|
||||
import {precacheResolvedUri} from './resolve-uri'
|
||||
|
||||
@@ -227,7 +227,7 @@ export function useGetPopularFeedsQuery(options?: GetPopularFeedsOptions) {
|
||||
const {hasSession} = useSession()
|
||||
const agent = useAgent()
|
||||
const limit = options?.limit || 10
|
||||
const {data: preferences} = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
const queryClient = useQueryClient()
|
||||
const moderationOpts = useModerationOpts()
|
||||
|
||||
@@ -424,7 +424,7 @@ const createPinnedFeedInfosQueryKeyRoot = (
|
||||
export function usePinnedFeedsInfos() {
|
||||
const {hasSession} = useSession()
|
||||
const agent = useAgent()
|
||||
const {data: preferences, isLoading: isLoadingPrefs} = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
const pinnedItems = preferences?.savedFeeds.filter(feed => feed.pinned) ?? []
|
||||
|
||||
return useQuery({
|
||||
@@ -434,7 +434,6 @@ export function usePinnedFeedsInfos() {
|
||||
),
|
||||
gcTime: PERSISTED_QUERY_GCTIME,
|
||||
staleTime: STALE.INFINITY,
|
||||
enabled: !isLoadingPrefs,
|
||||
queryFn: async () => {
|
||||
if (!hasSession) {
|
||||
return [PWI_DISCOVER_FEED_STUB]
|
||||
@@ -531,7 +530,7 @@ export type SavedFeedItem =
|
||||
|
||||
export function useSavedFeeds() {
|
||||
const agent = useAgent()
|
||||
const {data: preferences, isLoading: isLoadingPrefs} = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
const savedItems = preferences?.savedFeeds ?? []
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
@@ -542,7 +541,6 @@ export function useSavedFeeds() {
|
||||
),
|
||||
gcTime: PERSISTED_QUERY_GCTIME,
|
||||
staleTime: STALE.INFINITY,
|
||||
enabled: !isLoadingPrefs,
|
||||
placeholderData: previousData => {
|
||||
return (
|
||||
previousData || {
|
||||
|
||||
@@ -8,10 +8,7 @@ import {
|
||||
PERSISTED_QUERY_ROOT,
|
||||
STALE,
|
||||
} from '#/state/queries'
|
||||
import {
|
||||
preferencesQueryKey,
|
||||
usePreferencesQuery,
|
||||
} from '#/state/queries/preferences'
|
||||
import {preferencesQueryKey, usePreferences} from '#/state/queries/preferences'
|
||||
import {useAgent} from '#/state/session'
|
||||
|
||||
const labelerInfoQueryKeyRoot = 'labeler-info'
|
||||
@@ -101,7 +98,7 @@ export function useRemoveLabelersMutation() {
|
||||
export function useLabelerSubscriptionMutation() {
|
||||
const queryClient = useQueryClient()
|
||||
const agent = useAgent()
|
||||
const preferences = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
|
||||
return useMutation({
|
||||
async mutationFn({did, subscribe}: {did: string; subscribe: boolean}) {
|
||||
|
||||
@@ -2,44 +2,29 @@ import {useMutation, useQueryClient} from '@tanstack/react-query'
|
||||
|
||||
import {type AppNux, type Nux} from '#/state/queries/nuxs/definitions'
|
||||
import {parseAppNux, serializeAppNux} from '#/state/queries/nuxs/util'
|
||||
import {
|
||||
preferencesQueryKey,
|
||||
usePreferencesQuery,
|
||||
} from '#/state/queries/preferences'
|
||||
import {preferencesQueryKey, usePreferences} from '#/state/queries/preferences'
|
||||
import {useAgent} from '#/state/session'
|
||||
|
||||
export {Nux} from '#/state/queries/nuxs/definitions'
|
||||
|
||||
export function useNuxs():
|
||||
| {
|
||||
nuxs: AppNux[]
|
||||
status: 'ready'
|
||||
export function useNuxs(): {
|
||||
nuxs: AppNux[]
|
||||
} {
|
||||
const preferences = usePreferences()
|
||||
|
||||
const nuxs = preferences?.bskyAppState?.nuxs
|
||||
?.map(parseAppNux)
|
||||
?.filter(Boolean) as AppNux[]
|
||||
|
||||
if (nuxs) {
|
||||
return {
|
||||
nuxs,
|
||||
}
|
||||
| {
|
||||
nuxs: undefined
|
||||
status: 'loading' | 'error'
|
||||
} {
|
||||
const {data, isSuccess, isError} = usePreferencesQuery()
|
||||
const status = isSuccess ? 'ready' : isError ? 'error' : 'loading'
|
||||
|
||||
if (status === 'ready') {
|
||||
const nuxs = data?.bskyAppState?.nuxs
|
||||
?.map(parseAppNux)
|
||||
?.filter(Boolean) as AppNux[]
|
||||
|
||||
if (nuxs) {
|
||||
return {
|
||||
nuxs,
|
||||
status,
|
||||
}
|
||||
} else {
|
||||
return {
|
||||
nuxs: [],
|
||||
status,
|
||||
}
|
||||
} else {
|
||||
return {
|
||||
nuxs: [],
|
||||
}
|
||||
}
|
||||
|
||||
// if (__DEV__) {
|
||||
// const queryClient = useQueryClient()
|
||||
// const agent = useAgent()
|
||||
@@ -53,46 +38,26 @@ export function useNuxs():
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
|
||||
return {
|
||||
nuxs: undefined,
|
||||
status,
|
||||
}
|
||||
}
|
||||
|
||||
export function useNux<T extends Nux>(
|
||||
id: T,
|
||||
):
|
||||
| {
|
||||
nux: Extract<AppNux, {id: T}> | undefined
|
||||
status: 'ready'
|
||||
): {
|
||||
nux: Extract<AppNux, {id: T}> | undefined
|
||||
} {
|
||||
const {nuxs} = useNuxs()
|
||||
|
||||
const nux = nuxs.find(nux => nux.id === id)
|
||||
|
||||
if (nux) {
|
||||
return {
|
||||
nux: nux as Extract<AppNux, {id: T}>,
|
||||
}
|
||||
| {
|
||||
nux: undefined
|
||||
status: 'loading' | 'error'
|
||||
} {
|
||||
const {nuxs, status} = useNuxs()
|
||||
|
||||
if (status === 'ready') {
|
||||
const nux = nuxs.find(nux => nux.id === id)
|
||||
|
||||
if (nux) {
|
||||
return {
|
||||
nux: nux as Extract<AppNux, {id: T}>,
|
||||
status,
|
||||
}
|
||||
} else {
|
||||
return {
|
||||
nux: undefined,
|
||||
status,
|
||||
}
|
||||
} else {
|
||||
return {
|
||||
nux: undefined,
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
nux: undefined,
|
||||
status,
|
||||
}
|
||||
}
|
||||
|
||||
export function useSaveNux() {
|
||||
|
||||
@@ -31,14 +31,14 @@ import {aggregateUserInterests} from '#/lib/api/feed/utils'
|
||||
import {FeedTuner, type FeedTunerFn} from '#/lib/api/feed-manip'
|
||||
import {DISCOVER_FEED_URI} from '#/lib/constants'
|
||||
import {logger} from '#/logger'
|
||||
import {useFeedTuners} from '#/state/preferences/feed-tuners'
|
||||
import {useModerationOpts} from '#/state/preferences/moderation-opts'
|
||||
import {STALE} from '#/state/queries'
|
||||
import {usePreferences} from '#/state/queries/preferences'
|
||||
import {DEFAULT_LOGGED_OUT_PREFERENCES} from '#/state/queries/preferences/const'
|
||||
import {useAgent} from '#/state/session'
|
||||
import * as userActionHistory from '#/state/userActionHistory'
|
||||
import {KnownError} from '#/view/com/posts/PostFeedErrorMessage'
|
||||
import {useFeedTuners} from '../preferences/feed-tuners'
|
||||
import {useModerationOpts} from '../preferences/moderation-opts'
|
||||
import {usePreferencesQuery} from './preferences'
|
||||
import {
|
||||
didOrHandleUriMatches,
|
||||
embedViewRecordToPostView,
|
||||
@@ -133,7 +133,7 @@ export function usePostFeedQuery(
|
||||
) {
|
||||
const feedTuners = useFeedTuners(feedDesc)
|
||||
const moderationOpts = useModerationOpts()
|
||||
const {data: preferences} = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
/**
|
||||
* Load bearing: we need to await AA state or risk FOUC. This marginally
|
||||
* delays feeds, but AA state is fetched immediately on load and is then
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
import {createContext, useContext} from 'react'
|
||||
import {ActivityIndicator, View} from 'react-native'
|
||||
|
||||
import {
|
||||
usePreferencesQuery,
|
||||
type UsePreferencesQueryResponse,
|
||||
} from '#/state/queries/preferences'
|
||||
import {atoms as a} from '#/alf'
|
||||
|
||||
const PreferencesContext = createContext<UsePreferencesQueryResponse | null>(
|
||||
null,
|
||||
)
|
||||
PreferencesContext.displayName = 'PreferencesContext'
|
||||
|
||||
export function Provider({children}: {children: React.ReactNode}) {
|
||||
const {data} = usePreferencesQuery()
|
||||
|
||||
if (!data) {
|
||||
return null
|
||||
}
|
||||
|
||||
return <PreferencesContext value={data}>{children}</PreferencesContext>
|
||||
}
|
||||
|
||||
export function usePreferences() {
|
||||
const context = useContext(PreferencesContext)
|
||||
if (!context) {
|
||||
throw new Error('usePreferences must be used within a PreferencesProvider')
|
||||
}
|
||||
return context
|
||||
}
|
||||
@@ -30,6 +30,7 @@ import {makeAgeRestrictedModerationPrefs} from '#/ageAssurance/util'
|
||||
import {useAnalytics} from '#/analytics'
|
||||
|
||||
export * from '#/state/queries/preferences/const'
|
||||
export * from '#/state/queries/preferences/context'
|
||||
export * from '#/state/queries/preferences/moderation'
|
||||
export * from '#/state/queries/preferences/types'
|
||||
|
||||
@@ -39,7 +40,7 @@ export function usePreferencesQuery() {
|
||||
const agent = useAgent()
|
||||
const aa = useAgeAssurance()
|
||||
|
||||
const query = useQuery({
|
||||
return useQuery({
|
||||
staleTime: STALE.SECONDS.FIFTEEN,
|
||||
structuralSharing: replaceEqualDeep,
|
||||
refetchOnWindowFocus: true,
|
||||
@@ -52,7 +53,7 @@ export function usePreferencesQuery() {
|
||||
const res = await agent.getPreferences()
|
||||
|
||||
// save to local storage to ensure there are labels on initial requests
|
||||
saveLabelers(
|
||||
void saveLabelers(
|
||||
agent.did,
|
||||
res.moderationPrefs.labelers.map(l => l.did),
|
||||
)
|
||||
@@ -91,20 +92,21 @@ export function usePreferencesQuery() {
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The persisted query cache stores dates as strings, but our code expects a `Date`.
|
||||
*/
|
||||
if (data.birthDate) {
|
||||
return {
|
||||
...data,
|
||||
birthDate: new Date(data.birthDate),
|
||||
}
|
||||
}
|
||||
return data
|
||||
},
|
||||
[aa],
|
||||
),
|
||||
})
|
||||
|
||||
if (query.data?.birthDate) {
|
||||
/**
|
||||
* The persisted query cache stores dates as strings, but our code expects a `Date`.
|
||||
*/
|
||||
query.data.birthDate = new Date(query.data.birthDate)
|
||||
}
|
||||
|
||||
return query
|
||||
}
|
||||
|
||||
export function useClearPreferencesMutation() {
|
||||
|
||||
@@ -7,7 +7,7 @@ import {
|
||||
|
||||
import {isNonConfigurableModerationAuthority} from '#/state/session/additional-moderation-authorities'
|
||||
import {useLabelersDetailedInfoQuery} from '../labeler'
|
||||
import {usePreferencesQuery} from './index'
|
||||
import {usePreferences} from './index'
|
||||
|
||||
/**
|
||||
* More strict than our default settings for logged in users.
|
||||
@@ -22,28 +22,18 @@ export function useMyLabelersQuery({
|
||||
}: {
|
||||
excludeNonConfigurableLabelers?: boolean
|
||||
} = {}) {
|
||||
const prefs = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
let dids = Array.from(
|
||||
new Set(
|
||||
BskyAgent.appLabelers.concat(
|
||||
prefs.data?.moderationPrefs.labelers.map(l => l.did) || [],
|
||||
preferences?.moderationPrefs.labelers.map(l => l.did) || [],
|
||||
),
|
||||
),
|
||||
)
|
||||
if (excludeNonConfigurableLabelers) {
|
||||
dids = dids.filter(did => !isNonConfigurableModerationAuthority(did))
|
||||
}
|
||||
const labelers = useLabelersDetailedInfoQuery({dids})
|
||||
const isLoading = prefs.isLoading || labelers.isLoading
|
||||
const error = prefs.error || labelers.error
|
||||
return useMemo(() => {
|
||||
return {
|
||||
isLoading,
|
||||
error,
|
||||
data: labelers.data,
|
||||
refetch: labelers.refetch,
|
||||
}
|
||||
}, [labelers, isLoading, error])
|
||||
return useLabelersDetailedInfoQuery({dids})
|
||||
}
|
||||
|
||||
export function useLabelDefinitionsQuery() {
|
||||
|
||||
@@ -5,7 +5,7 @@ import debounce from 'lodash.debounce'
|
||||
|
||||
import {useCallOnce} from '#/lib/once'
|
||||
import {
|
||||
usePreferencesQuery,
|
||||
usePreferences,
|
||||
useSetThreadViewPreferencesMutation,
|
||||
} from '#/state/queries/preferences'
|
||||
import {type ThreadViewPreferences} from '#/state/queries/preferences/types'
|
||||
@@ -30,7 +30,7 @@ export function useThreadPreferences({
|
||||
save,
|
||||
}: {save?: boolean} = {}): ThreadPreferences {
|
||||
const ax = useAnalytics()
|
||||
const {data: preferences} = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
const serverPrefs = preferences?.threadViewPrefs
|
||||
const once = useCallOnce()
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
} from '#/lib/api/feed/utils'
|
||||
import {getContentLanguages} from '#/state/preferences/languages'
|
||||
import {STALE} from '#/state/queries'
|
||||
import {usePreferencesQuery} from '#/state/queries/preferences'
|
||||
import {usePreferences} from '#/state/queries/preferences'
|
||||
import {useAgent} from '#/state/session'
|
||||
|
||||
export const DEFAULT_LIMIT = 15
|
||||
@@ -15,7 +15,7 @@ export const createGetSuggestedFeedsQueryKey = () => ['suggested-feeds']
|
||||
|
||||
export function useGetSuggestedFeedsQuery({enabled}: {enabled?: boolean}) {
|
||||
const agent = useAgent()
|
||||
const {data: preferences} = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
const savedFeeds = preferences?.savedFeeds
|
||||
|
||||
return useQuery({
|
||||
|
||||
@@ -8,7 +8,7 @@ import {createBskyTopicsHeader} from '#/lib/api/feed/utils'
|
||||
import {logger} from '#/logger'
|
||||
import {getContentLanguages} from '#/state/preferences/languages'
|
||||
import {STALE} from '#/state/queries'
|
||||
import {usePreferencesQuery} from '#/state/queries/preferences'
|
||||
import {usePreferences} from '#/state/queries/preferences'
|
||||
import {useAgent} from '#/state/session'
|
||||
|
||||
export type QueryProps = {
|
||||
@@ -31,7 +31,7 @@ export const createGetSuggestedOnboardingUsersQueryKey = (
|
||||
|
||||
export function useGetSuggestedOnboardingUsersQuery(props: QueryProps) {
|
||||
const agent = useAgent()
|
||||
const {data: preferences} = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
|
||||
return useQuery({
|
||||
enabled: !!preferences && props.enabled !== false,
|
||||
|
||||
@@ -11,7 +11,7 @@ import {
|
||||
import {logger} from '#/logger'
|
||||
import {getContentLanguages} from '#/state/preferences/languages'
|
||||
import {STALE} from '#/state/queries'
|
||||
import {usePreferencesQuery} from '#/state/queries/preferences'
|
||||
import {usePreferences} from '#/state/queries/preferences'
|
||||
import {useAgent} from '#/state/session'
|
||||
|
||||
export type QueryProps = {
|
||||
@@ -29,7 +29,7 @@ export const createGetSuggestedUsersQueryKey = (props: QueryProps) => [
|
||||
|
||||
export function useGetSuggestedUsersQuery(props: QueryProps) {
|
||||
const agent = useAgent()
|
||||
const {data: preferences} = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
|
||||
return useQuery({
|
||||
enabled: !!preferences && props.enabled !== false,
|
||||
|
||||
@@ -8,7 +8,7 @@ import {
|
||||
} from '#/lib/api/feed/utils'
|
||||
import {getContentLanguages} from '#/state/preferences/languages'
|
||||
import {STALE} from '#/state/queries'
|
||||
import {usePreferencesQuery} from '#/state/queries/preferences'
|
||||
import {usePreferences} from '#/state/queries/preferences'
|
||||
import {useAgent} from '#/state/session'
|
||||
|
||||
export const DEFAULT_LIMIT = 5
|
||||
@@ -17,7 +17,7 @@ export const createGetTrendsQueryKey = () => ['trends']
|
||||
|
||||
export function useGetTrendsQuery() {
|
||||
const agent = useAgent()
|
||||
const {data: preferences} = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
const mutedWords = useMemo(() => {
|
||||
return preferences?.moderationPrefs?.mutedWords || []
|
||||
}, [preferences?.moderationPrefs])
|
||||
|
||||
@@ -3,7 +3,7 @@ import {type AppBskyUnspeccedDefs, hasMutedWord} from '@atproto/api'
|
||||
import {useQuery} from '@tanstack/react-query'
|
||||
|
||||
import {STALE} from '#/state/queries'
|
||||
import {usePreferencesQuery} from '#/state/queries/preferences'
|
||||
import {usePreferences} from '#/state/queries/preferences'
|
||||
import {useAgent} from '#/state/session'
|
||||
|
||||
export type TrendingTopic = AppBskyUnspeccedDefs.TrendingTopic
|
||||
@@ -28,7 +28,7 @@ export const trendingTopicsQueryKey = ['trending-topics']
|
||||
|
||||
export function useTrendingTopics() {
|
||||
const agent = useAgent()
|
||||
const {data: preferences} = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
const mutedWords = useMemo(
|
||||
() => preferences?.moderationPrefs?.mutedWords ?? [],
|
||||
[preferences?.moderationPrefs?.mutedWords],
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
} from '#/lib/api/feed/utils'
|
||||
import {getContentLanguages} from '#/state/preferences/languages'
|
||||
import {STALE} from '#/state/queries'
|
||||
import {usePreferencesQuery} from '#/state/queries/preferences'
|
||||
import {usePreferences} from '#/state/queries/preferences'
|
||||
import {useAgent} from '#/state/session'
|
||||
|
||||
export const createOnboardingSuggestedStarterPacksQueryKey = (
|
||||
@@ -21,7 +21,7 @@ export function useOnboardingSuggestedStarterPacksQuery({
|
||||
overrideInterests?: string[]
|
||||
}) {
|
||||
const agent = useAgent()
|
||||
const {data: preferences} = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
const contentLangs = getContentLanguages().join(',')
|
||||
|
||||
return useQuery({
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
} from '#/lib/api/feed/utils'
|
||||
import {getContentLanguages} from '#/state/preferences/languages'
|
||||
import {STALE} from '#/state/queries'
|
||||
import {usePreferencesQuery} from '#/state/queries/preferences'
|
||||
import {usePreferences} from '#/state/queries/preferences'
|
||||
import {useAgent} from '#/state/session'
|
||||
|
||||
export const createSuggestedStarterPacksQueryKey = (interests?: string[]) => [
|
||||
@@ -22,7 +22,7 @@ export function useSuggestedStarterPacksQuery({
|
||||
overrideInterests?: string[]
|
||||
}) {
|
||||
const agent = useAgent()
|
||||
const {data: preferences} = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
const contentLangs = getContentLanguages().join(',')
|
||||
|
||||
return useQuery({
|
||||
|
||||
@@ -8,7 +8,7 @@ import {
|
||||
} from '#/components/ProgressGuide/Toast'
|
||||
import {useAnalytics} from '#/analytics'
|
||||
import {
|
||||
usePreferencesQuery,
|
||||
usePreferences,
|
||||
useSetActiveProgressGuideMutation,
|
||||
} from '../queries/preferences'
|
||||
|
||||
@@ -73,7 +73,7 @@ export function useProgressGuideControls() {
|
||||
export function Provider({children}: React.PropsWithChildren<{}>) {
|
||||
const ax = useAnalytics()
|
||||
const {_} = useLingui()
|
||||
const {data: preferences} = usePreferencesQuery()
|
||||
const preferences = usePreferences()
|
||||
const {mutateAsync, variables, isPending} =
|
||||
useSetActiveProgressGuideMutation()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user