| name | implementing-ui |
| description | Use when adding or changing Compose Screen UI, Preview, feature UI components, dialogs, bottom sheets, loading UI, paging UI, or shared UI placement in this Android repository. |
Implementing UI
feature UI๋ <Feature>Screen, preview, feature component๋ฅผ ๊ฐ์ Screen ํ์ผ ํ๋ฆ์ ๋ง์ถ๋ค.
์์
๋ฒ์
feature/<feature-name>/impl/src/main/.../*Screen.kt
feature/<feature-name>/impl/src/main/.../component/*
- ๊ณตํต UI ์์น ํ๋จ:
core:designsystem, core:ui, feature ๋ด๋ถ component/
๊ตฌํ ํ๋ฆ
- loading, dialog, bottom sheet๋ Screen ์์ญ์ ํ์์ ๋ฐ๋ผ ๋๋ค.
- ํ๋ฉด ์ ์ฉ UI ์กฐ๊ฐ์ feature ๋ด๋ถ
component/์ ๋๋ค.
- preview๋ ํ๋ฉด preview์ component preview๋ฅผ ์ผ์ด์ค์ ๋ฐ๋ผ ๊ตฌ๋ถํด ๋๋ค.
- paging ๋ชฉ๋ก์ Screen์์
collectAsLazyPagingItems()๋ก ์์งํ๊ณ , LazyPagingItems๋ฅผ ํ์ component์ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌํ๋ค.
Preview
- Screen ์ ์ฒด ๋ ์ด์์ preview๋
DevicePreview๋ฅผ ์ด๋ค. ๊ธฐ์กด ์ฝ๋์๋ ComponentPreviewยท์์ Preview๊ฐ ํผ์ฌํ๋ ์ ๊ท ์ฝ๋๋ DevicePreview๋ก ํต์ผํ๋ค.
- ๋น ํ๋ฉด, ์ ํ ๋ชจ๋, ์๋ฌ ์ํ, ๋ก๋ฉ ์ํ๋ ์ผ์ด์ค์ ๋ฐ๋ผ preview๋ฅผ ๋๋ ๋๋ค.
- feature ๋ด๋ถ component๋ง ๋
๋ฆฝ์ ์ผ๋ก ํ์ธํ๋ฉด component ํ์ผ์ component preview๋ฅผ ๋๋ค.
- component preview๋
ComponentPreview๋ฅผ ์ด๋ค.
- preview function์ private์ผ๋ก ๋๋ค.
UI ๊ณต์ ์์น
core:designsystem: feature/domain/platform ๋์์ ๋ชจ๋ฅด๋ ์์ ๋์์ธ ์ปดํฌ๋ํธ์ ํ ํฐ. ์: NekiTheme, top bar, action bar, button, dialog, bottom sheet, modifier, preview helper.
core:ui: ์ฑ ์ ์ญ์์ ์ฌ์ฌ์ฉํ์ง๋ง ๊ธฐ๋ฅ/๋๋ฉ์ธ/ํ๋ซํผ ๋์์ด ์์ธ UI/Compose ์ ํธ. ์: MviIntentStore, collectWithLifecycle, NekiToast(WindowManager ๊ธฐ๋ฐ ํ์ class โ ๋๋ช
์ ์์ composable์ designsystem์ ์์), PhotoComponent, SelectDialog, DoubleButtonOptionBottomSheet, loading/selection overlay.
- feature ๋ด๋ถ
component/: ํด๋น feature ๋ฌธ๋งฅ์์๋ง ์๋ฏธ ์๋ UI ์กฐ๊ฐ. ์: archive ์ ์ฉ album/photo item, pose ์ ์ฉ bottom sheet, auth ์ฝ๊ด content.