From 553d7956bedb809decbb603608b7a4c0467215ab Mon Sep 17 00:00:00 2001 From: Seongbin Kim Date: Sun, 19 Jul 2026 16:00:52 +0900 Subject: [PATCH] =?UTF-8?q?refactor(fe):=20=ED=83=80=EC=9D=B4=ED=8F=AC=20?= =?UTF-8?q?=EC=8A=A4=EC=BC=80=EC=9D=BC=20=ED=86=A0=ED=81=B0=20=EB=93=B1?= =?UTF-8?q?=EB=A1=9D,=20text-[Npx]=20=EC=9E=84=EC=9D=98=EA=B0=92=EC=9D=84?= =?UTF-8?q?=20=EC=9D=B4=EB=A6=84=EC=9C=BC=EB=A1=9C=20=EC=B9=98=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 글자 크기를 text-[11px], text-[13px], text-[15px] 임의값으로 45곳에 흩뿌려 쓰고 있어 스케일에 이름도 단일 출처도 없었다. styles.css @theme에 font-size 토큰으로 등록하고 임의값을 이름으로 치환한다. 토큰은 font-size만 정의해 렌더가 이전과 픽셀 동일하다. - --text-caption(11px), --text-label(13px), --text-body(15px) 등록 - text-[11px]→text-caption(20), text-[13px]→text-label(9), text-[15px]→text-body(16) - line-height는 각 사용처 leading 클래스가 계속 결정 Co-Authored-By: Claude Fable 5 --- frontend/src/components/auth/name-onboarding.tsx | 2 +- frontend/src/components/home/relation-force-map.tsx | 4 ++-- frontend/src/components/person/person-fields.tsx | 2 +- .../settings/relation-tag-color-picker.tsx | 2 +- .../components/settings/settings-navigation-item.tsx | 2 +- .../src/components/timeline/activity-flow-chart.tsx | 6 +++--- frontend/src/components/timeline/timeline-feed.tsx | 2 +- .../src/components/timeline/timeline-filters.tsx | 4 ++-- frontend/src/components/ui/empty-state.tsx | 2 +- frontend/src/components/ui/list-group.tsx | 4 ++-- frontend/src/components/ui/segmented-control.tsx | 4 ++-- frontend/src/components/ui/tag-chip.tsx | 10 +++++----- .../stackflow/activities/event-detail-activity.tsx | 4 ++-- .../activities/person/person-profile-view.tsx | 12 +++++------- .../activities/person/person-timeline-view.tsx | 4 ++-- .../src/stackflow/activities/record-activity.tsx | 4 ++-- .../activities/settings/home-settings-activity.tsx | 2 +- .../stackflow/activities/settings/tag-type-panel.tsx | 2 +- frontend/src/stackflow/components/stack-tab-bar.tsx | 2 +- frontend/src/stackflow/tabs/home-tab.tsx | 4 ++-- frontend/src/stackflow/tabs/people-tab.tsx | 8 ++++---- frontend/src/stackflow/tabs/settings-tab.tsx | 6 +++--- frontend/src/styles.css | 5 +++++ 23 files changed, 50 insertions(+), 47 deletions(-) diff --git a/frontend/src/components/auth/name-onboarding.tsx b/frontend/src/components/auth/name-onboarding.tsx index 02e4fbc..d131dd4 100644 --- a/frontend/src/components/auth/name-onboarding.tsx +++ b/frontend/src/components/auth/name-onboarding.tsx @@ -41,7 +41,7 @@ export function NameOnboarding({
부르면 좋을까요? -

+

이름과 관계 기록은 이 브라우저의 나만의 공간에 연결돼요.

diff --git a/frontend/src/components/home/relation-force-map.tsx b/frontend/src/components/home/relation-force-map.tsx index 86bf8dd..48512c7 100644 --- a/frontend/src/components/home/relation-force-map.tsx +++ b/frontend/src/components/home/relation-force-map.tsx @@ -511,7 +511,7 @@ function CategoryClusterGraph({ ) : null} {showLastMeet && person.intimacy.daysSinceLastMeet != null ? ( - + {formatDaysSinceLastMeet(person.intimacy.daysSinceLastMeet)} ) : null} diff --git a/frontend/src/components/person/person-fields.tsx b/frontend/src/components/person/person-fields.tsx index 34d9e97..91d092a 100644 --- a/frontend/src/components/person/person-fields.tsx +++ b/frontend/src/components/person/person-fields.tsx @@ -93,7 +93,7 @@ export function ListField({ diff --git a/frontend/src/components/settings/relation-tag-color-picker.tsx b/frontend/src/components/settings/relation-tag-color-picker.tsx index 4fc0ca0..e66f91f 100644 --- a/frontend/src/components/settings/relation-tag-color-picker.tsx +++ b/frontend/src/components/settings/relation-tag-color-picker.tsx @@ -43,7 +43,7 @@ export function RelationTagColorPicker({ {selectedOption?.label ?? normalized} - + 변경 diff --git a/frontend/src/components/settings/settings-navigation-item.tsx b/frontend/src/components/settings/settings-navigation-item.tsx index 2abfd42..feacf4a 100644 --- a/frontend/src/components/settings/settings-navigation-item.tsx +++ b/frontend/src/components/settings/settings-navigation-item.tsx @@ -17,7 +17,7 @@ export function SettingsNavigationItem({ onClick={onClick} className="flex min-h-14 w-full items-center justify-between gap-4 px-4 py-3.5 text-left transition-colors hover:bg-muted/70" > - + {label} diff --git a/frontend/src/components/timeline/activity-flow-chart.tsx b/frontend/src/components/timeline/activity-flow-chart.tsx index 58ee45d..07701cc 100644 --- a/frontend/src/components/timeline/activity-flow-chart.tsx +++ b/frontend/src/components/timeline/activity-flow-chart.tsx @@ -108,7 +108,7 @@ export function ActivityFlowChart({ @@ -136,7 +136,7 @@ export const EventDetailActivity: ActivityComponentType<'EventDetail'> = ({ {memo ? (

{memo}

diff --git a/frontend/src/stackflow/activities/person/person-profile-view.tsx b/frontend/src/stackflow/activities/person/person-profile-view.tsx index 4a61012..db87d17 100644 --- a/frontend/src/stackflow/activities/person/person-profile-view.tsx +++ b/frontend/src/stackflow/activities/person/person-profile-view.tsx @@ -173,7 +173,7 @@ export function PersonProfileView({ {recentEvents.length > 0 ? (
-

+

최근 함께한 일

@@ -155,7 +155,7 @@ export function PersonTimelineView({ personId }: { personId: string }) {

{person.stats.lastMetRelative ?? '기록 없음'}

-

+

마지막 만남

diff --git a/frontend/src/stackflow/activities/record-activity.tsx b/frontend/src/stackflow/activities/record-activity.tsx index 8bf1f08..19b7135 100644 --- a/frontend/src/stackflow/activities/record-activity.tsx +++ b/frontend/src/stackflow/activities/record-activity.tsx @@ -87,7 +87,7 @@ const EMOTION_TEXT = [ ] const bigChipBase = - 'inline-flex h-11 items-center justify-center rounded-full border px-5 text-[15px] whitespace-nowrap transition-colors' + 'inline-flex h-11 items-center justify-center rounded-full border px-5 text-body whitespace-nowrap transition-colors' // 선택 채움은 순검정 대신 살짝 연한 잉크(눈부심 완화). const neutralChipClass = cn( bigChipBase, @@ -628,7 +628,7 @@ export const RecordActivity: ActivityComponentType<'Record'> = ({ params }) => { style={letterPaperStyle} className="font-hand min-h-[148px] resize-none border-0 bg-transparent p-0 text-lg leading-7 tracking-tight shadow-none focus-visible:ring-0 md:text-lg" /> - + {what.length}/{MEMO_MAX} diff --git a/frontend/src/stackflow/activities/settings/home-settings-activity.tsx b/frontend/src/stackflow/activities/settings/home-settings-activity.tsx index 8ede551..096d09c 100644 --- a/frontend/src/stackflow/activities/settings/home-settings-activity.tsx +++ b/frontend/src/stackflow/activities/settings/home-settings-activity.tsx @@ -25,7 +25,7 @@ export const HomeSettingsActivity: ActivityComponentType< pop()} />
-

+

기본으로 보여줄 기간

diff --git a/frontend/src/stackflow/activities/settings/tag-type-panel.tsx b/frontend/src/stackflow/activities/settings/tag-type-panel.tsx index 1813c98..d56b1f2 100644 --- a/frontend/src/stackflow/activities/settings/tag-type-panel.tsx +++ b/frontend/src/stackflow/activities/settings/tag-type-panel.tsx @@ -134,7 +134,7 @@ export function TagTypePanel({ {description}

- + {chips.length}개 diff --git a/frontend/src/stackflow/components/stack-tab-bar.tsx b/frontend/src/stackflow/components/stack-tab-bar.tsx index d8a77a6..a1e0dbf 100644 --- a/frontend/src/stackflow/components/stack-tab-bar.tsx +++ b/frontend/src/stackflow/components/stack-tab-bar.tsx @@ -48,7 +48,7 @@ export function StackTabBar({ activeTab }: { activeTab: MainTab }) { type="button" onClick={() => replaceStep({ tab: item.tab })} className={cn( - 'flex flex-col items-center gap-1 text-[11px] font-bold', + 'flex flex-col items-center gap-1 text-caption font-bold', activeTab === item.tab ? 'text-foreground' : 'text-muted-foreground', diff --git a/frontend/src/stackflow/tabs/home-tab.tsx b/frontend/src/stackflow/tabs/home-tab.tsx index 79b4a01..58f0b23 100644 --- a/frontend/src/stackflow/tabs/home-tab.tsx +++ b/frontend/src/stackflow/tabs/home-tab.tsx @@ -120,13 +120,13 @@ export function HomeTab() { >

1년 전 오늘 - + {throwback.occurredDate}

{throwback.title ?? `작년 이맘때 ${throwback.personName}`}

diff --git a/frontend/src/stackflow/tabs/people-tab.tsx b/frontend/src/stackflow/tabs/people-tab.tsx index bb51330..5465ec8 100644 --- a/frontend/src/stackflow/tabs/people-tab.tsx +++ b/frontend/src/stackflow/tabs/people-tab.tsx @@ -93,7 +93,7 @@ export function PeopleTab() {