Skip to content

Conversation

@rhkrwngud445
Copy link
Contributor

작업 내용

  • 연락처 화면
  • 연락처 로드
  • 선택 후 연락처 파라미터 전달

확인 방법

스크린샷 2025-09-16 오후 9 04 51

참고 사항

연락처 권한 직접 추가 후 확인 가능합니다!

  • 권한 작업은 이전 화면에서 진행

관련 이슈

- 스플랫쉬 화면에서 이전에 로그인이 되었는지 확인
- DataStore에 저장된 로그인 정보가 있다면 홈 화면
- 없다면 로그인 화면으로 이동한다.
- 상태를 불러오는데 실패하면 로그인 화면으로 이동한다.
- dpi별 mipmap 설정
- navigation 함수를 viewModel에서 처리하던 기존 코드에서 Effect를 활용해 Screen에서 관리하는 코드로 변경

- 스플래시에서 uiState를 관리하지 않아 effect만 선언
- ui/components의 NearBasicButton을 기반하여 만들었습니다.

- 현재 페이지가 마지막 페이지인지에 따라 버튼 텍스트를 "로그인/회원가입" 또는 "다음"으로 표시합니다.

- 버튼 클릭 시 `onNextClick` 콜백을 호출합니다.
- 현재 페이지의 컬러를 BLUE01_5AA2E9로 설정
- 이외 컬리는 GRAY03_EBEBEB로 설정합니다.
- 각각의 페이지의 구성요소를 담당하는 data class입니다.
- 추후 이미지를 추가하여 온보딩 페이지에서 이미지를 그리는 역할을 합니다.
- 각 컴포넌트를 조합하여 온보딩 화면을 구현하였습니다.

- createAnnotatedText() 함수를 통해 \n 이후 텍스트를 강조합니다.

- stringResource를 통해 페이지 별 타이틀을 string.xml에서 가져옵니다.
OnboardingScreen의 UI 레이아웃을 수정하여 상태바와 네비게이션 바 영역을 고려하도록 변경했습니다.
`systemBarsPadding()` 대신 `WindowInsets`를 사용하여 직접 패딩을 계산하고 적용했습니다.
온보딩 완료 상태를 저장하고 조회하는 `OnboardingPreferences` 클래스를 추가했습니다.
이를 통해 앱 최초 실행 시 온보딩 화면 표시 여부를 결정할 수 있습니다.
- 온보딩 버튼에 로딩 상태를 추가했습니다.
- 로딩 중일 때는 버튼이 비활성화됩니다.
- OnboardingViewModel에 UiState 및 Effect 추가
- OnboardingScreen에서 UiState 관찰 및 Effect 처리 로직 구현
- 온보딩 완료 시 로딩 상태 표시 및 에러 처리 추가
- 온보딩 완료 여부 저장 및 조회 기능을 위한 `OnBoardingRepository` 인터페이스와 `OnBoardingRepositoryImpl` 구현체를 추가했습니다.
- `OnboardingViewModel`이 `OnboardingPreferences` 대신 `OnBoardingRepository`를 사용하도록 수정했습니다.
- `RepositoryModule`에 `OnBoardingRepository` 관련 의존성 주입 설정을 추가했습니다.
- `title` 필드를 `String`에서 `@StringRes` 어노테이션을 사용하는 `Int` 타입의 `titleResId`로 변경했습니다.
- 이에 따라 `OnboardingScreen`에서 `title`을 참조하는 부분을 `stringResource`를 사용하도록 수정했습니다.
stopstone and others added 28 commits September 23, 2025 15:18
# Conflicts:
#	Near/app/src/main/java/com/alarmy/near/data/di/RepositoryModule.kt
#	Near/app/src/main/java/com/alarmy/near/presentation/feature/main/NearNavHost.kt
- `NearNavHost`의 시작 화면을 결정하는 `isLoggedIn` 파라미터를 제거하고, `startDestination` 파라미터로 통합하여 외부에서 시작 화면을 직접 지정하도록 변경했습니다.
[FEAT] 마이 프로필 및 회원 탈퇴
# Conflicts:
#	Near/app/src/main/java/com/alarmy/near/data/di/RepositoryModule.kt
# Conflicts:
#	Near/app/src/main/res/values/strings.xml
# Conflicts:
#	Near/app/src/main/java/com/alarmy/near/presentation/feature/main/NearNavHost.kt
# Conflicts:
#	Near/app/src/main/java/com/alarmy/near/presentation/feature/main/NearNavHost.kt
…er' into feat/#27-contact_picker_data_layer

# Conflicts:
#	Near/app/src/main/java/com/alarmy/near/data/di/RepositoryModule.kt
#	Near/app/src/main/java/com/alarmy/near/presentation/feature/main/NearNavHost.kt
#	Near/app/src/main/res/values/strings.xml
@rhkrwngud445 rhkrwngud445 merged commit 35374e2 into dev Sep 24, 2025
1 check passed
@rhkrwngud445 rhkrwngud445 deleted the feat/#27-contact_picker_data_layer branch October 15, 2025 11:13
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.

[FEAT] 연락처 피커 데이터 구현

3 participants