From 83772513399f64639dba64b6df1fa1296b4556bb Mon Sep 17 00:00:00 2001
From: flareseek <flareseek@gmail.com>
Date: Mon, 23 Sep 2024 12:45:24 +0900
Subject: [PATCH] =?UTF-8?q?feat:=20=ED=83=80=EC=9E=84=ED=85=8C=EC=9D=B4?=
 =?UTF-8?q?=EB=B8=94=20=EB=A7=81=ED=81=AC=20=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/pages/Timetable/.css.ts          |  7 +++++++
 src/pages/Timetable/index.tsx        | 14 +++++++++++++-
 src/pages/Timetable/timeTableInfo.ts | 18 +++++++++++++++---
 src/shared/types/timeTable.ts        |  1 +
 4 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/src/pages/Timetable/.css.ts b/src/pages/Timetable/.css.ts
index be2e9da..0f8bcce 100644
--- a/src/pages/Timetable/.css.ts
+++ b/src/pages/Timetable/.css.ts
@@ -94,6 +94,13 @@ export const timeTableDescription = style({
   },
 });
 
+export const timeTableLink = style({
+  color: vars.color.blue2,
+  textDecoration: "none",
+  marginLeft: "5px",
+  fontFamily: vars.font.pretendardRegular,
+});
+
 export const timeTableTime = style({
   fontSize: "0.9rem",
   fontWeight: "bold",
diff --git a/src/pages/Timetable/index.tsx b/src/pages/Timetable/index.tsx
index 5baf5b2..2d8a65a 100644
--- a/src/pages/Timetable/index.tsx
+++ b/src/pages/Timetable/index.tsx
@@ -83,7 +83,19 @@ const TimeTableItem: React.FC<{
     <div className={`${styles.timeTableItem}`} ref={status === "current" ? refCallback : null}>
       <h2 className={styles.timeTableTitle}>{timeTable.title}</h2>
       {timeTable.descriptionShow && (
-        <p className={styles.timeTableDescription}>{timeTable.description}</p>
+        <p className={styles.timeTableDescription}>
+          {timeTable.description}
+          {timeTable.link && (
+            <a
+              className={styles.timeTableLink}
+              href={timeTable.link.url}
+              target="_blank"
+              rel="noreferrer"
+            >
+              {timeTable.link.text}
+            </a>
+          )}
+        </p>
       )}
       <p className={styles.timeTableTime}>
         {timeTable.startTime.getMonth() + 1}/{timeTable.startTime.getDate()} |{" "}
diff --git a/src/pages/Timetable/timeTableInfo.ts b/src/pages/Timetable/timeTableInfo.ts
index d892a7f..722b195 100644
--- a/src/pages/Timetable/timeTableInfo.ts
+++ b/src/pages/Timetable/timeTableInfo.ts
@@ -388,11 +388,15 @@ export const timeTableInfo: timeTableInfoProps[] = [
   },
   {
     title: "재학생 우선 입장",
-    description: "재학생 우선 입장 시간 (자세한 안내는 인스타그램 참조)",
+    description: "재학생 우선 입장 시간",
     descriptionShow: true,
     date: new Date("2024-09-23"),
     startTime: new Date("2024-09-23 17:00"),
     endTime: new Date("2024-09-23 17:50"),
+    link: {
+      text: "(자세히보기)",
+      url: "https://www.instagram.com/p/DAFpPQ_SQyL",
+    },
   },
   {
     title: "전체 입장",
@@ -404,11 +408,15 @@ export const timeTableInfo: timeTableInfoProps[] = [
   },
   {
     title: "재학생 우선 입장",
-    description: "재학생 우선 입장 시간 (자세한 안내는 인스타그램 참조)",
+    description: "재학생 우선 입장 시간",
     descriptionShow: true,
     date: new Date("2024-09-24"),
     startTime: new Date("2024-09-24 17:00"),
     endTime: new Date("2024-09-24 17:50"),
+    link: {
+      text: "(자세히보기)",
+      url: "https://www.instagram.com/p/DAFpPQ_SQyL",
+    },
   },
   {
     title: "전체 입장",
@@ -420,11 +428,15 @@ export const timeTableInfo: timeTableInfoProps[] = [
   },
   {
     title: "재학생 우선 입장",
-    description: "재학생 우선 입장 시간 (자세한 안내는 인스타그램 참조)",
+    description: "재학생 우선 입장 시간",
     descriptionShow: true,
     date: new Date("2024-09-25"),
     startTime: new Date("2024-09-25 17:00"),
     endTime: new Date("2024-09-25 17:50"),
+    link: {
+      text: "(자세히보기)",
+      url: "https://www.instagram.com/p/DAFpPQ_SQyL",
+    },
   },
   {
     title: "전체 입장",
diff --git a/src/shared/types/timeTable.ts b/src/shared/types/timeTable.ts
index 17a1224..fb52f03 100644
--- a/src/shared/types/timeTable.ts
+++ b/src/shared/types/timeTable.ts
@@ -8,6 +8,7 @@ export interface timeTableInfoProps {
   date: Date;
   startTime: Date;
   endTime: Date;
+  link?: { text: string; url: string };
 }
 
 export interface timeTableFilterProps {