Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/app/(user-page)/my-meeting/_features/Participated.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ const Participated = () => {
<div>
{/* ์Šน์ธ ๋Œ€๊ธฐ์ค‘์ธ ๋ชจ์ž„ ์„น์…˜ (์ƒ๋‹จ์— ๋ฐฐ์น˜) */}
<PendingSection />
<h1 className="typo-head1 text-white">๋‚˜์˜ Deving ๋ชจ์ž„</h1>
<h1 className="typo-head1 mt-10 text-white">๋‚˜์˜ Deving ๋ชจ์ž„</h1>
{meetingData.pages.map((page, pageIdx) => (
<div key={pageIdx}>
{page.content.map((meeting) => (
Expand Down
5 changes: 3 additions & 2 deletions src/app/meeting/[category]/[id]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ import {
import { getMeetingDetail, getMeetingDetailManager } from 'service/api/meeting';
import { Paginated } from 'types/meeting';

import BackButton from '../../_features/BackButton';
import CardWrapper from '../../_features/CardWrapper';
import ContentLabel from '../../_features/ContextLabel';
import MeetingInfo from '../../_features/MeetingInfo';
import ReviewInput from '../../_features/ReviewInput';
import ReviewList from '../../_features/ReviewList';
import TopSection from '../../_features/TopSection';
import UserInfo from '../../_features/UserInfo';

export default async function page({ params }: { params: { id: string } }) {
Expand Down Expand Up @@ -52,9 +52,10 @@ export default async function page({ params }: { params: { id: string } }) {
return (
<div className="flex flex-col gap-[48px]">
<FloatingButtonGroup />
<BackButton />

<HydrationBoundary state={dehydrate(queryClient)}>
<div className="flex flex-col gap-[48px] p-[16px] md:px-[48px]">
<TopSection meetingId={meetingId} />
<CardWrapper meetingId={meetingId} />
<UserInfo meetingId={meetingId} />
<MeetingInfo meetingId={meetingId} />
Expand Down
18 changes: 0 additions & 18 deletions src/app/meeting/_features/BackButton.tsx

This file was deleted.

6 changes: 6 additions & 0 deletions src/app/meeting/_features/CardRightSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ const CardRightSection = ({ meeting }: { meeting: MeetingDetail }) => {
};

const status = meeting.isMeetingManager ? 'LEADER' : meeting.memberStatus;
const isRejected = status === 'REJECTED' || status === 'EXPEL';

return (
<div className="flex w-full flex-col justify-end gap-[24px] py-[16px] md:p-[16px] lg:h-[208px] lg:w-[318px]">
Expand All @@ -49,6 +50,11 @@ const CardRightSection = ({ meeting }: { meeting: MeetingDetail }) => {
<Button className="w-full" onClick={handleLeader}>
๋‚ด ๋ชจ์ž„ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ
</Button>
) : isRejected ? (
// ๊ฑฐ์ ˆ๋˜๊ฑฐ๋‚˜ ์ถ”๋ฐฉ๋œ ๊ฒฝ์šฐ
<Button className="w-full" disabled>
์‹ ์ฒญ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค
</Button>
) : ['false', 'new user'].includes(status) ? (
meeting.maxMember === meeting.memberCount ? (
// ์ธ์›์ด ๋‹ค ์ฐฌ ๊ฒฝ์šฐ
Expand Down
41 changes: 41 additions & 0 deletions src/app/meeting/_features/TopSection.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
'use client';

import { useDetailQueries } from '@/hooks/queries/useMeetingQueries';
import { ArrowLeft, Edit } from 'lucide-react';
import Link from 'next/link';
import { useRouter } from 'next/navigation';

const TopSection = ({ meetingId }: { meetingId: number }) => {
const router = useRouter();

const { data: meeting, isLoading, error } = useDetailQueries(meetingId);
const status = meeting?.isMeetingManager ? 'LEADER' : meeting?.memberStatus;

if (isLoading || error) {
return null;
}

return (
<div className="mt-[40px] flex items-center justify-between px-[16px]">
<div>
<ArrowLeft
className="hover:text-Cgray900 h-[24px] w-[24px] text-Cgray700 transition-colors hover:cursor-pointer"
onClick={() => router.back()}
/>
</div>

{status === 'LEADER' && (
<Link href={`/meeting/edit-meeting/${meeting?.meetingId}`}>
<div className="flex gap-2">
<div>
<Edit className="hover:text-Cgray900 h-[24px] w-[24px] text-Cgray700 transition-colors hover:cursor-pointer" />
</div>
<p className="text-white">์ˆ˜์ •ํ•˜๊ธฐ</p>
</div>
</Link>
)}
</div>
);
};

export default TopSection;
Loading