This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'development'

+11 -27
+5 -8
src/webapp/components/navigation/navbar/Skeleton.Navbar.tsx
··· 16 16 17 17 import SembleLogo from '@/assets/semble-logo.svg'; 18 18 import NavbarToggle from '../NavbarToggle'; 19 + import CollectionsNavListSkeleton from '@/features/collections/components/collectionsNavList/Skeleton.CollectionsNavList'; 19 20 20 21 export default function NavbarSkeleton() { 21 22 return ( ··· 35 36 </Group> 36 37 37 38 <AppShellSection grow component={ScrollArea}> 38 - <Stack mt={'xl'}> 39 + <Stack gap={'md'} mt={'xl'}> 39 40 {/* Profile Menu Skeleton */} 40 41 <Group gap="sm" m={5} wrap="nowrap"> 41 42 <Skeleton h={38} w={38} /> ··· 43 44 </Group> 44 45 45 46 {/* Nav Items Skeleton */} 46 - <Stack gap={5} mt="xs"> 47 + <Stack gap={5}> 47 48 {[...Array(6)].map((_, i) => ( 48 49 <Skeleton key={i} height={40} radius="md" /> 49 50 ))} 50 51 </Stack> 51 52 </Stack> 52 53 53 - <Divider my={'sm'} /> 54 + <Divider mb={'sm'} mt={'18'} /> 54 55 55 56 {/* Collections List Skeleton */} 56 - <Stack gap={5}> 57 - {[...Array(3)].map((_, i) => ( 58 - <Skeleton key={i} height={36} radius="md" /> 59 - ))} 60 - </Stack> 57 + <CollectionsNavListSkeleton /> 61 58 </AppShellSection> 62 59 63 60 <AppShellSection>
+3 -3
src/webapp/features/collections/components/collectionsNavList/Skeleton.CollectionsNavList.tsx
··· 4 4 return ( 5 5 <Stack gap={'xs'}> 6 6 <Group justify="space-between"> 7 - <Text fw={600} c={'gray'}> 7 + <Text fw={600} fz={'sm'} c={'gray'}> 8 8 Collections 9 9 </Text> 10 10 11 11 <Group gap={'xs'}> 12 - <Skeleton radius={'xl'} h={26} w={73} /> 13 - <Skeleton radius={'xl'} h={26} w={26} /> 12 + <Skeleton radius={'xl'} h={30} w={73} /> 13 + <Skeleton radius={'xl'} h={30} w={26} /> 14 14 </Group> 15 15 </Group> 16 16
-1
src/webapp/features/feeds/lib/queries/useFollowingFeed.tsx
··· 26 26 ), 27 27 staleTime: 10000, 28 28 initialPageParam: 1, 29 - refetchOnWindowFocus: false, 30 29 enabled, 31 30 queryFn: ({ pageParam = 1 }) => { 32 31 return getFollowingFeed({
-1
src/webapp/features/feeds/lib/queries/useGemsFeed.tsx
··· 22 22 ), 23 23 staleTime: 10000, 24 24 initialPageParam: 1, 25 - refetchOnWindowFocus: false, 26 25 queryFn: ({ pageParam = 1 }) => { 27 26 return getGemsActivityFeed({ 28 27 limit,
-1
src/webapp/features/feeds/lib/queries/useGlobalFeed.tsx
··· 24 24 ), 25 25 staleTime: 10000, 26 26 initialPageParam: 1, 27 - refetchOnWindowFocus: false, 28 27 queryFn: ({ pageParam = 1 }) => { 29 28 return getGlobalFeed({ 30 29 limit,
-1
src/webapp/features/follows/lib/queries/useCollectionFollowersCount.tsx
··· 11 11 queryKey: followKeys.collectionFollowersCount(collectionId), 12 12 queryFn: () => getCollectionFollowersCount(collectionId), 13 13 staleTime: 10000, 14 - refetchOnWindowFocus: false, 15 14 }); 16 15 17 16 return query;
-1
src/webapp/features/follows/lib/queries/useFollowersCount.tsx
··· 11 11 queryKey: followKeys.followersCount(identifier), 12 12 queryFn: () => getFollowersCount(identifier), 13 13 staleTime: 10000, 14 - refetchOnWindowFocus: false, 15 14 }); 16 15 17 16 return query;
-1
src/webapp/features/follows/lib/queries/useFollowingCollectionsCount.tsx
··· 11 11 queryKey: followKeys.followingCollectionsCount(identifier), 12 12 queryFn: () => getFollowingCollectionsCount(identifier), 13 13 staleTime: 10000, 14 - refetchOnWindowFocus: false, 15 14 }); 16 15 17 16 return query;
-1
src/webapp/features/follows/lib/queries/useFollowingCount.tsx
··· 11 11 queryKey: followKeys.followingCount(identifier), 12 12 queryFn: () => getFollowingCount(identifier), 13 13 staleTime: 10000, 14 - refetchOnWindowFocus: false, 15 14 }); 16 15 17 16 return query;
-1
src/webapp/features/graph/lib/queries/useGraphData.tsx
··· 37 37 queryKey: graphKeys.page(page), 38 38 queryFn: () => getGraphDataPage(page), 39 39 staleTime: 5 * 60 * 1000, // 5 minutes 40 - refetchOnWindowFocus: false, 41 40 })), 42 41 }); 43 42
-1
src/webapp/features/graph/lib/queries/useGraphNodeCollection.tsx
··· 34 34 enabled: enabled && !!handle && !!rkey, 35 35 staleTime: 5 * 60 * 1000, // 5 minutes - collections don't change often 36 36 retry: 1, // Only retry once for popup data 37 - refetchOnWindowFocus: false, // Don't refetch on focus for popup data 38 37 }); 39 38 }
-2
src/webapp/features/graph/lib/queries/useGraphNodeUrl.tsx
··· 24 24 enabled: enabled && !!url, 25 25 staleTime: 3 * 60 * 1000, // 3 minutes - URLs change more often 26 26 retry: 1, 27 - refetchOnWindowFocus: false, 28 27 }, 29 28 { 30 29 queryKey: url ··· 37 36 enabled: enabled && !!url, 38 37 staleTime: 3 * 60 * 1000, 39 38 retry: 1, 40 - refetchOnWindowFocus: false, 41 39 }, 42 40 ], 43 41 });
-1
src/webapp/features/graph/lib/queries/useGraphNodeUser.tsx
··· 21 21 enabled: enabled && !!handle, 22 22 staleTime: 5 * 60 * 1000, // 5 minutes - profiles don't change often 23 23 retry: 1, // Only retry once for popup data 24 - refetchOnWindowFocus: false, // Don't refetch on focus for popup data 25 24 }); 26 25 }
-1
src/webapp/features/graph/lib/queries/useUrlGraphData.tsx
··· 20 20 queryKey: graphKeys.url(url, depth), 21 21 queryFn: () => apiClient.getUrlGraphData({ url, depth }), 22 22 staleTime: 5 * 60 * 1000, // 5 minutes 23 - refetchOnWindowFocus: false, 24 23 enabled: !!url, // Only fetch if URL is provided 25 24 }); 26 25
-1
src/webapp/features/graph/lib/queries/useUserGraphData.tsx
··· 37 37 queryKey: graphKeys.userPage(identifier, page), 38 38 queryFn: () => apiClient.getUserGraphData({ identifier, page }), 39 39 staleTime: 5 * 60 * 1000, // 5 minutes 40 - refetchOnWindowFocus: false, 41 40 })), 42 41 }); 43 42
-1
src/webapp/features/notifications/lib/queries/useMyNotifications.tsx
··· 15 15 queryKey: notificationKeys.infinite(limit), 16 16 staleTime: 10000, 17 17 initialPageParam: 1, 18 - refetchOnWindowFocus: false, 19 18 queryFn: ({ pageParam = 1 }) => { 20 19 return getMyNotifications({ limit, page: pageParam, unreadOnly }); 21 20 },
-1
src/webapp/hooks/useAuth.tsx
··· 61 61 return session; 62 62 }, 63 63 staleTime: 5 * 60 * 1000, // cache for 5 minutes 64 - refetchOnWindowFocus: false, 65 64 retry: false, 66 65 }); 67 66
+3
src/webapp/providers/tanstack.tsx
··· 12 12 defaultOptions: { 13 13 queries: { 14 14 staleTime: 60 * 1000, 15 + gcTime: 5 * 60 * 1000, 16 + refetchOnWindowFocus: false, 17 + retry: 1, 15 18 }, 16 19 dehydrate: { 17 20 // include pending queries in dehydration