Skip to content

๐Ÿ”€ :: (#134) - ๋งˆ์ดํŽ˜์ด์ง€ ํ…Œ๋งˆ ์„ค์ • ์•„์ฝ”๋””์–ธ ์ ์šฉ ๋ฐ ํ™”๋ฉด ๊ตฌ์กฐ ์ •๋ฆฌ - #135

Merged
aiden30015 merged 3 commits into
developfrom
refactor/#134-my-page-structure
Aug 25, 2026

Conversation

@aiden30015

Copy link
Copy Markdown
Contributor

๐Ÿ’ก ๊ฐœ์š”

๋งˆ์ดํŽ˜์ด์ง€ ํ…Œ๋งˆ ์„ค์ • ํ•ญ๋ชฉ์„ Figma ๋””์ž์ธ๋Œ€๋กœ ์ธ๋ผ์ธ ์•„์ฝ”๋””์–ธ์œผ๋กœ ๋‹ค์‹œ ๋งŒ๋“ค๊ณ , ๊ทธ ๊น€์— 664์ค„๊นŒ์ง€ ๋Š˜์–ด๋‚œ my_page_screen.dart์˜ ๊ฒ€์ฆ ๋กœ์ง๊ณผ ์œ„์ ฏ์„ ๋ถ„๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœํ•„ ์‚ฌ์ง„ ๋ณ€๊ฒฝ ๋ฐ”ํ…€์‹œํŠธ์˜ ๋‹ซ๊ธฐ ์•„์ด์ฝ˜๋„ ๋””์ž์ธ ์—์…‹์œผ๋กœ ๊ต์ฒดํ–ˆ์Šต๋‹ˆ๋‹ค.

#134(Cupertino โ†’ Material ์ „๋ฉด ํ†ต์ผ)๋Š” ์ง„ํ–‰ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‹ค์ด์–ผ๋กœ๊ทธ ๋””์ž์ธ(Figma 569-10289)์„ ์‹ค์ œ๋กœ ๋น„๊ตํ•ด๋ณด๋‹ˆ Cupertino๋„ Material๋„ ์•„๋‹Œ ์ปค์Šคํ…€์ด์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ ๋””์ž์ธ Cupertino Material
์ œ๋ชฉ/๋ณธ๋ฌธ ์ •๋ ฌ ์ขŒ์ธก ์ค‘์•™ โŒ ์ขŒ์ธก โœ…
์•ก์…˜ ๋ฐฐ์น˜ 2๋“ฑ๋ถ„ full-width 2๋“ฑ๋ถ„ โœ… ์šฐ์ธก ์ •๋ ฌ โŒ
์•ก์…˜ ๊ตฌ๋ถ„์„  ์—†์Œ ํ—ค์–ด๋ผ์ธ โŒ ์—†์Œ โœ…
๋ฐฐ๊ฒฝ ๋ถˆํˆฌ๋ช… #1a1a1a ๋ฐ˜ํˆฌ๋ช…+๋ธ”๋Ÿฌ โŒ ๋ถˆํˆฌ๋ช… โœ…
๋ชจ์„œ๋ฆฌ 12 14 28 โŒ

์–ด๋А ์ชฝ์œผ๋กœ ๊ฐˆ์•„ํƒ€๋„ ์™„์ „ํžˆ ๋งž์ง€ ์•Š์•„์„œ, ์œ„์ ฏ ๊ต์ฒด ๋Œ€์‹  ํ˜ธ์ถœ๋ถ€๊ฐ€ ์—†๋˜ review_remove_dialog.dart๋งŒ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋””์ž์ธ๋Œ€๋กœ ๋งž์ถ”๋ ค๋ฉด ์ปค์Šคํ…€ ๋‹ค์ด์–ผ๋กœ๊ทธ๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•˜๊ณ , ๊ทธ๊ฑด ๋ณ„๋„ ์ด์Šˆ๊ฐ€ ๋งž๋‹ค๊ณ  ํŒ๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค.

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

Closes #134

๐Ÿ“ƒ ์ž‘์—…๋‚ด์šฉ

ํ…Œ๋งˆ ์„ค์ • ์•„์ฝ”๋””์–ธ (Figma 569-10492, 569-10540)

  • ๋ฐ”ํ…€์‹œํŠธ๋กœ ์—ด๋˜ ํ…Œ๋งˆ ์„ ํƒ์„ ์ธ๋ผ์ธ ์•„์ฝ”๋””์–ธ์œผ๋กœ ๊ต์ฒด
  • ์„ ํƒ ํ•ญ๋ชฉ์€ MainColor ํ…์ŠคํŠธ + ์ฒดํฌ๋งˆํฌ, ๋‚˜๋จธ์ง€๋Š” ๊ธฐ๋ณธ์ƒ‰
  • checkmark.svg๋ฅผ Figma ์—์…‹์—์„œ ๋ฐ›์•„ ์ถ”๊ฐ€ (๊ธฐ์กด AppIcons.check๋Š” ํ…Œ๋‘๋ฆฌ ์žˆ๋Š” ์ฒดํฌ๋ฐ•์Šค๋ผ ๊ธ€๋ฆฌํ”„๊ฐ€ ๋‹ค๋ฆ„)
  • AppThemeOption ๋ผ๋ฒจ์„ ๋””์ž์ธ ๋ฌธ๊ตฌ๋กœ ๋งž์ถ”๊ณ  ๋…ธ์ถœ ์ˆœ์„œ displayOrder ์ถ”๊ฐ€

๊ฒ€์ฆ ๋กœ์ง์„ provider๋กœ ์ด๋™

  • ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ/์‚ญ์ œ, ๋น„๋ฐ€๋ฒˆํ˜ธ ์žฌ์„ค์ • ์ธ์ฆ๋ฉ”์ผ ๋ฐœ์†ก๊ณผ ๊ทธ ๊ฒ€์ฆ์„ ProfileActionsNotifier๋กœ ์ด๋™
  • ๊ฒฐ๊ณผ๋Š” ({bool ok, String message}) ๋ ˆ์ฝ”๋“œ๋กœ ๋ฐ˜ํ™˜, null์€ "์ด๋ฏธ ์ง„ํ–‰ ์ค‘"
  • DioException โ†’ NetworkException ๋ณ€ํ™˜๋„ provider ์•ˆ์œผ๋กœ
  • autoDispose.family + Object ์‹๋ณ„ ํ‚ค ์ œ๊ฑฐ โ€” ํ™”๋ฉด ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•˜๋‚˜๋ฟ์ด๋ผ ๊ฒฉ๋ฆฌํ•  ๋Œ€์ƒ์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค (docs/naming-conventions.md์˜ "์ƒํƒœ๋ฅผ ์–ด๋””์— ๋‘˜๊นŒ" ์ฐธ๊ณ )
  • ์‹ ๊ทœ ํŒŒ์ผ์ด๋ผ viewmodels/๊ฐ€ ์•„๋‹Œ providers/*_provider.dart๋กœ ๋ฐฐ์น˜

ํ™”๋ฉด ๋ถ„๋ฆฌ (664 โ†’ 154์ค„)

  • ProfileSummarySection / SettingsSection / AccountActionsSection / ThemeSettingItem์„ widgets/๋กœ ๋ถ„๋ฆฌ
  • ์•ž์˜ ๋‘˜์€ ConsumerWidget์œผ๋กœ ์ „ํ™˜ํ•ด ํ”„๋กœ๋ฐ”์ด๋”๋ฅผ ์ง์ ‘ ์ฝ์Šต๋‹ˆ๋‹ค
    • SettingsSection ํŒŒ๋ผ๋ฏธํ„ฐ 9 โ†’ 0
    • ProfileSummarySection 8 โ†’ 1

๋ฐ”ํ…€์‹œํŠธ ๋‹ซ๊ธฐ ์•„์ด์ฝ˜ (Figma 569-10452)

  • ๋‘ ํ–‰ ์•„์ด์ฝ˜(image_add, user)์€ ์ด๋ฏธ ๋””์ž์ธ ์—์…‹๊ณผ path ๋ฐ์ดํ„ฐ๊นŒ์ง€ ๋™์ผํ•ด ๊ทธ๋Œ€๋กœ ๋’€์Šต๋‹ˆ๋‹ค
  • cancel.png(๋ž˜์Šคํ„ฐ, ์ƒ‰ ์ง€์ • ๋ถˆ๊ฐ€) โ†’ dismiss.svg
  • CommonBottomSheet ํ—ค๋”์—์„œ ๊ณ ์ณ ๋ฐ”ํ…€์‹œํŠธ 5๊ณณ์— ํ•จ๊ป˜ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค (์ง€๋„, ๊ด€๋ฆฌ์ž ์™ธ์ถœํ˜„ํ™ฉ, ์‹ ๊ณ  ๋ชฉ๋ก, SelectionBottomSheet, ํ”„๋กœํ•„ ์‚ฌ์ง„)
  • ์ œ๋ชฉ ์ƒ‰ ํ•˜๋“œ์ฝ”๋”ฉ(Colors.white)์„ mainTextColor ํ† ํฐ์œผ๋กœ

๐Ÿ” ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•

flutter analyze lib packages test   # No issues found
flutter test                        # 146 passed

์ˆ˜๋™ ํ™•์ธ:

  1. ๋งˆ์ดํŽ˜์ด์ง€ โ†’ "์•ฑ ํ…Œ๋งˆ ์„ค์ •" ํ—ค๋” ํƒญ โ†’ ์•„๋ž˜๋กœ ๋ชฉ๋ก์ด ํŽผ์ณ์ง€๊ณ  ์…ฐ๋ธŒ๋ก ์ด ๋’ค์ง‘ํžˆ๋Š”์ง€
  2. ๋‹คํฌ/๋ผ์ดํŠธ/์‹œ์Šคํ…œ ์„ ํƒ โ†’ ์ฆ‰์‹œ ํ…Œ๋งˆ๊ฐ€ ๋ฐ”๋€Œ๊ณ  ์„ ํƒ ํ•ญ๋ชฉ๋งŒ ์ฃผํ™ฉ + ์ฒดํฌ๋งˆํฌ์ธ์ง€
  3. ํ”„๋กœํ•„ ์‚ฌ์ง„ ํƒญ โ†’ ๋ฐ”ํ…€์‹œํŠธ ์šฐ์ธก ์ƒ๋‹จ X๊ฐ€ SVG๋กœ ๋˜๋ ทํ•˜๊ฒŒ ๋ณด์ด๋Š”์ง€ (๋ผ์ดํŠธ ํ…Œ๋งˆ์—์„œ๋„)
  4. ํ›„๊ธฐ ์‚ญ์ œ ๋‹ค์ด์–ผ๋กœ๊ทธ๊ฐ€ ๊ทธ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ (review_remove_dialog.dart ์‚ญ์ œ ์˜ํ–ฅ ์—†์Œ ํ™•์ธ)

๐Ÿ™‹โ€โ™‚๏ธ ์งˆ๋ฌธ์‚ฌํ•ญ

  • ํ…Œ๋งˆ๋ฅผ ์„ ํƒํ•ด๋„ ๋ชฉ๋ก์„ ๋‹ซ์ง€ ์•Š๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ…Œ๋งˆ๊ฐ€ ์ฆ‰์‹œ ์ ์šฉ๋ผ์„œ ์ฒดํฌ๊ฐ€ ์˜ฎ๊ฒจ๊ฐ€๋Š” ๊ฑธ ๋ณด๋Š” ์ชฝ์ด ์ž์—ฐ์Šค๋Ÿฝ๋‹ค๊ณ  ๋ดค๋Š”๋ฐ, ๋‹ซํžˆ๋Š” ๊ฒŒ ๋‚˜์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”.
  • ๋ฏธ์„ ํƒ ํ–‰์˜ ์…ฐ๋ธŒ๋ก ์€ ๋บ์Šต๋‹ˆ๋‹ค. Figma ์ฝ”๋“œ์—๋Š” ์žˆ๋Š”๋ฐ ์Šคํฌ๋ฆฐ์ƒท์—์„œ๋Š” ์•ˆ ๋ณด์—ฌ ํˆฌ๋ช… ๋ ˆ์ด์–ด๋กœ ํŒ๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. ํ–‰ ๋†’์ด๋Š” 24px SizedBox๋กœ ๋งž์ถฐ๋’€์Šต๋‹ˆ๋‹ค.
  • ๋‹ซ๊ธฐ ๋ฒ„ํŠผ ํƒญ ์˜์—ญ์€ 40px์ž…๋‹ˆ๋‹ค. ๋””์ž์ธ์€ 24px์ง€๋งŒ ๊ทธ๋Œ€๋กœ ๋‘๋ฉด ์ตœ์†Œ ํƒญ ํƒ€๊ฒŸ์— ๋ชป ๋ฏธ์ณ์„œ ์•„์ด์ฝ˜๋งŒ 24px๋กœ ํ•˜๊ณ  ํƒญ ์˜์—ญ์„ ๋„“ํ˜”์Šต๋‹ˆ๋‹ค.
  • ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ฒ„ํŠผ ์ƒ‰์ด ๋””์ž์ธ๊ณผ ๋ฐ˜๋Œ€์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ์ทจ์†Œ=๋นจ๊ฐ• / ํ™•์ธ=ํŒŒ๋ž‘์ธ๋ฐ ๋””์ž์ธ์€ ์ทจ์†Œ=ํŒŒ๋ž‘(#2573F3) / ํ™•์ธ=๋นจ๊ฐ•(#E43620)์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ PR ๋ฒ”์œ„ ๋ฐ–์ด๋ผ ์†๋Œ€์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

โœ… ์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ์ฝ”๋“œ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ปดํŒŒ์ผ๋˜๊ณ  ์‹คํ–‰๋˜๋Š”์ง€ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ฝ”๋“œ ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ ์ค€์ˆ˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ์กด ๊ธฐ๋Šฅ์ด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

aiden30015 and others added 3 commits August 25, 2026 15:13
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
ํ›„๊ธฐ ์‚ญ์ œ๋Š” GomsDialog.confirm(isDestructive: true)๋ฅผ ์“ฐ๊ณ  ์žˆ์–ด
์ด ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜๋Š” ๊ณณ์ด ์—†๋‹ค.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Figma 569-10477 / 569-10452 ๋ฐ˜์˜๊ณผ ๋งˆ์ดํŽ˜์ด์ง€ ์ •๋ฆฌ๋ฅผ ํ•จ๊ป˜ ์ง„ํ–‰ํ–ˆ๋‹ค.

ํ…Œ๋งˆ ์„ค์ • (Figma 569-10492, 569-10540)
- ๋ฐ”ํ…€์‹œํŠธ๋กœ ์—ด๋˜ ํ…Œ๋งˆ ์„ ํƒ์„ ์ธ๋ผ์ธ ์•„์ฝ”๋””์–ธ์œผ๋กœ ๊ต์ฒด
- ์„ ํƒ ํ•ญ๋ชฉ์€ MainColor ํ…์ŠคํŠธ + ์ฒดํฌ๋งˆํฌ, ๋‚˜๋จธ์ง€๋Š” ๊ธฐ๋ณธ์ƒ‰
- checkmark.svg๋ฅผ Figma ์—์…‹์—์„œ ๋ฐ›์•„ ์ถ”๊ฐ€. ๊ธฐ์กด AppIcons.check๋Š”
  ํ…Œ๋‘๋ฆฌ ์žˆ๋Š” ์ฒดํฌ๋ฐ•์Šค๋ผ ๊ธ€๋ฆฌํ”„๊ฐ€ ๋‹ฌ๋ผ ์žฌ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๋‹ค
- AppThemeOption ๋ผ๋ฒจ์„ ๋””์ž์ธ ๋ฌธ๊ตฌ('๋‹คํฌ (๊ธฐ๋ณธ)', '๋ผ์ดํŠธ')๋กœ ๋งž์ถ”๊ณ 
  ๋…ธ์ถœ ์ˆœ์„œ displayOrder ์ถ”๊ฐ€

๊ฒ€์ฆ ๋กœ์ง์„ provider๋กœ ์ด๋™
- ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ/์‚ญ์ œ, ๋น„๋ฐ€๋ฒˆํ˜ธ ์žฌ์„ค์ • ์ธ์ฆ๋ฉ”์ผ ๋ฐœ์†ก๊ณผ ๊ทธ ๊ฒ€์ฆ์„
  ProfileActionsNotifier๋กœ ์˜ฎ๊ธฐ๊ณ , ํ™”๋ฉด์€ ์Šค๋‚ต๋ฐ”/๋„ค๋น„๊ฒŒ์ด์…˜๋งŒ ๋‹ด๋‹น
- ๊ฒฐ๊ณผ๋Š” ({bool ok, String message}) ๋ ˆ์ฝ”๋“œ๋กœ ๋ฐ˜ํ™˜. null์€ '์ด๋ฏธ ์ง„ํ–‰ ์ค‘'
- DioException -> NetworkException ๋ณ€ํ™˜๋„ provider ์•ˆ์œผ๋กœ
- profileImageUploadingProvider์˜ autoDispose.family + Object ํ‚ค ์ œ๊ฑฐ.
  ํ™”๋ฉด ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•˜๋‚˜๋ฟ์ด๋ผ ๊ฒฉ๋ฆฌํ•  ๋Œ€์ƒ์ด ์—†์—ˆ๋‹ค
  (docs/naming-conventions.md '์ƒํƒœ๋ฅผ ์–ด๋””์— ๋‘˜๊นŒ' ์ฐธ๊ณ )
- ์‹ ๊ทœ ํŒŒ์ผ์ด๋ผ viewmodels/๊ฐ€ ์•„๋‹Œ providers/*_provider.dart๋กœ ๋ฐฐ์น˜

ํ™”๋ฉด ๋ถ„๋ฆฌ (664 -> 154์ค„)
- ProfileSummarySection / SettingsSection / AccountActionsSection๊ณผ
  ThemeSettingItem์„ widgets/๋กœ ๋ถ„๋ฆฌ
- ์•ž์˜ ๋‘˜์€ ConsumerWidget์œผ๋กœ ๋ฐ”๊ฟ” ํ”„๋กœ๋ฐ”์ด๋”๋ฅผ ์ง์ ‘ ์ฝ๋Š”๋‹ค.
  SettingsSection ํŒŒ๋ผ๋ฏธํ„ฐ 9 -> 0, ProfileSummarySection 8 -> 1

๋ฐ”ํ…€์‹œํŠธ ๋‹ซ๊ธฐ ์•„์ด์ฝ˜ (Figma 569-10452)
- ๋‘ ํ–‰ ์•„์ด์ฝ˜์€ ์ด๋ฏธ ๋””์ž์ธ ์—์…‹๊ณผ ๋™์ผํ•ด ๊ทธ๋Œ€๋กœ ๋‘๊ณ ,
  cancel.png(๋ž˜์Šคํ„ฐ, ์ƒ‰ ์ง€์ • ๋ถˆ๊ฐ€)๋ฅผ dismiss.svg๋กœ ๊ต์ฒด
- CommonBottomSheet ํ—ค๋”์—์„œ ๊ณ ์ณ ๋ฐ”ํ…€์‹œํŠธ 5๊ณณ์— ํ•จ๊ป˜ ์ ์šฉ
- ํƒญ ์˜์—ญ์€ ์ ‘๊ทผ์„ฑ์„ ์œ„ํ•ด 40px๋กœ ๋‚จ๊ธฐ๊ณ  ์•„์ด์ฝ˜๋งŒ 24px
- ์ œ๋ชฉ ์ƒ‰ ํ•˜๋“œ์ฝ”๋”ฉ(Colors.white)์„ mainTextColor ํ† ํฐ์œผ๋กœ

ํ…Œ์ŠคํŠธ
- theme_option_list_widget_test: ์•„์ฝ”๋””์–ธ ํŽผ์นจ/์„ ํƒ ์ƒ‰/์ฝœ๋ฐฑ
- profile_actions_provider_unit_test: ์ด๋ฉ”์ผ ์—†์Œ, ์ด๋ฏธ ๊ธฐ๋ณธ ํ”„๋กœํ•„ ๋ถ„๊ธฐ

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@aiden30015 aiden30015 self-assigned this Aug 25, 2026
@aiden30015
aiden30015 merged commit 3c34bbd into develop Aug 25, 2026
1 check passed
@aiden30015 aiden30015 mentioned this pull request Aug 25, 2026
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor: Cupertino ๋‹ค์ด์–ผ๋กœ๊ทธยทํ…Œ๋งˆ๋ฅผ Material๋กœ ์ „๋ฉด ํ†ต์ผ

1 participant