Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
3.5 kB · 88 lines
TypeScript
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889import { useStore } from "./index";
// Base selectorsexport const useHydrated = () => useStore((state) => state.hydrated);
// Sidebar selectorsexport const useIsSidebarCollapsed = () => useStore((state) => state.isCollapsed);export const useSidebarTargetWidth = () => useStore((state) => state.targetWidth);export const useIsSidebarLoaded = () => useStore((state) => state.isLoaded);export const useIsSidebarHidden = () => useStore((state) => state.isHidden);export const useIsSidebarOverlay = () => useStore((state) => state.overlay);export const useIsSidebarDrawerOpen = () => useStore((state) => state.drawerOpen);
// Bluesky selectorsexport const useOAuthSession = () => useStore((state) => state.oauthSession);export const usePDS = () => useStore((state) => state.pds);export const useLogin = () => useStore((state) => state.loginState);export const useProfiles = () => useStore((state) => state.profiles);export const useStoredKey = () => useStore((state) => state.storedKey);export const useKeyRecords = () => useStore((state) => state.streamKeysResponse);export const useServerSettings = () => useStore((state) => state.serverSettings);export const useUserProfile = () => { const oauthSession = useOAuthSession(); const profiles = useProfiles(); const did = oauthSession?.did; if (!did) return null; return profiles[did];};export const useIsReady = () => { const authStatus = useStore((state) => state.authStatus); const oauthSession = useOAuthSession(); const profile = useUserProfile();
if (authStatus === "start") { return false; } else if (authStatus === "loggedOut") { return true; } if (!oauthSession) { return false; } if (!profile) { return false; } return true;};export const useNewLivestream = () => useStore((state) => state.newLivestream);export const useChatProfile = () => useStore((state) => state.chatProfile);export const useCachedProfiles = () => useStore((state) => state.profileCache);
// ContentMetadata selectorsexport const useContentMetadata = () => useStore((state) => ({ creating: state.creating, updating: state.updating, error: state.error, lastCreatedRecord: state.lastCreatedRecord, }));export const useIsCreating = () => useStore((state) => state.creating);export const useIsUpdating = () => useStore((state) => state.updating);export const useContentMetadataError = () => useStore((state) => state.error);export const useLastCreatedRecord = () => useStore((state) => state.lastCreatedRecord);
// Streamplace selectorsexport const useStreamplaceUrl = () => useStore((state) => state.url);export const useStreamplaceInitialized = () => useStore((state) => state.initialized);export const useUserMuted = () => useStore((state) => state.userMuted);export const useChatWarned = () => useStore((state) => state.chatWarned);export const useMySegments = () => useStore((state) => state.mySegments);
// Platform selectorsexport const useNotificationToken = () => useStore((state) => state.notificationToken);export const useNotificationDestination = () => useStore((state) => state.notificationDestination);export const useEnableWebNotifications = () => useStore((state) => state.enableWebNotifications);export const useDisableWebNotifications = () => useStore((state) => state.disableWebNotifications);export const useWebNotificationPermission = () => useStore((state) => state.webNotificationPermission);