diff --git a/components/board/BoardAccess.tsx b/components/board/BoardAccess.tsx
index 0313ffc..ebaa6f9 100644
--- a/components/board/BoardAccess.tsx
+++ b/components/board/BoardAccess.tsx
@@ -1,14 +1,16 @@
import { Role } from "@/db/schema";
import { fetchMembersByBoardID } from "@/lib/db/member";
import MD5 from "crypto-js/md5";
+import dynamic from "next/dynamic";
import Image from "next/image";
-import MemberManage from "./MemberManage";
interface BoardAccessProps {
boardId: string;
role: Role;
}
+const MemberManage = dynamic(() => import("@/components/board/MemberManage"), { ssr: false });
+
export default async function BoardAccess({ boardId, role }: BoardAccessProps) {
const members = await fetchMembersByBoardID(boardId);
const memberCount = members.length;
@@ -38,7 +40,7 @@ export default async function BoardAccess({ boardId, role }: BoardAccessProps) {
)}
- {role === Role.owner && }
+ {role === Role.owner && }
);
}
diff --git a/components/board/MemberList.tsx b/components/board/MemberList.tsx
index 222ad15..30aad9a 100644
--- a/components/board/MemberList.tsx
+++ b/components/board/MemberList.tsx
@@ -1,30 +1,21 @@
"use client";
-import React, { useState } from "react";
import { removeMemberFromBoard } from "@/lib/actions/boardActions";
-import type { Role } from "@/db/schema";
-
-interface Member {
- id: number;
- userId: string;
- role: Role;
- updateAt: Date;
-}
+import React from "react";
+import type { MemberInfo } from "./MemberManage";
interface MemberListProps {
boardId: string;
- initialMembers: Member[];
+ members: MemberInfo[];
}
export default function MemberList({
boardId,
- initialMembers,
+ members,
}: MemberListProps) {
- const [members, setMembers] = useState(initialMembers);
async function handleRemoveMember(memberId: number) {
await removeMemberFromBoard(boardId, memberId);
- setMembers(members.filter((member) => member.id !== memberId));
}
return (
@@ -35,7 +26,7 @@ export default function MemberList({
className="flex justify-between items-center bg-gray-100 p-2 rounded"
>
-
{member.userId}
+
{member.username}