diff options
author | Eric Bailey <git@esb.lol> | 2024-12-06 09:42:42 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-06 09:42:42 -0600 |
commit | 3ab6c435df5dc3d17fe3e2531231ccf012a4860c (patch) | |
tree | 986a565d56127c23952f88c5c32450842feaad7d /src/state/queries | |
parent | 143e2c802d1d8d8498e6658c174ed1e657c4ec12 (diff) | |
download | voidsky-3ab6c435df5dc3d17fe3e2531231ccf012a4860c.tar.zst |
Trim back prefs exposure in NUXs, make naming more friendly (#6980)
Diffstat (limited to 'src/state/queries')
-rw-r--r-- | src/state/queries/nuxs/index.ts | 55 |
1 files changed, 42 insertions, 13 deletions
diff --git a/src/state/queries/nuxs/index.ts b/src/state/queries/nuxs/index.ts index e183bcfad..6ad59c7a4 100644 --- a/src/state/queries/nuxs/index.ts +++ b/src/state/queries/nuxs/index.ts @@ -10,49 +10,78 @@ import {useAgent} from '#/state/session' export {Nux} from '#/state/queries/nuxs/definitions' -export function useNuxs() { - const {data, ...rest} = usePreferencesQuery() +export function useNuxs(): + | { + nuxs: AppNux[] + status: 'ready' + } + | { + nuxs: undefined + status: 'loading' | 'error' + } { + const {data, isSuccess, isError} = usePreferencesQuery() + const status = isSuccess ? 'ready' : isError ? 'error' : 'loading' - if (data && rest.isSuccess) { - const nuxs = data.bskyAppState.nuxs + if (status === 'ready') { + const nuxs = data?.bskyAppState?.nuxs ?.map(parseAppNux) ?.filter(Boolean) as AppNux[] if (nuxs) { return { nuxs, - ...rest, + status, + } + } else { + return { + nuxs: [], + status, } } } return { nuxs: undefined, - ...rest, + status, } } -export function useNux<T extends Nux>(id: T) { - const {nuxs, ...rest} = useNuxs() +export function useNux<T extends Nux>( + id: T, +): + | { + nux: Extract<AppNux, {id: T}> | undefined + status: 'ready' + } + | { + nux: undefined + status: 'loading' | 'error' + } { + const {nuxs, status} = useNuxs() - if (nuxs && rest.isSuccess) { + if (status === 'ready') { const nux = nuxs.find(nux => nux.id === id) if (nux) { return { nux: nux as Extract<AppNux, {id: T}>, - ...rest, + status, + } + } else { + return { + nux: undefined, + status, } } } return { nux: undefined, - ...rest, + status, } } -export function useUpsertNuxMutation() { +export function useSaveNux() { const queryClient = useQueryClient() const agent = useAgent() @@ -68,7 +97,7 @@ export function useUpsertNuxMutation() { }) } -export function useRemoveNuxsMutation() { +export function useResetNuxs() { const queryClient = useQueryClient() const agent = useAgent() |