;
+}
+
+export default function ActionModal({
+ isOpen,
+ size = 'sm',
+ title,
+ description,
+ onClose,
+ children,
+ ...props
+}: ActionModalProps & DivProps) {
+ const widthSize = useCallback(() => {
+ switch (size) {
+ case 'sm':
+ return 'w-[450px]';
+ case 'md':
+ return 'w-[650px]';
+ case 'lg':
+ return 'w-[900px]';
+ }
+ }, []);
+
+ if (!isOpen) return null;
+ return (
+
+ );
+}
diff --git a/frontend/src/components/ui/admin/hackathon/AdminHackathonManageTable.tsx b/frontend/src/components/ui/admin/hackathon/AdminHackathonManageTable.tsx
index 6575d118..3a231db4 100644
--- a/frontend/src/components/ui/admin/hackathon/AdminHackathonManageTable.tsx
+++ b/frontend/src/components/ui/admin/hackathon/AdminHackathonManageTable.tsx
@@ -6,6 +6,7 @@ import { useRouter } from 'next/navigation';
import { MdDeleteForever } from '@react-icons/all-files/md/MdDeleteForever';
import { MdFileDownload } from '@react-icons/all-files/md/MdFileDownload';
import { MdEdit } from '@react-icons/all-files/md/MdEdit';
+import { MdSettings } from '@react-icons/all-files/md/MdSettings';
import { HackathonManageDto } from '@/types/common.dto';
@@ -27,8 +28,12 @@ export default function AdminHackathonManageTable({ hackathonInfos }: AdminHacka
);
}
+ function handleManageContestClick(hackathonId: number) {
+ router.push(`/admin/hackathon/manage/${hackathonId}`);
+ }
+
function handleEditContestClick(hackathonId: number) {
- router.push(`/admin/hackathon/${hackathonId}`);
+ router.push(`/admin/hackathon/edit/${hackathonId}`);
}
function handleDeleteContestClick(selectedHackathon: HackathonManageDto) {
@@ -59,6 +64,7 @@ export default function AdminHackathonManageTable({ hackathonInfos }: AdminHacka
대회명 |
대회기간 |
활성 여부 |
+ 대회 관리 |
대회 수정 |
대회 삭제 |
투표 결과 |
@@ -83,6 +89,14 @@ export default function AdminHackathonManageTable({ hackathonInfos }: AdminHacka
/>
+
+
+ |
|