Guest User

Untitled

a guest
Sep 1st, 2024
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. import MarketGroupsList from './components/MarketsGroupsList';
  2. import MarketGroupsOverview from './components/MarketsGroupOverview';
  3. import MarketGroupsTags from './components/MarketGroupsTags';
  4. import { Optional } from '@/lib/types';
  5. import { Suspense } from 'react';
  6. import MarketsGroupOverviewLoadingSkeleton from './components/loading-skeletons/MarketsGroupOverviewLoadingSkeleton';
  7. import MarketGroupsListLoadingSkeleton from './components/loading-skeletons/MarketGroupsListLoadingSkeleton';
  8. import MarketGroupsTagsLoadingSkeleton from './components/loading-skeletons/MarketGroupsTagsLoadingSkeleton';
  9. import { getTags } from '@/lib/actions/supabase/tags';
  10.  
  11. type MarketPageProps = {
  12. searchParams: {
  13. filter: Optional<string>;
  14. };
  15. };
  16.  
  17. export async function generateStaticParams() {
  18. const tags = await getTags();
  19.  
  20. return tags.map((tag) => ({
  21. filter: tag.value,
  22. }));
  23. }
  24.  
  25. export default function MarketsPage({
  26. searchParams: { filter },
  27. }: MarketPageProps) {
  28. console.log(filter);
  29. return (
  30. <main className='mt-14 space-y-14'>
  31. <Suspense fallback={<MarketsGroupOverviewLoadingSkeleton />}>
  32. <MarketGroupsOverview />
  33. </Suspense>
  34. <div className='space-y-8'>
  35. <Suspense fallback={<MarketGroupsTagsLoadingSkeleton />}>
  36. <MarketGroupsTags filter={filter} />
  37. </Suspense>
  38. <Suspense fallback={<MarketGroupsListLoadingSkeleton />}>
  39. <MarketGroupsList filter={filter} />
  40. </Suspense>
  41. </div>
  42. </main>
  43. );
  44. }
  45.  
Advertisement
Add Comment
Please, Sign In to add comment