diff --git a/src/components/rpkm/components/group-picker.astro b/src/components/rpkm/components/group-picker.astro index fd8fd60..941e70d 100644 --- a/src/components/rpkm/components/group-picker.astro +++ b/src/components/rpkm/components/group-picker.astro @@ -364,6 +364,10 @@ const member2 = members.length > 1 ? members[1] : null; import { AvatarMap } from "@rpkm/data/profile"; import { getProfile } from "@/lib/profileAPI"; import type { Group, User } from "@/types/common"; + import { disablePickingDate } from "@rpkm/data/date"; + + const currentDate = new Date(); + const isPickingDisabled = currentDate >= disablePickingDate; document.addEventListener("DOMContentLoaded", async () => { const userResponse = await getProfile(); @@ -380,8 +384,6 @@ const member2 = members.length > 1 ? members[1] : null; const groupData = groupResponse.data.data as Group; const isConfirmed = groupData ? groupData.isConfirmed : undefined; - const isOwner = - groupData && user ? groupData.ownerId === user.id : undefined; const memberCount = groupData ? groupData.memberCount : -1; const input = document.getElementById("room-id-insert") as HTMLInputElement; @@ -490,6 +492,60 @@ const member2 = members.length > 1 ? members[1] : null; } } + if (isPickingDisabled) { + input.disabled = true; + input.placeholder = "ไม่สามารถกรอกเลขห้องได้"; + headGroupBtn.disabled = true; + headGroupBtn.classList.add( + "cursor-not-allowed", + "opacity-50", + "brightness-75" + ); + headGroupBtn.classList.remove("cursor-pointer"); + backBtn?.classList.add("hidden"); + exitButton?.classList.add("hidden"); + submitGroupButton.disabled = true; + submitGroupButton.classList.add( + "cursor-not-allowed", + "opacity-50", + "brightness-75" + ); + submitGroupButton.classList.remove("cursor-pointer"); + joinGroupButton.disabled = true; + joinGroupButton.classList.add( + "cursor-not-allowed", + "opacity-50", + "brightness-75" + ); + joinGroupButton.classList.remove("cursor-pointer"); + } else { + input.disabled = false; + input.placeholder = "โปรดกรอกรหัสห้อง"; + headGroupBtn.disabled = false; + headGroupBtn.classList.remove( + "cursor-not-allowed", + "opacity-50", + "brightness-75" + ); + headGroupBtn.classList.add("cursor-pointer"); + backBtn?.classList.remove("hidden"); + exitButton?.classList.remove("hidden"); + submitGroupButton.disabled = false; + submitGroupButton.classList.remove( + "cursor-not-allowed", + "opacity-50", + "brightness-75" + ); + submitGroupButton.classList.add("cursor-pointer"); + joinGroupButton.disabled = false; + joinGroupButton.classList.remove( + "cursor-not-allowed", + "opacity-50", + "brightness-75" + ); + joinGroupButton.classList.add("cursor-pointer"); + } + input?.addEventListener("input", toggleSubmitButton); toggleSubmitButton(); @@ -726,7 +782,7 @@ const member2 = members.length > 1 ? members[1] : null; } }); - if (isConfirmed) { + if (isConfirmed || isPickingDisabled) { exitButton?.classList.add("hidden"); backBtn?.classList.add("hidden"); } else { diff --git a/src/components/rpkm/components/house-display.astro b/src/components/rpkm/components/house-display.astro new file mode 100644 index 0000000..57c5945 --- /dev/null +++ b/src/components/rpkm/components/house-display.astro @@ -0,0 +1,91 @@ +--- +import Frame from "@/components/common/Frame.astro"; +import { getGroupByGroupId } from "@/lib/groupAPI"; +import { getProfile } from "@/lib/profileAPI"; +import type { Group, User } from "@/types/common"; + +const token = Astro.cookies.get("token")?.value; + +let groupData: Group | null = null; +let user: User | null = null; + +if (token) { + let groupID = ""; + const userResponse = await getProfile(token); + if (userResponse.success && userResponse.data) { + user = userResponse.data.user as User; + groupID = user.groupId ? user.groupId : ""; + if (groupID) { + const groupResponse = await getGroupByGroupId(groupID, token); + if (groupResponse.success && groupResponse.data) { + groupData = groupResponse.data.data as Group; + } else { + return Astro.redirect("/login"); + } + } else { + return Astro.redirect("/login"); + } + } else { + console.error("Failed to fetch user data:", userResponse.error); + } +} else { + return Astro.redirect("/login"); +} + +if (!groupData || !user) { + return Astro.redirect("/login"); +} + +const assignedHouse = null; // Replace with actual house attribute +--- + +
+ บ้านรับเพื่อนที่เลือกไว้ +
+ + {/* Empty Houses */} +คุณไม่ได้เลือกบ้าน
+บ้านรับเพื่อนที่ได้
+ + {/* House Image */} +
+
+ {/* House Name */}
+ บ้าน xxx
+ + {/* House Instagram */} + ++ baan.something +
+ + + ) + } +คุณยังไม่ได้เลือกบ้าน
++ { + !isHousePickingDisabled + ? "คุณยังไม่ได้เลือกบ้าน" + : "คุณไม่ได้เลือกบ้าน" + } +