Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TNT-115] 연결코드 화면 UI 구현 및 연결 #34

Merged
merged 40 commits into from
Jan 26, 2025
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
b2ab69c
[TNT-115] design: Color 시스템 추가 및 mainColors redColors로 수정
SeonJeongk Jan 22, 2025
fdeb95c
[TNT-115] design: Typo 시스템 추가
SeonJeongk Jan 22, 2025
8f6bf66
[TNT-115] design: Toast 컴포넌트 구현
SeonJeongk Jan 22, 2025
38a32fc
[TNT-115] feat: connect 모듈 최초 생성
SeonJeongk Jan 22, 2025
95f0379
[TNT-115] design: TopBar back 버튼 없는 컴포넌트 분리
SeonJeongk Jan 22, 2025
f3d527e
[TNT-115] feat: 트레이너 연결 코드 생성 화면 UI 구현
SeonJeongk Jan 23, 2025
041b405
[TNT-115] feat: 트레이니 연결 코드 입력 화면 UI 구현
SeonJeongk Jan 23, 2025
bb8e503
[TNT-115] feat: 트레이니 연결 코드 입력 안내 Dialog 구현
SeonJeongk Jan 23, 2025
1caa1a8
[TNT-115] fix: TnTProfileImage padding 수정
SeonJeongk Jan 23, 2025
3dbb3a8
[TNT-115] feat: 트레이너, 트레이니 연결 완료 화면 UI 구현
SeonJeongk Jan 23, 2025
3f32da5
[TNT-115] fix: 트레이니 연결코드 입력 화면 이름 수정
SeonJeongk Jan 23, 2025
641b992
[TNT-115] feat: 트레이니 연결 코드 입력 화면 UI 구현
SeonJeongk Jan 23, 2025
bf39646
[TNT-115] feat: 트레이니 프로필 화면 UI 구현
SeonJeongk Jan 23, 2025
74f3d08
[TNT-115] feat: 연결 화면 Navigation 구현
SeonJeongk Jan 23, 2025
12989ce
[TNT-115] fix: 스트링 리소스 추가 및 적용
SeonJeongk Jan 23, 2025
6c5c3c8
[TNT-115] fix: ProfileInfo 트레이너, 트레이니로 분리
SeonJeongk Jan 24, 2025
c7ea088
[TNT-115] move: 연결 화면 trainer trainee 분리
SeonJeongk Jan 24, 2025
6d7ea06
[TNT-115] fix: 연결 화면 NavGraph 트레이너, 트레이니로 분리
SeonJeongk Jan 24, 2025
8d83671
[TNT-115] feat: TrainerConnectUiState 프로필 정보 업데이트 및 연결 완료 화면 분리
SeonJeongk Jan 24, 2025
f19248b
[TNT-115] feat: 트레이니 프로필 확인 화면 연결
SeonJeongk Jan 24, 2025
00de8e1
[TNT-115] feat: 트레이니 수업정보 저장 및 프로필 데이터 초기화
SeonJeongk Jan 24, 2025
88a0a6d
[TNT-115] feat: 트레이니 연결 코드 인증 viewModel로 분리
SeonJeongk Jan 24, 2025
369b566
[TNT-115] fix: detekt 오류 해결
SeonJeongk Jan 24, 2025
89b38f3
[TNT-115] feat: 트레이너 초대코드 state 연결
SeonJeongk Jan 24, 2025
c434f26
[TNT-115] fix: 트레이니 프로필 width 수정 및 뒤로가기 추가
SeonJeongk Jan 24, 2025
0336474
[TNT-115] fix: 키 정수로 수정
SeonJeongk Jan 25, 2025
dc7ffc4
[TNT-115] move: connect 모듈 트레이너, 트레이니로 나누기 및 파일 이동
SeonJeongk Jan 25, 2025
93db7b6
[TNT-115] fix: Navigation 및 리소스 분리
SeonJeongk Jan 25, 2025
fed8d51
[TNT-115] fix: domain UserType 기본 정보 가지도록 수정
SeonJeongk Jan 26, 2025
9ca80db
[TNT-115] fix: 공통 스트링 리소스 core:ui로 이동
SeonJeongk Jan 26, 2025
0b6ba0a
[TNT-115] fix: 수업 정보 입력 화면 리뷰 반영
SeonJeongk Jan 26, 2025
76e783f
[TNT-115] fix: UserType 기본값 설정 및 반영, 파일들 package 경로 수정
SeonJeongk Jan 26, 2025
955824b
[TNT-115] fix: 트레이니 프로필 화면 레이아웃 수정
SeonJeongk Jan 26, 2025
e4b4dd7
[TNT-115] fix: 트레이니 연결 코드 입력 화면 리뷰 반영
SeonJeongk Jan 26, 2025
d16f688
[TNT-115] fix: core:ui에 UserDefaultImage 구현
SeonJeongk Jan 26, 2025
29b7b4a
[TNT-115] fix: 트레이니 프로필 확인 화면 UI 수정
SeonJeongk Jan 26, 2025
ab2b43e
[TNT-115] chore: conflicts 해결
SeonJeongk Jan 26, 2025
f1b6e1f
[TNT-115] delete: 기존 connect 모듈 삭제
SeonJeongk Jan 26, 2025
324d534
[TNT-115] fix: non-null assertion 삭제
SeonJeongk Jan 26, 2025
05ffd0f
[TNT-115] move: InputState model로 옮기기
SeonJeongk Jan 26, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,18 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import co.kr.tnt.core.designsystem.R
import co.kr.tnt.designsystem.component.image.model.ProfileType
import co.kr.tnt.designsystem.theme.TnTTheme
import coil.compose.rememberAsyncImagePainter

