Skip to content

๐Ÿ’„ [Design] ๋ช…ํ•จ ๋ฏธํ™•์ • ์‹œ์•ˆ ํ™•์ • โ€” ๋นˆ ์ƒํƒœยท์‚ญ์ œ ๋™์„ ยท์ด๋ฆ„ ํ‘œ๊ธฐยทํŒŒํŠธ ์ปฌ๋Ÿฌ (#1236) - #1277

Open
JEONG-J wants to merge 1 commit into
developfrom
design/1236

Conversation

@JEONG-J

@JEONG-J JEONG-J commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

๐Ÿ”— ๊ด€๋ จ ์ด์Šˆ

Closes #1236

โœจ PR ์œ ํ˜•

์‹œ์•ˆ์ด ํ™•์ •๋˜์ง€ ์•Š์•„ ใ€Œ๋””์ž์ด๋„ˆ ํ™•์ธ ๋Œ€๊ธฐใ€ ์ฃผ์„์œผ๋กœ ๋ฒ„ํ‹ฐ๊ณ  ์žˆ๋˜ ๋ช…ํ•จ ๊ธฐ๋Šฅ์˜ ๋„ค ์ž๋ฆฌ๋ฅผ ํ™•์ •ํ•˜๊ณ ,
ํ™•์ •๊ฐ’์„ ์ฝ”๋“œยท์ฃผ์„ยทํ…Œ์ŠคํŠธ์— ๋ฐ˜์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ™•์ • ๊ทผ๊ฑฐ ์ „๋ฌธ์€ ๊ธฐํš ๋ ˆํฌ ์„ค๊ณ„ ๋ฌธ์„œ์— ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“ท ์Šคํฌ๋ฆฐ์ƒท or ์˜์ƒ(UI ๋ณ€๊ฒฝ ์‹œ)

์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ์บก์ฒ˜๋Š” ๋ฏธ์ฒจ๋ถ€์ž…๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ์ด ํ™”๋ฉด ๋‹จ์œ„ ์‹ ๊ทœ UI๊ฐ€ ์•„๋‹ˆ๋ผ ๊ธฐ์กด ํ™”๋ฉด์˜ ํ™•์ •๊ฐ’ ๋ฐ˜์˜์ด๋ผ,
์•„๋ž˜ ํ‘œ๋กœ ๋ณ€๊ฒฝ ์ „/ํ›„๋ฅผ ๋Œ€์‹ ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ ์‹œ ํ™•์ธ ํฌ์ธํŠธ๋Š” ยง๐Ÿ“Œ ๋ฆฌ๋ทฐ ํฌ์ธํŠธ์— ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

์ง€์  ๋ณ€๊ฒฝ ์ „ ๋ณ€๊ฒฝ ํ›„
๋ช…ํ•จ์ฒฉ ๋นˆ ์ƒํƒœ ์ œ๋ชฉยท์„ค๋ช…ยท์‹ฌ๋ฒŒ๋งŒ, ๋‹ค์Œ ๋™์„  ์—†์Œ ใ€Œ๋ช…ํ•จ ๊ตํ™˜ํ•˜๊ธฐใ€ CTA(.glassProminent) ์ถ”๊ฐ€
๋ช…ํ•จ_s ํŒŒํŠธ/๊ธฐ์ˆ˜ ์นฉ ์‹œ๋“œ@0.8 ๋ฐฐ๊ฒฝ + ํฐ ๋ผ๋ฒจ (๋ผ์ดํŠธ 8์ข… ์ „๋ถ€ AA ๋ฏธ๋‹ฌ) ๋ถˆํˆฌ๋ช… ํ˜ผํ•ฉ ๋ฐฐ๊ฒฝ + ๊ฒ€์ • ๋ผ๋ฒจ (๋ผ์ดํŠธยท๋‹คํฌ 8์ข… 5.92~14.92 ํ†ต๊ณผ)
๋ฏธ์ •์˜ ํŒŒํŠธ ๋ช…ํ•จ Admin ์ธ๋””๊ณ (#6155F5)๋กœ ํ‘œ์‹œ ๋ฌด์ฑ„์ƒ‰ grey400 ํด๋ฐฑ
์‚ญ์ œ ๋‹ค์ด์–ผ๋กœ๊ทธ ใ€Œโ€ฆ์ง€์›๋‹ˆ๋‹ค.ใ€ ใ€Œโ€ฆ์ง€์›Œ์š”.ใ€

๐Ÿ› ๏ธ ์ž‘์—…๋‚ด์šฉ

1. ๋นˆ ์ƒํƒœ โ€” CTA ํ™•์ • (์‹œ์•ˆ 12639:33678)

  • ReceivedCardsView ์˜ ใ€Œ๋ช…ํ•จ 0์žฅใ€ ๋ถ„๊ธฐ๋ฅผ ContentUnavailableView 3-ํด๋กœ์ € ํ˜•ํƒœ๋กœ ๋ฐ”๊พธ๊ณ 
    NavigationLink(value: .exchange) + .buttonStyle(.glassProminent) CTA 1๊ฐœ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฌธ๊ตฌยท์‹ฌ๋ฒŒ์€ ํ˜„ํ–‰ ํ™•์ •์ž…๋‹ˆ๋‹ค. QR ์Šค์บ”์€ ํˆด๋ฐ”์— ์ƒ์กดํ•˜๋ฏ€๋กœ ๋ณธ๋ฌธ CTA ๋Š” ๊ตํ™˜ ํ•˜๋‚˜๋งŒ ๋‘ก๋‹ˆ๋‹ค
    โ€” ๊ฐ™์€ ๋ชฉ์ ์ง€๋ฅผ ํ™”๋ฉด์— ๋‘ ๋ฒˆ ๋‘์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๊ฒ€์ƒ‰ 0๊ฑด ๋ถ„๊ธฐ๋Š” ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ContentUnavailableView.search(text:) ๊ฐ€ ๋ฌธ๊ตฌยทํ˜„์ง€ํ™”ยท
    ๋‹คํฌ ๋ชจ๋“œ๋ฅผ ๋ณด์ฆํ•˜๊ณ , ๊ฒ€์ƒ‰์–ด๋ฅผ ์ง€์šฐ๋ฉด ๊ณง์žฅ ๋ณต๊ท€ํ•˜๋Š” ์ƒํƒœ๋ผ CTA ๊ฐ€ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.

2. ์‚ญ์ œ ๋™์„  โ€” ์ƒ์„ธ ๋‹จ๋… ํ™•์ •

  • ์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์Œ. ReceivedCardDetailView ๋ฌธ์„œ ์ฃผ์„์— ์ƒ์„ธ ํ™”๋ฉด ๋‹จ๋…์ด ํ™•์ • ์‚ฌ์–‘์ž„์„ ๋ชป ๋ฐ•์•˜์Šต๋‹ˆ๋‹ค.
    (LazyVGrid ๋ผ ์Šค์™€์ดํ”„ ์‚ญ์ œ๊ฐ€ ๊ตฌ์กฐ์ƒ ๋ถˆ๊ฐ€ํ•˜๊ณ , ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด๋Š” โœจ Feature: ๋ฐ›์€ ๋ช…ํ•จ ์ƒ์„ธ ํ™”๋ฉด ยท ๊ตํ™˜ ๋งฅ๋ฝ(exchangeContext) ์‹ค์ œ ๊ธฐ๋กย #1227 ์—์„œ ์ œ๊ฑฐ๋œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.)
  • ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ฉ”์‹œ์ง€์˜ ใ€Œ์ง€์›๋‹ˆ๋‹คใ€ โ†’ ใ€Œ์ง€์›Œ์š”ใ€ 1์–ด์ ˆ๋งŒ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์•ฑ ์ „๋ฐ˜์ด ํ•ด์š”์ฒด๋ผ ์ด ๋ฌธ์žฅ๋งŒ
    ํ•ฉ์‡ผ์ฒด๋กœ ์–ด๊ธ‹๋‚˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ œ๋ชฉยท๋ฒ„ํŠผ ๋ผ๋ฒจ์€ ํ˜„ํ–‰ ํ™•์ •์ž…๋‹ˆ๋‹ค.

3. ์ด๋ฆ„ ํ‘œ๊ธฐ ๊ทœ์น™ ํ™•์ • (์‹œ์•ˆ 12657:35806)

  • ๋ช…ํ•จ_lยท_mยท_s ์„ธ ์ปดํฌ๋„ŒํŠธ์— ๊ฐ™์€ ๋กœ์ง์ด ์„ธ ๋ฒŒ ๋ณต์ œ๋ผ ์žˆ๋˜ displayName ์„ ์ง€์šฐ๊ณ ,
    Domain ์˜ MyCard.nameWithNickname ํ•˜๋‚˜๋กœ ๋ชจ์•˜์Šต๋‹ˆ๋‹ค. ํ‘œ๊ธฐ๊ฐ€ ๋ฐ”๋€Œ๋ฉด ์ด์ œ ํ•œ ๊ณณ๋งŒ ๊ณ ์นฉ๋‹ˆ๋‹ค.
  • ๋ช…ํ•จ_l(BusinessCardFaceView)ยท๋ช…ํ•จ_m(BusinessCardSummaryView) ์˜ ์ด๋ฆ„ Text ์—
    .layoutPriority(1) ์„ ์คฌ์Šต๋‹ˆ๋‹ค. ์ด๋ฆ„๊ณผ ํ•™๊ต๊ฐ€ ๋‘˜ ๋‹ค lineLimit(1) ์ด๋ผ ํญ์ด ๋ชจ์ž๋ž„ ๋•Œ
    ์–ด๋А ์ชฝ์ด ์ž˜๋ฆด์ง€ ๊ทœ์น™์ด ์—†์—ˆ๋Š”๋ฐ, ์ด๋ฆ„์ด 1์ฐจ ์‹๋ณ„์ž์ด๋ฏ€๋กœ ํ•™๊ต๊ฐ€ ๋จผ์ € ๋ง์ค„์ž„๋˜๋„๋ก ๊ณ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
    (๋ช…ํ•จ_s ๋Š” ๋‘ ๊ฐ’์ด VStack ์œผ๋กœ ์ค„์ด ๋‚˜๋‰˜์–ด ์žˆ์–ด ๊ฒฝํ•ฉ์ด ์—†์Šต๋‹ˆ๋‹ค โ€” ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.)
  • minimumScaleFactor ๋Š” ๋„ฃ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. Dynamic Type ์„ค์ •์„ ๋˜๋Œ๋ฆฌ๋Š” ์ถ•์†Œ๋Š” ์ ‘๊ทผ์„ฑ ์—ญํ–‰์ž…๋‹ˆ๋‹ค.

4. ํŒŒํŠธ ์ปฌ๋Ÿฌ ํ™•์ •

  • ์‹œ๋“œ 8์ข… ํ˜„ํ–‰ ์œ ์ง€ ํ™•์ •. ์‹œ์•ˆ์— ์—†๋Š” iOS ํŒŒํŠธ๋งŒ #FF9500 ์œผ๋กœ ์ฑ„์šด ์ƒํƒœ๋ฅผ ํ™•์ •๊ฐ’์œผ๋กœ ๊ตณํžˆ๊ณ ,
    ใ€Œ๋””์ž์ด๋„ˆ ํ™•์ธใ€ ์ฃผ์„์„ ํ™•์ • ์ฃผ์„์œผ๋กœ ์Šน๊ฒฉํ–ˆ์Šต๋‹ˆ๋‹ค. color(์‹œ์Šคํ…œ ์ปฌ๋Ÿฌ, ActivityยทNotice ์‚ฌ์šฉ)๋Š”
    ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
  • ๋ฏธ์ •์˜ ํŒŒํŠธ ํด๋ฐฑ ์ถ”๊ฐ€ (๋ฒ„๊ทธ ์ˆ˜์ •). MyCard.partRaw != nil ์ด๋ฉด part ๊ฐ€ ๊ด€๋ก€์ƒ .admin ์œผ๋กœ
    ๋–จ์–ด์ ธ, ๋ชจ๋ฅด๋Š” ํŒŒํŠธ์˜ ๋ช…ํ•จ์ด Admin ์ธ๋””๊ณ ๋ฅผ ์ž…๊ณ  ์šด์˜์ง„์ฒ˜๋Ÿผ ๋ณด์ด๋˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
    UMCPartType.unresolvedSeedColor(grey400)๋ฅผ ์ถ”๊ฐ€ํ•ด ๋ฌด์ฑ„์ƒ‰์œผ๋กœ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค.
  • ์นฉ ๋Œ€๋น„ ํ•ด์†Œ (๐ŸŽจ Design: ๋ช…ํ•จ ํ™”๋ฉด ์ ‘๊ทผ์„ฑ โ€” VoiceOver ๋ผ๋ฒจ ๋ถ€์žฌ ยท ํŒŒํŠธ ์นฉ ๋Œ€๋น„ ๋ฏธ๊ฒ€์ฆย #1235). ์นฉ ๋ฐฐ๊ฒฝ์„ ์•ŒํŒŒ ํ•ฉ์„ฑ์—์„œ ๋ชจ๋“œ ๋ถˆ๋ณ€ ๋ถˆํˆฌ๋ช… ํ˜ผํ•ฉ์ƒ‰
    (seed.mix(with: .white, by: 0.2, in: .device))์œผ๋กœ ๋ฐ”๊พธ๊ณ  ๋ผ๋ฒจ์„ Color.black ์œผ๋กœ ๊ณ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
    ๋ผ๋ฒจ ์ƒ‰๋งŒ ๋ฐ”๊พธ๋Š” ์•ˆ์€ ๋‹คํฌ์—์„œ ๋‹ค์‹œ ๊นจ์ง‘๋‹ˆ๋‹ค โ€” ๊ฒ€์ • ๋ผ๋ฒจ์€ Admin 2.95ยทPM 3.47ยทDesign 3.90ยทWeb 4.08 ์ด,
    ํฐ ๋ผ๋ฒจ์€ Spring 3.42ยทAndroid 3.32ยทiOS 3.38ยทNode 2.39 ๊ฐ€ ๋ฏธ๋‹ฌ์ด๋ผ ์–ด๋А ํ•œ ์ž‰ํฌ๋กœ๋„ ์–‘ ๋ชจ๋“œ๋ฅผ ๋ชป ๋ฎ์Šต๋‹ˆ๋‹ค.
    ๋ฉด์„ ๋ฏธ๋ฆฌ ์„ž์–ด ๋‘๋ฉด ๋ผ์ดํŠธ ํ”ฝ์…€์€ ๊ทธ๋Œ€๋กœ๋ฉด์„œ ๋‹คํฌ์—์„œ๋„ ๊ฐ™์€ ์ƒ‰์ด ๋‚จ์•„, ๊ฒ€์ • ๋ผ๋ฒจ ํ•˜๋‚˜๋กœ
    ๋ผ์ดํŠธยท๋‹คํฌ 8์ข…์ด ์ „๋ถ€ 5.92~14.92 ๋กœ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ’์€ UMCPartTypeSeedColorTests ์˜
    ๋Œ€๋น„ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ณ ์ •ํ•ฉ๋‹ˆ๋‹ค โ€” ์‹œ๋“œ๋‚˜ ํ˜ผํ•ฉ๋น„๊ฐ€ ๋ฐ”๋€Œ๋ฉด ํ…Œ์ŠคํŠธ๊ฐ€ ๋จผ์ € ๊นจ์ง‘๋‹ˆ๋‹ค.

5. ํ…Œ์ŠคํŠธ

  • MyCardTests โ€” nameWithNickname ํ‘œ๊ธฐ ๊ทœ์น™์„ ๊ทน๋‹จ ์ผ€์ด์Šค(๋นˆ ๋‹‰๋„ค์ž„ยท๊ณต๋ฐฑ๋ฟ์ธ ๋‹‰๋„ค์ž„ยท์–‘๋ ๊ณต๋ฐฑยท
    ๊ธด ์ด๋ฆ„ยท์˜๋ฌธ ์ด๋ฆ„ยท๋นˆ ์ด๋ฆ„)๋กœ ํŒŒ๋ผ๋ฏธํ„ฐํ™”ํ•ด ๊ณ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • UMCPartTypeSeedColorTests โ€” โ‘  ์นฉ ๋ฉด ์œ„ ๊ฒ€์ • ๋ผ๋ฒจ์˜ WCAG ๋Œ€๋น„๊ฐ€ 8์ข… ์ „๋ถ€ 4.5:1 ์„ ๋„˜๋Š”์ง€,
    โ‘ก ํด๋ฐฑ์ด ์ €์ฑ„๋„ ํšŒ์ƒ‰(์ฑ„๋„ํญ 40 ๋ฏธ๋งŒ)์ด๊ณ  ์‹œ๋“œ 8์ข…์€ ์œ ์ฑ„์ƒ‰(์ฑ„๋„ํญ 40 ์ดˆ๊ณผ)์ธ์ง€ ๊ณ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
    ํด๋ฐฑ์ด ์‹œ๋“œ ๊ทผ์ฒ˜ ์ƒ‰์œผ๋กœ ๋ฐ”๋€Œ๋ฉด ใ€Œ์šด์˜์ง„์ฒ˜๋Ÿผ ๋ณด์ž„ใ€ ๋ฒ„๊ทธ๊ฐ€ ๋˜์‚ด์•„๋‚˜๋ฏ€๋กœ, hex ์™„์ „ ์ผ์น˜๋งŒ์œผ๋กœ๋Š”
    ๋ถ€์กฑํ•ด ์ฑ„๋„ ์ถ•์œผ๋กœ ๋‹จ์–ธํ•ฉ๋‹ˆ๋‹ค.
  • ํ”„๋ฆฌ๋ทฐ(BusinessCardPreviewData)์— partRaw ๊ฐ€ ์ฑ„์›Œ์ง„ ์นด๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด, ์ง„์งœ ์šด์˜์ง„(์ธ๋””๊ณ )๊ณผ
    ๋ชป ์ฝ์€ ํŒŒํŠธ(ํšŒ์ƒ‰)๊ฐ€ ๋‚˜๋ž€ํžˆ ๋ณด์ด๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“‹ ์ถ”ํ›„ ์ง„ํ–‰ ์ƒํ™ฉ

์•„๋ž˜ 4๊ฑด์€ ์‚ฌ๋žŒ(๋””์ž์ธํŒ€)๋งŒ ๋‚ด๋ฆด ์ˆ˜ ์žˆ๋Š” ํŒ๋‹จ์ด๋ผ ์ด PR ๋ฒ”์œ„ ๋ฐ–์ž…๋‹ˆ๋‹ค.
๊ฐ ํ•ญ๋ชฉ์€ ํ™•์ •๊ฐ’์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ์ƒํƒœ๋กœ ๋‘์—ˆ๊ณ , ์ •์ •์ด ์˜ค๋ฉด ๊ณ ์น  ์ง€์ ์„ ํ•จ๊ป˜ ์ ์—ˆ์Šต๋‹ˆ๋‹ค.

  1. ๋นˆ ์ƒํƒœ ์ปค์Šคํ…€ ์ผ๋Ÿฌ์ŠคํŠธ โ€” ์‹œ์•ˆ 12639:33678 ์— ์ „์šฉ ๊ทธ๋ž˜ํ”ฝ์ด ์žˆ๋Š”์ง€ ํ™•์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
    ์›๋ณธ ์—์…‹ ์ œ์ž‘์€ ์ฝ”๋“œ๋กœ ๋Œ€์‹ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋•Œ๊นŒ์ง€ SF Symbol person.crop.rectangle.stack ์ด ํ™•์ •๊ฐ’์ž…๋‹ˆ๋‹ค.
  2. iOS ํŒŒํŠธ ๊ณต์‹ ์‹œ๋“œ ๋ณ€ํ˜• ์ƒ‰ โ€” ์‹œ์•ˆ์— iOS ๋ณ€ํ˜•์ด ์—†์–ด #FF9500 ์œผ๋กœ ํ™•์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
    ๋ธŒ๋žœ๋“œ ํŒ”๋ ˆํŠธ ๊ฒฐ์ •์ด๋ผ ๋””์ž์ด๋„ˆ ๋ชซ์ด๋ฉฐ, ๋‚˜์˜ค๋ฉด UMCPartType+Color.swift ์˜ ํ•œ ๊ฐ’๊ณผ ํ…Œ์ŠคํŠธ๋งŒ ๊ต์ฒดํ•ฉ๋‹ˆ๋‹ค.
  3. ์ด๋ฆ„/๋‹‰๋„ค์ž„ ๋”๋ฏธ์˜ ์˜๋„ โ€” ๋ณ‘๊ธฐ ํ‘œ๊ธฐ์ธ์ง€ ใ€Œ์ด๋ฆ„ ๋˜๋Š” ๋‹‰๋„ค์ž„ใ€ ์ž๋ฆฌํ‘œ์‹œ์ž์ธ์ง€๋Š” ์‹œ์•ˆ ์›๋ณธ์˜
    ์ปดํฌ๋„ŒํŠธ ์†์„ฑ์„ ์—ด์–ด์•ผ ํŒ๋ณ„๋ฉ๋‹ˆ๋‹ค(12657:35806). ๋ณ‘๊ธฐ๋กœ ํ™•์ •ํ–ˆ๊ณ , ์ •์ •๋˜๋ฉด MyCard.nameWithNickname
    ํ•œ ๊ณณ๋งŒ ๊ณ ์น˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  4. ๋ช…ํ•จ_s ๋‹คํฌ ๋ชจ๋“œ ์นฉ ํ†ค โ€” ๋‹คํฌ ์‹œ์•ˆ์ด ์—†์–ด, ์–ด๋‘์šด ์นด๋“œ ๋ฉด ์œ„ ๋ฐ์€ ๋ถˆํˆฌ๋ช… ์นฉ์˜ ํ†ค์ด ์˜๋„์™€ ๋งž๋Š”์ง€
    ํ™•์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋น„(4.5:1)๋Š” ์ด๋ฏธ ๋ณด์ฆ๋˜๋ฏ€๋กœ ๋ฏธ๊ฐ ํŒ๋‹จ๋งŒ ๋‚จ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ ๋ฆฌ๋ทฐ์—์„œ ๋‚˜์˜จ ๋ฒ”์œ„ ๋ฐ– ํ›„์† ๊ฑด 2๊ฐœ๋„ ์—ฌ๊ธฐ ๋‚จ๊น๋‹ˆ๋‹ค.

  1. ๋‹˜ ๋„์–ด์“ฐ๊ธฐ ๋ถˆ์ผ์น˜ โ€” ์ด PR ์ด ๊ณ ์นœ ์‚ญ์ œ ๋‹ค์ด์–ผ๋กœ๊ทธ๋Š” "\(name) ๋‹˜์˜"(๋„์›€), ํ˜•์ œ ํ™”๋ฉด์ธ
    CardLinkReceiveViewModel:128 ์€ "\(card.name)๋‹˜์˜"(๋ถ™์ž„)์ž…๋‹ˆ๋‹ค. ์˜์กด๋ช…์‚ฌ ใ€Œ๋‹˜ใ€์€ ๋„์šฐ๋Š” ์ชฝ์ด
    ์–ด๋ฌธ ๊ทœ๋ฒ”์— ๋งž์œผ๋ฏ€๋กœ ํ›„์ž๋ฅผ ๋งž์ถ”๋Š” ๋ฐฉํ–ฅ์ด์ง€๋งŒ, ๐ŸŽจ Design: ๋ช…ํ•จ ๋ฏธํ™•์ • ์‹œ์•ˆ ํ™•์ • โ€” ๋นˆ ์ƒํƒœยท์‚ญ์ œ ๋™์„ ยท์ด๋ฆ„ ํ‘œ๊ธฐยทํŒŒํŠธ ์ปฌ๋Ÿฌย #1236 ๋ฒ”์œ„(๋ช…ํ•จ์ฒฉ ์‚ญ์ œ ๋™์„ ) ๋ฐ–์ด๋ผ ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
  2. BusinessCard3DSpike.accentColor(for:) โ€” .admin ์„ ํšŒ์ƒ‰์œผ๋กœ ๋ญ‰๊ฐœ ใ€Œ์ง„์งœ ์šด์˜์ง„ใ€๊ณผ ใ€Œ๋ชป ์ฝ์€ ํŒŒํŠธใ€๋ฅผ
    ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. DEBUG ์ŠคํŒŒ์ดํฌ ํ•˜๋„ค์Šค์ด๊ณ  ๐ŸŽจ Design: 3D ๋ช…ํ•จ ๋ฒ ์ด์Šค USDZ ํ…œํ”Œ๋ฆฟ ์—์…‹ ยท ๋ฐ”์ธ๋”ฉ ์•ต์ปค ๊ทœ์•ฝย #1246 ์—์„œ ๋งคํ•‘ํ‘œ๋ฅผ ํ™•์ •ํ•˜๊ธฐ๋กœ ๋ผ ์žˆ์–ด ๊ทธ๋Œ€๋กœ ๋’€์Šต๋‹ˆ๋‹ค.
    ๊ทธ๋•Œ partRaw != nil ๋ถ„๊ธฐ๋ฅผ ํ•จ๊ป˜ ์˜ฎ๊ฒจ์•ผ ์ด๋ฒˆ ์ˆ˜์ •์ด 3D ์นด๋“œ๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค.

์ดํ›„ ์ž‘์—…: ์œ„ ํ™•์ธ์ด ์˜ค๋ฉด ํ•ด๋‹น ๊ฐ’๋งŒ ๊ต์ฒด โ†’ #1237(Pretendard Bold ๋ฐ˜์ž… / ํ† ํฐ ์ˆ˜๋ ด) ์ง„ํ–‰.

๐Ÿ“Œ ๋ฆฌ๋ทฐ ํฌ์ธํŠธ

  • ์นฉ ๋ฐฐ๊ฒฝ ์น˜ํ™˜์ด ๋ผ์ดํŠธ ๋ชจ๋“œ ํ”ฝ์…€์„ ๋ฐ”๊พธ์ง€ ์•Š๋Š”์ง€ โ€” seed.opacity(0.8) ์„ ํฐ ์นด๋“œ ๋ฉด์— ํ•ฉ์„ฑํ•œ ๊ฒƒ๊ณผ
    seed.mix(with: .white, by: 0.2, in: .device) ๋Š” sRGB ์ฑ„๋„ ๋ณด๊ฐ„์ด๋ผ ์‚ฌ์‹ค์ƒ ๊ฐ™์€ ์ƒ‰์ž…๋‹ˆ๋‹ค.
    ์นด๋“œ ๋ฉด์— ๊น”๋ฆฐ ์‹œ๋“œ ์›Œ์‹œ(์ตœ๋Œ€ 0.15) ๋•Œ๋ฌธ์— ์ด๋ก ์ƒ ์ฑ„๋„๋‹น 3% ์ด๋‚ด ์ฐจ์ด๊ฐ€ ๋‚ฉ๋‹ˆ๋‹ค.
  • ์ž‰ํฌ๊ฐ€ Color.black ์ธ ์ด์œ  โ€” grey900 ์€ ๋‹คํฌ์—์„œ ํฐ์ƒ‰์œผ๋กœ ๋’ค์ง‘ํž™๋‹ˆ๋‹ค. ๋ฉด์ด ๋ชจ๋“œ ๋ถˆ๋ณ€์ด๋ฏ€๋กœ
    ์ž‰ํฌ๋„ ๋ชจ๋“œ ๋ถˆ๋ณ€์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ grey900 ์„ ์“ฐ๋ฉด ๋‹คํฌ์—์„œ ๋‹ค์‹œ ๋Œ€๋น„๊ฐ€ ๊นจ์ง‘๋‹ˆ๋‹ค.
  • nameWithNickname ์ด Domain ์— ์žˆ๋Š” ๊ฒŒ ๋งž๋Š”์ง€ โ€” ํ‘œ์‹œ ๋ฌธ์ž์—ด์ด์ง€๋งŒ ๋ช…ํ•จ_l/_m/_s ์„ธ Presentation
    ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๊ณต์œ ํ•˜๋Š” ๊ทœ์น™์ด๊ณ , ๊ธฐ์กด partDisplayName ์ด ์ด๋ฏธ ๊ฐ™์€ ์ž๋ฆฌ์— ์žˆ์–ด ๊ทธ ์„ ๋ก€๋ฅผ ๋”ฐ๋ž์Šต๋‹ˆ๋‹ค.
  • layoutPriority(1) ์„ ๋ช…ํ•จ_s ์—๋Š” ๋„ฃ์ง€ ์•Š์€ ๊ฒƒ โ€” ๋ช…ํ•จ_s ๋Š” ์ด๋ฆ„๊ณผ ํ•™๊ต๊ฐ€ VStack ์œผ๋กœ ์ค„์ด ๋‚˜๋‰˜์–ด
    ์žˆ์–ด ํญ ๊ฒฝํ•ฉ ์ž์ฒด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋„ฃ์œผ๋ฉด ํšจ๊ณผ ์—†๋Š” ์ฝ”๋“œ๋งŒ ๋Š˜์–ด๋‚ฉ๋‹ˆ๋‹ค.
  • partRaw ํด๋ฐฑ์ด ์นฉ ๋ผ๋ฒจ๊นŒ์ง€ ๋ฐ”๊พธ์ง€๋Š” ์•Š๋Š”๋‹ค๋Š” ์  โ€” ์ƒ‰๋งŒ ํšŒ์ƒ‰์œผ๋กœ ๋Œ๋ฆฌ๊ณ  ๋ผ๋ฒจ์€ ๊ธฐ์กด
    partDisplayName(์›๋ณธ ํŒŒํŠธ๋ช…)์„ ๊ทธ๋Œ€๋กœ ์”๋‹ˆ๋‹ค. ํ‹€๋ฆฐ ์ด๋ฆ„(์šด์˜์ง„)๋ณด๋‹ค ๋‚ฏ์„  ์ด๋ฆ„์ด ๋‚ซ๋‹ค๋Š” ๊ธฐ์กด ๊ทœ์น™ ์œ ์ง€์ž…๋‹ˆ๋‹ค.
  • ํด๋ฐฑ๋งŒ ๋‹ค์ด๋‚ด๋ฏน ํ† ํฐ์ด๋ผ๋Š” ์˜ˆ์™ธ โ€” ์‹œ๋“œ 8์ข…์€ raw hex ๋ผ ๋ชจ๋“œ ๋ถˆ๋ณ€์ด์ง€๋งŒ grey400 ์€
    light #B2B8BF / dark #7C8792 ๋กœ ๊ฐˆ๋ฆฝ๋‹ˆ๋‹ค. ใ€Œ์นฉ ๋ฉด์€ ๋ชจ๋“œ ๋ถˆ๋ณ€ใ€์ด๋ผ๋Š” ์ „์ œ์˜ ์œ ์ผํ•œ ์˜ˆ์™ธ์ด๊ณ ,
    ๊ฒ€์ • ๋ผ๋ฒจ ๋Œ€๋น„๊ฐ€ ๋ผ์ดํŠธ 12.22 ยท ๋‹คํฌ 7.82 ๋กœ ์–‘์ชฝ ๋‹ค AA ๋ฅผ ๋„˜์–ด ์ž‰ํฌ๋Š” ๊ทธ๋Œ€๋กœ ๋’€์Šต๋‹ˆ๋‹ค. ์ฃผ์„์— ๋ช…์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋นˆ ์ƒํƒœ ๋ณต๊ท€ ๊ฐฑ์‹ ์€ ์ด PR ๋ฒ”์œ„ ๋ฐ– โ€” CTA ๋กœ ๊ตํ™˜ ํ™”๋ฉด์— ๊ฐ”๋‹ค ๋Œ์•„์™”์„ ๋•Œ์˜ ๋ชฉ๋ก ๊ฐฑ์‹ ์€
    ReceivedCardsView ์˜ .task ๊ฐ€ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค(isIdle ์ด๋ฉด load, ์•„๋‹ˆ๋ฉด ์กฐ์šฉํžˆ refresh).
    ์ด๋ฏธ ์ถœ์‹œ๋œ ์ƒ์„ธ ํ™”๋ฉด ์‚ญ์ œ ์™•๋ณต์ด ๊ฐ™์€ ๊ฒฝ๋กœ๋ฅผ ์“ฐ๊ณ  ์žˆ์–ด ์ƒˆ๋กœ ์ƒ๊ธด ๋™์„ ์ด ์•„๋‹™๋‹ˆ๋‹ค.

โœ… Checklist

PR์ด ๋‹ค์Œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์„ธ์š”!!!

- ๋ช…ํ•จ์ฒฉ ๋นˆ ์ƒํƒœ์— ใ€Œ๋ช…ํ•จ ๊ตํ™˜ํ•˜๊ธฐใ€ CTA ์ถ”๊ฐ€ (์‹œ์•ˆ 12639:33678)
  ๊ฒ€์ƒ‰ 0๊ฑด ๋ถ„๊ธฐ๋Š” ์‹œ์Šคํ…œ ๊ด€์šฉ๊ตฌ ์œ ์ง€, CTA ๋‘์ง€ ์•Š์Œ
- ์‚ญ์ œ ๋™์„ ์„ ์ƒ์„ธ ํ™”๋ฉด ๋‹จ๋…์œผ๋กœ ํ™•์ •ํ•˜๊ณ  ๊ทผ๊ฑฐ๋ฅผ ์ฃผ์„์— ๋ช…๋ฌธํ™”
  ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ฌธ๊ตฌ๋ฅผ ์•ฑ ์ „๋ฐ˜ ํ•ด์š”์ฒด์— ๋งž์ถฐ ใ€Œ์ง€์›๋‹ˆ๋‹คใ€โ†’ใ€Œ์ง€์›Œ์š”ใ€
- ๋ช…ํ•จ_lยท_mยท_s ์— ๋ณต์ œ๋ผ ์žˆ๋˜ ์ด๋ฆ„ ํ‘œ๊ธฐ๋ฅผ MyCard.nameWithNickname ์œผ๋กœ ํ†ตํ•ฉ
  ๋ช…ํ•จ_lยท_m ์ด๋ฆ„์— layoutPriority(1) โ€” ํญ์ด ๋ชจ์ž๋ผ๋ฉด ํ•™๊ต๊ฐ€ ๋จผ์ € ๋ง์ค„์ž„
- ํŒŒํŠธ ์‹œ๋“œ 8์ข… ํ˜„ํ–‰ ์œ ์ง€ ํ™•์ •, ๋ฏธ์ •์˜ ํŒŒํŠธ(partRaw)์— grey400 ํด๋ฐฑ ์ถ”๊ฐ€
  ๋ชจ๋ฅด๋Š” ํŒŒํŠธ๊ฐ€ Admin ์ธ๋””๊ณ ๋กœ ์น ํ•ด์ ธ ์šด์˜์ง„์ฒ˜๋Ÿผ ๋ณด์ด๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •
- ์นฉ ๋ฉด์„ ๋ชจ๋“œ ๋ถˆ๋ณ€ ๋ถˆํˆฌ๋ช… ํ˜ผํ•ฉ์ƒ‰์œผ๋กœ ๊ตณํžˆ๊ณ  ๋ผ๋ฒจ์„ Color.black ๊ณ ์ •
  ๋ผ์ดํŠธยท๋‹คํฌ 8์ข… ์ „๋ถ€ WCAG AA ํ†ต๊ณผ (5.92~14.92, #1235 ํ•ด์†Œ)
- ์นฉ ๋Œ€๋น„ยทํด๋ฐฑ ์ฑ„๋„ยท์ด๋ฆ„ ํ‘œ๊ธฐ ๊ทœ์น™์„ ํ…Œ์ŠคํŠธ๋กœ ๊ณ ์ •, ํด๋ฐฑ ํ”„๋ฆฌ๋ทฐ ์ถ”๊ฐ€
@JEONG-J JEONG-J added the ๐Ÿ’„ UI UI/UX ๋””์ž์ธ ์‹œ์Šคํ…œ ๊ด€๋ จ ์ž‘์—…์ž…๋‹ˆ๋‹ค. label Aug 30, 2026
@JEONG-J JEONG-J self-assigned this Aug 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

๐Ÿ’„ UI UI/UX ๋””์ž์ธ ์‹œ์Šคํ…œ ๊ด€๋ จ ์ž‘์—…์ž…๋‹ˆ๋‹ค.

Projects

None yet

1 participant