File tree Expand file tree Collapse file tree
app/dashboard/groups/[groupId] Expand file tree Collapse file tree Original file line number Diff line number Diff line change 55 PaginatedExpensesResponseDto
66} from '@fairshare/shared-types' ;
77import { notFound } from 'next/navigation' ;
8+ import { Suspense } from 'react' ;
89
910import { DashboardLayout } from '../../../../src/components/layout' ;
1011import { MemberList , ExpenseTable , GroupActions } from '../../../../src/components/groups' ;
@@ -65,8 +66,12 @@ export default async function GroupDetailPage({ params }: GroupDetailPageProps)
6566 </ div >
6667
6768 < aside className = "space-y-10" >
68- < MemberList groupId = { groupId } members = { members } />
69- < GroupActions groupId = { groupId } currency = { group . currency } members = { members } />
69+ < Suspense fallback = { < div className = "h-52 rounded-3xl border border-[var(--fs-border)] bg-[var(--fs-card)] animate-pulse" /> } >
70+ < MemberList groupId = { groupId } members = { members } />
71+ </ Suspense >
72+ < Suspense fallback = { < div className = "h-40 rounded-3xl border border-[var(--fs-border)] bg-[var(--fs-card)] animate-pulse" /> } >
73+ < GroupActions groupId = { groupId } currency = { group . currency } members = { members } />
74+ </ Suspense >
7075 </ aside >
7176 </ div >
7277 </ div >
Original file line number Diff line number Diff line change 22
33import { useState } from 'react' ;
44import { ExpenseDto } from '@fairshare/shared-types' ;
5- import { ReceiptUploadModal } from './ReceiptUploadModal' ;
5+ import dynamic from 'next/dynamic' ;
6+
7+ const ReceiptUploadModal = dynamic (
8+ ( ) => import ( './ReceiptUploadModal' ) . then ( ( mod ) => mod . ReceiptUploadModal ) ,
9+ { ssr : false } ,
10+ ) ;
611
712export function ExpenseRow ( { expense } : { expense : ExpenseDto } ) {
813 const [ open , setOpen ] = useState ( false ) ;
Original file line number Diff line number Diff line change @@ -4,7 +4,12 @@ import { useState } from 'react';
44import { useRouter } from 'next/navigation' ;
55import { GroupMemberSummaryDto } from '@fairshare/shared-types' ;
66import { PlusCircle } from 'lucide-react' ;
7- import { CreateExpenseModal } from './CreateExpenseModal' ;
7+ import dynamic from 'next/dynamic' ;
8+
9+ const CreateExpenseModal = dynamic (
10+ ( ) => import ( './CreateExpenseModal' ) . then ( ( mod ) => mod . CreateExpenseModal ) ,
11+ { ssr : false } ,
12+ ) ;
813
914type GroupActionsProps = {
1015 groupId : string ;
Original file line number Diff line number Diff line change @@ -4,9 +4,11 @@ import React, { useState } from 'react';
44import { useRouter } from 'next/navigation' ;
55import { GroupMemberSummaryDto } from '@fairshare/shared-types' ;
66import { UserPlus } from 'lucide-react' ;
7- import { InviteModal } from './InviteModal ' ;
7+ import dynamic from 'next/dynamic ' ;
88import { glassPanel } from '../layout/layoutStyles' ;
99
10+ const InviteModal = dynamic ( ( ) => import ( './InviteModal' ) . then ( ( mod ) => mod . InviteModal ) , { ssr : false } ) ;
11+
1012interface MemberListProps {
1113 groupId : string ;
1214 members : GroupMemberSummaryDto [ ] ;
You can’t perform that action at this time.
0 commit comments