@Composable
fun TnTProfileImage(
type: ProfileType,
defaultImage: Painter,
modifier: Modifier = Modifier,
image: Painter? = null,
imageSize: Dp = 132.dp,
showEditButton: Boolean = true,
onEditClick: () -> Unit = {},
) {
val defaultImage = painterResource(type.defaultImage)

Box(
modifier = modifier.wrapContentSize(),
contentAlignment = Alignment.Center,
Expand Down Expand Up @@ -69,7 +66,7 @@ fun TnTProfileImage(
private fun TnTProfileImageDefaultImagePreview() {
TnTTheme {
TnTProfileImage(
type = ProfileType.Trainer,
defaultImage = rememberAsyncImagePainter("https://buly.kr/G3CZDjx"),
modifier = Modifier.fillMaxWidth(),
onEditClick = {},
)
Expand All @@ -81,7 +78,7 @@ private fun TnTProfileImageDefaultImagePreview() {
private fun TnTProfileImageCustomImagePreview() {
TnTTheme {
TnTProfileImage(
type = ProfileType.Trainer,
defaultImage = rememberAsyncImagePainter("https://buly.kr/8ekk1Ud"),
image = rememberAsyncImagePainter("https://buly.kr/7FQeS5M"),
modifier = Modifier.fillMaxWidth(),
)
Expand Down

This file was deleted.

1 change: 1 addition & 0 deletions core/ui/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ android {

dependencies {
implementation(projects.core.designsystem)
implementation(projects.domain)

implementation(libs.accompanist.permissions)
}
25 changes: 25 additions & 0 deletions core/ui/src/main/java/co/kr/tnt/ui/model/DefaultUserProfile.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package co.kr.tnt.ui.model

import androidx.annotation.DrawableRes
import co.kr.tnt.core.ui.R
import co.kr.tnt.domain.model.UserType

sealed class DefaultUserProfile(
@DrawableRes val image: Int,
) {
data object Trainer : DefaultUserProfile(
image = R.drawable.img_default_profile_trainer,
)
data object Trainee : DefaultUserProfile(
image = R.drawable.img_default_profile_trainee,
)

companion object {
fun fromDomain(type: UserType): DefaultUserProfile {
return when (type) {
is UserType.Trainee -> Trainer
is UserType.Trainer -> Trainee
}
}
}
}
15 changes: 15 additions & 0 deletions core/ui/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,19 @@
<string name="media_permission_permanently_description">권한 설정을 위해 설정창으로 이동해주세요.</string>
<string name="close">닫기</string>
<string name="ok">확인</string>

<string name="trainee">트레이니</string>
<string name="trainer">트레이너</string>

<string name="next">다음</string>
<string name="connect">연결하기</string>
<string name="start">시작하기</string>
<string name="skip">건너뛰기</string>

<string name="age_label">나이</string>
<string name="height_label">키</string>
<string name="weight_label">체중</string>
<string name="age_unit">세</string>
<string name="height_unit">cm</string>
<string name="weight_unit">kg</string>
</resources>
24 changes: 21 additions & 3 deletions domain/src/main/java/co/kr/tnt/domain/model/UserType.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,24 @@
package co.kr.tnt.domain.model

enum class UserType {
Trainer,
Trainee,
sealed class UserType {
abstract val id: String
abstract val name: String
abstract val image: String?

data class Trainer(
override val id: String = "",
override val name: String = "",
override val image: String? = null,
) : UserType()

data class Trainee(
override val id: String = "",
override val name: String = "",
override val image: String? = null,
val age: Int = 0,
val weight: Float = 0f,
val height: Int = 0,
val ptPurpose: List<String> = emptyList(),
val caution: String? = null,
) : UserType()
}

This file was deleted.

This file was deleted.

Loading
Loading