File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1414
1515import { siteData } from './siteData'
1616import { events2022 } from './events/2022'
17- import type { PartnerType , Status } from './constants'
17+ import type { PartnerType , Status , Event , EventDate } from './constants'
1818import { partnerSamsung } from './partners/samsung'
1919import { partnerMulticampus } from './partners/multicampus'
2020import { 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
4837export const allEvents : Event [ ] = [
4938 ...events2022 ,
Original file line number Diff line number Diff line change 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// 협력사, 동아리, 운영진 등 여러 곳에서 재사용
526export const STATUS_LABEL = {
Original file line number Diff line number Diff line change 33export 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 : '동문들과 함께하는 가을 체육 행사' ,
Original file line number Diff line number Diff line change 33export 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 : '현업 동문들의 기술 및 커리어 세미나' ,
Original file line number Diff line number Diff line change 33export 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 : '현업 동문들의 기술 및 커리어 세미나' ,
Original file line number Diff line number Diff line change 33export 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 : '커리어 네트워킹과 함께하는 연말 파티' ,
Original file line number Diff line number Diff line change 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 [ ] = [ ]
Original file line number Diff line number Diff 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 ? (
You can’t perform that action at this time.
0 commit comments