Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion frontend/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,700;12..96,800&family=Geist+Mono:wght@400;500;600&display=swap"
/>
<title>StackUp — IT Interview Solution</title>
<title>StackUp — AI Interview Solution</title>
</head>
<body>
<div id="root"></div>
Expand Down
8 changes: 4 additions & 4 deletions frontend/src/features/history/ui/ScoreTrend.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import type { UserStats } from '../api/historyApi'

const W = 320
const H = 150
const PAD = { l: 26, r: 10, t: 14, b: 10 }
const W = 480
const H = 220
const PAD = { l: 30, r: 14, t: 18, b: 16 }
const IW = W - PAD.l - PAD.r
const IH = H - PAD.t - PAD.b
const GRID = [0, 50, 100]
Expand Down Expand Up @@ -66,7 +66,7 @@ export function ScoreTrend({ stats }: { stats: UserStats }) {
<span className="text-caption text-fg-muted">지표별 점수 추이 (최근 {n}회)</span>
<svg
viewBox={`0 0 ${W} ${H}`}
className="h-36 w-full"
className="h-56 w-full"
preserveAspectRatio="none"
role="img"
aria-label={`지표별 점수 추이, 최근 ${n}회. ${series
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/pages/Login/ui/LoginPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ export default function LoginPage() {

<footer className="border-t border-border">
<div className="mx-auto max-w-content px-6 lg:px-12 h-14 flex items-center justify-between text-caption font-mono text-fg-muted">
<span>© 2026 StackUp · CNU 종합설계</span>
<span>© 2026 StackUp</span>
<Link to="/" className="hover:text-fg-strong transition-colors duration-fast">
← Back to home
</Link>
Expand Down
28 changes: 26 additions & 2 deletions frontend/src/pages/Workspace/ui/HomeView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export function HomeView() {
<p className="text-caption uppercase tracking-[0.08em] text-white/60">
맞춤 모의 면접
</p>
<h2 className="mt-2 font-heading text-h4 font-bold">
<h2 className="mt-2 font-heading text-h4 font-bold text-white">
이력서·레포 기반 맞춤 면접을 시작하세요
</h2>
<p className="mt-2 max-w-xl text-body text-white/70">
Expand Down Expand Up @@ -50,13 +50,19 @@ export function HomeView() {
</div>
</section>

<div className="grid gap-4 md:grid-cols-3">
<div className="grid gap-4 sm:grid-cols-2 lg:grid-cols-4">
<QuickLink
to="/workspace/resumes"
title="이력서"
description="이력서를 업로드하고 분석 결과를 확인하세요."
icon={<ResumeIcon />}
/>
<QuickLink
to="/workspace/cover-letters"
title="자소서"
description="자소서 문항을 입력하고 분석 결과를 확인하세요."
icon={<CoverLetterIcon />}
/>
<QuickLink
to="/workspace/repos"
title="레포지토리"
Expand Down Expand Up @@ -151,6 +157,24 @@ function ResumeIcon() {
)
}

function CoverLetterIcon() {
return (
<svg
viewBox="0 0 20 20"
width="20"
height="20"
fill="none"
stroke="currentColor"
strokeWidth="1.6"
strokeLinecap="round"
strokeLinejoin="round"
>
<rect x="3" y="3" width="14" height="14" rx="1.5" />
<path d="M6.5 7.5h7M6.5 10.5h7M6.5 13.5h4" />
</svg>
)
}

function RepoIcon() {
return (
<svg
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/widgets/home-faq/ui/HomeFaq.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const faqs = [
},
{
q: '어떤 형식의 이력서를 지원하나요?',
a: 'Phase 1 기준 PDF만 지원합니다. HWP·DOCX는 PDF로 변환 후 업로드해 주세요.',
a: '현재 PDF만 지원합니다. HWP·DOCX는 PDF로 변환 후 업로드해 주세요. (자소서는 문항별 텍스트로 바로 입력할 수 있어요.)',
},
{
q: 'GitHub 외 다른 로그인은 가능한가요?',
Expand Down
21 changes: 5 additions & 16 deletions frontend/src/widgets/home-quote/ui/HomeQuote.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -58,25 +58,14 @@ export function HomeQuote() {

<blockquote className="-mt-6">
<p className="text-white text-[24px] lg:text-[30px] leading-snug font-medium">
Stack Up은 올인원 IT 면접 솔루션입니다. 본인 코드를 가장 잘 아는
면접관 — GitHub 레포에서 출발해, 답변의 깊이까지 따라 들어갑니다.
Stack Up은 직군을 가리지 않는 올인원 모의 면접 솔루션입니다. 이력서·자소서·
GitHub 레포에서 출발해, 답변의 깊이까지 따라 들어갑니다.
</p>
</blockquote>

<div className="mt-auto pt-12 grid grid-cols-1 sm:grid-cols-2 gap-2 sm:items-end">
<div>
<div className="text-white text-button font-semibold">
박상우 · 신재호 · 정준모 · 조서현
</div>
<div className="mt-1 text-sage-300 text-caption font-mono uppercase tracking-[0.18em]">
Team StackUp · CNU
</div>
</div>
<div className="sm:text-right">
<span className="inline-flex items-center gap-1.5 px-3 py-1 rounded-pill border border-sage-600 text-sage-200 text-caption">
<span className="w-1.5 h-1.5 rounded-full bg-success" aria-hidden />
2026 · Phase 1
</span>
<div className="mt-auto pt-12">
<div className="text-sage-200 text-button font-medium">
전 직군 · 맞춤 질문 · 음성·비언어 분석까지
</div>
</div>
</div>
Expand Down
6 changes: 3 additions & 3 deletions frontend/src/widgets/site-footer/ui/SiteFooter.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ export function SiteFooter() {
Stack Up
</div>
<p className="mt-4 text-sage-200 max-w-sm leading-relaxed">
IT 직군 멀티모달 AI 면접 시뮬레이터. GitHub 레포와 이력서를 분석해
개인 맞춤 면접과 음성·비언어적 피드백을 제공합니다.
직군을 가리지 않는 멀티모달 AI 면접 시뮬레이터. 이력서·자소서·GitHub
레포를 분석해 개인 맞춤 면접과 음성·비언어적 피드백을 제공합니다.
</p>
</div>

Expand Down Expand Up @@ -115,7 +115,7 @@ export function SiteFooter() {

<div className="mt-16 pt-8 border-t border-sage-600/60 flex flex-col sm:flex-row gap-3 sm:items-center sm:justify-between">
<div className="text-caption font-mono text-sage-300">
© 2026 StackUp · CNU 종합설계. All rights reserved.
© 2026 StackUp. All rights reserved.
</div>
<ul className="flex gap-6 text-caption text-sage-300">
<li>
Expand Down