Skip to content

Commit 8f49365

Browse files
committed
데이터 및 UI 개선 반영
1 parent 2315191 commit 8f49365

8 files changed

Lines changed: 57 additions & 44 deletions

File tree

src/data/computed.ts

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import { siteData } from './siteData'
1616
import { events2022 } from './events/2022'
17-
import type { PartnerType, Status } from './constants'
17+
import type { PartnerType, Status, Event, EventDate } from './constants'
1818
import { partnerSamsung } from './partners/samsung'
1919
import { partnerMulticampus } from './partners/multicampus'
2020
import { partnerSsafy } from './partners/ssafy'
@@ -32,18 +32,7 @@ import { operator2026 } from './operator/2026'
3232
// 새 운영진 추가 시: operator/{year}.ts 생성 후 import + allOperators에 추가
3333

3434
// ─── 행사 전체 목록 ───────────────────────────────────────────
35-
export type Event = {
36-
title: string
37-
date: string
38-
location: string
39-
category: string
40-
summary: string
41-
img: string
42-
upcoming: boolean
43-
formUrl: string
44-
participants: number
45-
internal?: boolean // true면 행사 일정에서 제외, 역대 행사에는 표시
46-
}
35+
export type { Event, EventDate } // constants.ts에서 re-export
4736

4837
export const allEvents: Event[] = [
4938
...events2022,

src/data/constants.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
11
// 사이트 전반에서 공유하는 상수 및 레이블 매핑
22

3+
// ─── 행사 타입 ──────────────────────────────────────────────────────
4+
export type EventDate = {
5+
start: string // 행사 시작일 (YYYY-MM-DD)
6+
end?: string // 행사 종료일 — 양일 이상일 때만 기재
7+
recruitStart?: string // 모집 시작일
8+
recruitEnd?: string // 모집 마감일
9+
}
10+
11+
export type Event = {
12+
title: string
13+
date: EventDate
14+
location: string
15+
category: string
16+
summary: string
17+
img: string
18+
upcoming: boolean
19+
formUrl: string
20+
participants: number
21+
internal?: boolean // true면 행사 일정에서 제외, 역대 행사에는 표시
22+
}
23+
324
// ─── 공통 상태 ──────────────────────────────────────────────────────
425
// 협력사, 동아리, 운영진 등 여러 곳에서 재사용
526
export const STATUS_LABEL = {

src/data/events/2022.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
export const events2022 = [
44
{
55
title: '발대식',
6-
date: '2022-06-09',
6+
date: { start: '2022-06-09' },
77
location: '[업데이트 필요]',
88
category: 'Opening',
99
summary: '싸피니티 공식 출범을 알리는 첫 번째 행사',
@@ -14,7 +14,7 @@ export const events2022 = [
1414
},
1515
{
1616
title: '집행부 MT',
17-
date: '2022-07-30',
17+
date: { start: '2022-07-30' },
1818
location: '[업데이트 필요]',
1919
category: 'Internal',
2020
summary: '1박 2일 집행부 워크숍 및 친목 도모',
@@ -26,7 +26,7 @@ export const events2022 = [
2626
},
2727
{
2828
title: '오픈토크',
29-
date: '2022-08-27',
29+
date: { start: '2022-08-27' },
3030
location: '[업데이트 필요]',
3131
category: 'Seminar',
3232
summary: '현업 동문들과 함께하는 자유로운 토크 세션',
@@ -37,7 +37,7 @@ export const events2022 = [
3737
},
3838
{
3939
title: '가을 운동회',
40-
date: '2022-10-22',
40+
date: { start: '2022-10-22' },
4141
location: '[업데이트 필요]',
4242
category: 'Sports',
4343
summary: '동문들과 함께하는 가을 체육 행사',

src/data/events/2023.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
export const events2023 = [
44
{
55
title: '싸피인의 밤',
6-
date: '2023-01-14',
6+
date: { start: '2023-01-14' },
77
location: '[업데이트 필요]',
88
category: 'Networking',
99
summary: '한 해를 마무리하며 동문들과 함께하는 네트워킹 파티',
@@ -14,7 +14,7 @@ export const events2023 = [
1414
},
1515
{
1616
title: '집행부 봄 MT',
17-
date: '2023-03-25',
17+
date: { start: '2023-03-25' },
1818
location: '[업데이트 필요]',
1919
category: 'Internal',
2020
summary: '1박 2일 집행부 워크숍 및 친목 도모',
@@ -26,7 +26,7 @@ export const events2023 = [
2626
},
2727
{
2828
title: 'SSAFYnale',
29-
date: '2023-06-10',
29+
date: { start: '2023-06-10' },
3030
location: '[업데이트 필요]',
3131
category: 'Networking',
3232
summary: '싸피니티 대표 연례 네트워킹 행사',
@@ -37,7 +37,7 @@ export const events2023 = [
3737
},
3838
{
3939
title: '가을 체육대회',
40-
date: '2023-09-23',
40+
date: { start: '2023-09-23' },
4141
location: '[업데이트 필요]',
4242
category: 'Sports',
4343
summary: '동문들과 함께하는 가을 체육 행사',
@@ -48,7 +48,7 @@ export const events2023 = [
4848
},
4949
{
5050
title: '세미나',
51-
date: '2023-11-25',
51+
date: { start: '2023-11-25' },
5252
location: '[업데이트 필요]',
5353
category: 'Seminar',
5454
summary: '현업 동문들의 기술 및 커리어 세미나',

src/data/events/2024.ts

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
export const events2024 = [
44
{
55
title: '싸피인의 밤',
6-
date: '2024-02-17',
6+
date: { start: '2024-02-17' },
77
location: '[업데이트 필요]',
88
category: 'Networking',
99
summary: '한 해를 마무리하며 동문들과 함께하는 네트워킹 파티',
@@ -12,9 +12,20 @@ export const events2024 = [
1212
formUrl: '',
1313
participants: 0, // [업데이트 필요]
1414
},
15+
{
16+
title: '정회원 MT',
17+
date: { start: '2024-04-27', end: '2024-04-28' },
18+
location: '[업데이트 필요]',
19+
category: 'Retreat',
20+
summary: '1박 2일 정회원 워크숍 및 친목 도모',
21+
img: '',
22+
upcoming: false,
23+
formUrl: '',
24+
participants: 0, // [업데이트 필요]
25+
},
1526
{
1627
title: 'SSAFYnale',
17-
date: '2024-06-22',
28+
date: { start: '2024-06-22' },
1829
location: '[업데이트 필요]',
1930
category: 'Networking',
2031
summary: '싸피니티 대표 연례 네트워킹 행사',
@@ -25,7 +36,7 @@ export const events2024 = [
2536
},
2637
{
2738
title: '가을 체육대회',
28-
date: '2024-09-28',
39+
date: { start: '2024-09-28' },
2940
location: '[업데이트 필요]',
3041
category: 'Sports',
3142
summary: '동문들과 함께하는 가을 체육 행사',
@@ -36,7 +47,7 @@ export const events2024 = [
3647
},
3748
{
3849
title: '세미나',
39-
date: '2024-11-30',
50+
date: { start: '2024-11-30' },
4051
location: '[업데이트 필요]',
4152
category: 'Seminar',
4253
summary: '현업 동문들의 기술 및 커리어 세미나',

src/data/events/2025.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
export const events2025 = [
44
{
55
title: '싸피인의 밤',
6-
date: '2025-03-08',
6+
date: { start: '2025-03-08' },
77
location: '[업데이트 필요]',
88
category: 'Networking',
99
summary: '한 해를 마무리하며 동문들과 함께하는 네트워킹 파티',
@@ -14,7 +14,7 @@ export const events2025 = [
1414
},
1515
{
1616
title: 'SSAFYnale',
17-
date: '2025-06-06',
17+
date: { start: '2025-06-06' },
1818
location: '[업데이트 필요]',
1919
category: 'Networking',
2020
summary: '싸피니티 대표 연례 네트워킹 행사',
@@ -25,7 +25,7 @@ export const events2025 = [
2525
},
2626
{
2727
title: '포트락 파티',
28-
date: '2025-09-27',
28+
date: { start: '2025-09-27' },
2929
location: '[업데이트 필요]',
3030
category: 'Networking',
3131
summary: '동문들이 함께 즐기는 포트락 스타일 파티',
@@ -36,7 +36,7 @@ export const events2025 = [
3636
},
3737
{
3838
title: '커리어파티',
39-
date: '2025-12-06',
39+
date: { start: '2025-12-06' },
4040
location: '[업데이트 필요]',
4141
category: 'Networking',
4242
summary: '커리어 네트워킹과 함께하는 연말 파티',

src/data/events/2026.ts

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,6 @@
11
// 2026년 행사 목록
22
// [업데이트 필요] 행사 확정 시 항목 추가
33

4-
export const events2026: {
5-
title: string
6-
date: string
7-
location: string
8-
category: string
9-
summary: string
10-
img: string
11-
upcoming: boolean
12-
formUrl: string
13-
participants: number
14-
}[] = []
4+
import type { Event } from '@/data/constants'
5+
6+
export const events2026: Event[] = []

src/pages/team/history.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -154,15 +154,15 @@ export default function TeamHistoryPage() {
154154
const inner = (
155155
<>
156156
<p className="text-[10px] font-black text-blue-700 bg-blue-100 inline-block px-1.5 py-0.5 rounded mb-1">{m.role}</p>
157+
{'cohort' in m && m.cohort != null && (
158+
<p className="text-[10px] text-slate-400 mb-0.5">{m.cohort}{('campus' in m && m.campus != null) ? ` · ${m.campus}` : ''}</p>
159+
)}
157160
<p className="text-sm font-extrabold text-slate-800 whitespace-nowrap">
158161
<span className="inline-flex items-center gap-1">
159162
{m.name ?? '(공석)'}
160163
{'url' in m && m.url && <ExternalLink className="w-3 h-3 text-blue-400 shrink-0" />}
161164
</span>
162165
</p>
163-
{'cohort' in m && m.cohort != null && (
164-
<p className="text-[10px] text-slate-400 mt-0.5">{m.cohort}{('campus' in m && m.campus != null) ? ` · ${m.campus}` : ''}</p>
165-
)}
166166
</>
167167
)
168168
return 'url' in m && m.url ? (

0 commit comments

Comments
 (0)