Skip to content

Commit 80ab8f1

Browse files
committed
chore: commit all remaining frontend changes
1 parent 5b8438a commit 80ab8f1

19 files changed

Lines changed: 528 additions & 394 deletions

File tree

529 KB
Loading

src/app/login/page.tsx

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
import { useCallback, useEffect, useMemo, useState } from 'react'
44
import axios from 'axios'
5-
import { Button } from '@nextui-org/react'
6-
import Image from 'next/image'
75
import { useRouter, useSearchParams } from 'next/navigation'
86

97
import Loader from '@/components/ui/common/Loader'
@@ -145,10 +143,10 @@ export default function LoginPage() {
145143
console.log('[LoginPage] Existing user login success, saving to storage')
146144
setUser(data.user, data.accessToken, data.refreshToken)
147145
} else {
148-
console.warn('[LoginPage] Login success but missing data', {
149-
hasUser: !!data.user,
150-
hasAt: !!data.accessToken,
151-
hasRt: !!data.refreshToken
146+
console.warn('[LoginPage] Login success but missing data', {
147+
hasUser: !!data.user,
148+
hasAt: !!data.accessToken,
149+
hasRt: !!data.refreshToken
152150
})
153151
}
154152
if (typeof window !== 'undefined') {
@@ -227,24 +225,27 @@ export default function LoginPage() {
227225
}, [googleClientId, googleRedirectUri, nextUrl])
228226

229227
const RenderPcView = () => (
230-
<div className="mx-auto flex min-h-screen w-full max-w-[1128px] flex-col items-center justify-center px-6 py-16">
231-
<div className="w-full max-w-[550px] space-y-6">
228+
<div className="mx-auto -mt-6 flex min-h-screen w-full max-w-[1128px] flex-col items-center justify-center px-6 py-16">
229+
<div className="w-[550px] space-y-6">
232230
<div className="flex items-center gap-3">
233231
<GdgLogo mode="pc" variant="long" priority />
234232
</div>
235-
<div className="rounded-[20px] border border-white/10 bg-black px-10 py-14 text-white shadow-[0_0_12px_rgba(250,250,250,0.25)]">
236-
<div className="flex flex-col items-center gap-6 text-center">
233+
<div className="rounded-[20px] border border-white/10 bg-black m-auto text-white shadow-[0_0_12px_rgba(250,250,250,0.25)] h-[315px]">
234+
<div className="flex h-full flex-col items-center justify-center gap-6 text-center">
237235
<div className="space-y-2 text-center">
238-
<p className="typo-h4 text-white">
239-
방문을 환영합니다!
240-
</p>
241-
<p className="typo-b3 text-white">
236+
<p className="typo-pc-h4 text-white">방문을 환영합니다!</p>
237+
<p className="typo-pc-b3 text-white">
242238
GDGoC INHA 홈페이지를 이용하려면 로그인하세요.
243239
</p>
244240
</div>
245241
<div className="flex flex-col items-center gap-2">
246-
<GdgGoogleLoginButton device="pc" onClick={handleGoogleLogin} disabled={!canUseGoogleLogin || loading} loading={loading} />
247-
<div className="space-y-1 typo-c1 text-gray-400">
242+
<GdgGoogleLoginButton
243+
device="pc"
244+
onClick={handleGoogleLogin}
245+
disabled={!canUseGoogleLogin || loading}
246+
loading={loading}
247+
/>
248+
<div className="space-y-1 typo-pc-c2 text-gray-400">
248249
<p>@inha.edu 계정만 사용 가능합니다</p>
249250
{errorMessage ? <p className="text-red">{errorMessage}</p> : null}
250251
</div>
@@ -256,23 +257,24 @@ export default function LoginPage() {
256257
)
257258

258259
const RenderMobileView = () => (
259-
<div className="relative flex min-h-screen flex-col items-center justify-center px-4 py-16 text-white">
260-
<div className="w-full max-w-[343px] space-y-4">
260+
<div className="relative -mt-6 flex min-h-screen flex-col items-center justify-center px-4 py-16 text-white">
261+
<div className="w-[343px] space-y-4">
261262
<div className="flex items-center gap-2">
262263
<GdgLogo mode="mobile" variant="long" />
263264
</div>
264-
<div className="rounded-[20px] border border-white/10 bg-black px-[41px] py-10 text-white shadow-[0_0_12px_rgba(250,250,250,0.25)]">
265-
<div className="flex flex-col items-center gap-6 text-center">
265+
<div className="rounded-[20px] border border-white/10 bg-black m-auto text-white shadow-[0_0_12px_rgba(250,250,250,0.25)] h-[212px]">
266+
<div className="flex h-full flex-col items-center justify-center gap-6 text-center">
266267
<div className="space-y-2 text-center">
267-
<p className="typo-m-h3 text-white">
268-
방문을 환영합니다!
269-
</p>
270-
<p className="typo-m-c1 text-white">
271-
GDGoC INHA 홈페이지를 이용하려면 로그인하세요.
272-
</p>
268+
<p className="typo-m-h3 text-white">방문을 환영합니다!</p>
269+
<p className="typo-m-c2 text-white">GDGoC INHA 홈페이지를 이용하려면 로그인하세요.</p>
273270
</div>
274271
<div className="flex flex-col items-center gap-2">
275-
<GdgGoogleLoginButton device="mobile" onClick={handleGoogleLogin} disabled={!canUseGoogleLogin || loading} loading={loading} />
272+
<GdgGoogleLoginButton
273+
device="mobile"
274+
onClick={handleGoogleLogin}
275+
disabled={!canUseGoogleLogin || loading}
276+
loading={loading}
277+
/>
276278
<div className="space-y-1 typo-m-c2 text-gray-400">
277279
<p>@inha.edu 계정만 사용 가능합니다</p>
278280
{errorMessage ? <p className="text-red">{errorMessage}</p> : null}

src/app/recruit/core/completed/page.tsx

Lines changed: 34 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,58 +3,71 @@
33
import Link from 'next/link'
44
import { GdgLogo, GdgButton } from '@/components/ui/design-system'
55

6+
function Bullet({ children }: { children: React.ReactNode }) {
7+
return (
8+
<div className="flex items-start w-full">
9+
<span className="w-5 shrink-0 text-center text-[18px] mobile:text-[16px] leading-none font-bold mt-[1px]">
10+
11+
</span>
12+
<div className="typo-pc-b2 mobile:typo-m-b3 flex-1">{children}</div>
13+
</div>
14+
)
15+
}
16+
617
export default function RecruitCoreCompleted() {
718
return (
819
<main className="min-h-screen bg-black overflow-x-hidden">
9-
<div className="relative z-10 pt-18 pb-32 mobile:pt-12 mobile:pb-24 px-4 layout-grid layout-grid--narrow-screen layout-grid--4 gap-y-10">
20+
<div className="relative z-10 pt-18 pb-32 mobile:pt-12 mobile:pb-24 layout-grid layout-grid--narrow-screen layout-grid--4 gap-y-10">
1021
{/* Header */}
1122
<div className="col-span-4 flex items-center gap-3 mobile:gap-2">
1223
<GdgLogo mode="auto" />
13-
<h1 className="typo-h3 text-white mobile:typo-m-h3">Core Member 지원 완료</h1>
24+
<h1 className="typo-pc-h3 text-white mobile:typo-m-h2">Core Member 지원 완료</h1>
1425
</div>
1526

1627
{/* Content Sections - Step 2 UI 이관 */}
1728
<div className="col-span-4 flex flex-col gap-10 w-full">
1829
<div className="space-y-2">
19-
<p className="pl-2 typo-s2 mobile:typo-m-s1 text-white">모집 일정</p>
30+
<p className="pl-2 typo-pc-s2 mobile:typo-m-s1 text-white">모집 일정</p>
2031
<div className="rounded-xl bg-gray-100 px-4 py-3 text-white">
21-
<div className="space-y-4 typo-b2 mobile:space-y-3 mobile:typo-b3">
32+
<div className="space-y-4 typo-pc-b2 mobile:space-y-3 mobile:typo-m-b3">
2233
<div className="space-y-1">
23-
<p>서류 지원 기간</p>
24-
<p>2025. 12. 26.(금) - 2026. 01. 09.(금) 23:59:59</p>
34+
<Bullet>서류 지원 기간</Bullet>
35+
<p>2026. 2. 12.(목) - 2026. 3. 14.(토) 23:59</p>
2536
</div>
2637
<div className="space-y-1">
27-
<p>서류 결과 발표</p>
28-
<p>~ 2026. 01. 10.(토)</p>
38+
<Bullet>서류 결과 발표</Bullet>
39+
<p>~ 2026. 3. 15.(일)</p>
2940
</div>
3041
<div className="space-y-1">
31-
<p>면접 진행 기간</p>
32-
<p>2026. 01. 12.(월) - 2026. 01. 16.(금)</p>
33-
<p className="typo-c2 text-gray-700">
42+
<Bullet>면접 진행 기간</Bullet>
43+
<p>2026. 3. 16.(월) - 2026. 3. 20.(금)</p>
44+
<p className="typo-pc-c2 mobile:typo-m-c2 text-gray-700">
3445
※ 지원자 및 면접관 일정에 따라 마감 전 면접이 가능할 수 있습니다.
3546
</p>
3647
</div>
3748
<div className="space-y-1">
38-
<p>최종 결과 발표</p>
39-
<p>~ 2026. 01. 16.(금)</p>
49+
<Bullet>최종 결과 발표</Bullet>
50+
<p>~ 2026. 3. 21.(토)</p>
4051
</div>
4152
</div>
4253
</div>
4354
</div>
4455

4556
<div className="space-y-2">
46-
<p className="pl-2 typo-s2 mobile:typo-m-s1 text-white">면접 안내</p>
47-
<div className="rounded-xl bg-gray-100 px-4 py-3 text-white typo-b2 mobile:typo-b3">
48-
<p>• 원칙적으로 대면 면접을 진행하며, 부득이한 경우 비대면으로 조정될 수 있습니다.</p>
49-
<p className="mt-2">• 면접은 인하대학교 내부 장소에서 진행됩니다.</p>
57+
<p className="pl-2 typo-pc-s2 mobile:typo-m-s1 text-white">면접 안내</p>
58+
<div className="rounded-xl bg-gray-100 px-4 py-3 text-white typo-pc-b2 mobile:typo-m-b3">
59+
<Bullet>원칙적으로 대면 면접을 진행하며, 부득이한 경우 비대면으로 조정될 수 있습니다.</Bullet>
60+
<div className="mt-2">
61+
<Bullet>면접은 인하대학교 내부 장소에서 진행됩니다.</Bullet>
62+
</div>
5063
</div>
5164
</div>
5265

5366
<div className="space-y-2">
54-
<p className="pl-2 typo-s2 mobile:typo-m-s1 text-white">활동 안내</p>
55-
<div className="rounded-xl bg-gray-100 px-4 py-3 text-white typo-b2 mobile:typo-b3">
56-
<p>운영진으로 활동 시, 매주 1회 정기 운영진 회의에 필수 참석해야 합니다.</p>
57-
<p className="mt-1 typo-c2 text-gray-700">※ 일정은 1월 내로 공지 드립니다.</p>
67+
<p className="pl-2 typo-pc-s2 mobile:typo-m-s1 text-white">활동 안내</p>
68+
<div className="rounded-xl bg-gray-100 px-4 py-3 text-white typo-pc-b2 mobile:typo-m-b3">
69+
<Bullet>운영진으로 활동 시, 매주 1회 정기 운영진 회의에 필수 참석해야 합니다.</Bullet>
70+
<p className="mt-1 typo-pc-c2 mobile:typo-m-c2 text-gray-700">※ 일정은 3월 내로 공지 드립니다.</p>
5871
</div>
5972
</div>
6073

0 commit comments

Comments
 (0)