Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
35b374d
✨ Feat: CommentTextField.kt 패딩 수정
chanho0908 Mar 7, 2026
7cbd7bd
✨ Feat: `CommentTextField` `onHeightMeasured` 콜백을 추가하여 컴포넌트 높이 변화를 감지…
chanho0908 Mar 7, 2026
08802c1
♻️ Refactor: `CameraControlBar` 내부 레이아웃 구조 개선
chanho0908 Mar 7, 2026
153a8f5
♻️ Refactor: `AppRoundButton` 테두리 두께 변경 (1.dp -> 1.6.dp)
chanho0908 Mar 7, 2026
a203dd7
✨ Feat: `AppRoundButton` 공용 컴포넌트 고도화 및 UI 일관성 적용
chanho0908 Mar 7, 2026
f8f2e52
♻️ Refactor: "인증샷 찍기"에서 "업로드하기"로 변경하여 사용자 가이드 문구 수정
chanho0908 Mar 7, 2026
47611dd
♻️ Refactor: `CommentTextField` 배경 그리기 방식 개선 및 리팩토링`
chanho0908 Mar 7, 2026
a24d38d
♻️ Refactor: 인증샷 편집 화면 재촬영 버튼 높이 수정
chanho0908 Mar 8, 2026
07b2fcb
✨ Feat: `AppRoundButton` 롱 버튼 프리뷰 추가
chanho0908 Mar 8, 2026
26e2cf3
♻️ Refactor: `CameraControlBar` 업로드 버튼 영역 높이 수정
chanho0908 Mar 8, 2026
fbbecc0
♻️ Refactor: 포토로그 업로드 관련 문자열 리소스 수정
chanho0908 Mar 8, 2026
a7f88b4
✨ Feat: `CommonColor`에 `Black` 색상 추가
chanho0908 Mar 8, 2026
8b1c408
✨ Feat: 카메라 플래시(Torch) 버튼 UI 구현 및 적용
chanho0908 Mar 8, 2026
e4944f6
🔥 Chore: 사용하지 않는 카메라 권한 안내 문자열 제거
chanho0908 Mar 8, 2026
1da3655
♻️ Refactor: 토스트 관련 문자열 리소스 네이밍 컨벤션 적용 및 정리
chanho0908 Mar 8, 2026
fe31f88
♻️ Refactor: 내 사진이 없을 때 텍스트가 인증샷을 올려보세요!로 변경
chanho0908 Mar 8, 2026
b6e49a2
♻️ Refactor: 인증샷 수정 버튼 배경색 변경
chanho0908 Mar 8, 2026
9740f5c
♻️ Refactor: 인증샷 업로드 시간 텍스트 색상 변경
chanho0908 Mar 8, 2026
4c2fa5c
♻️ Refactor: 인증샷 프레임 radius 수정
chanho0908 Mar 8, 2026
c7952fe
♻️ Refactor: 리액션바 shadow 크기 수정
chanho0908 Mar 8, 2026
c0273a4
♻️ Refactor: ReactionBar` 아이템 간격 및 패딩 조정
chanho0908 Mar 8, 2026
d9699ce
🎨 Style: PhotologDetailPreviewProvider 코드 포맷팅 수정
chanho0908 Mar 8, 2026
1f86b09
♻️ Refactor: 댓글 입력 로직 개선 및 공백 검증 강화
chanho0908 Mar 8, 2026
5a88f49
✨ Feat: `CommentAnchorFrame` 하단 패딩 커스텀 기능 추가
chanho0908 Mar 8, 2026
50f3f6c
♻️ Refactor: 다시찍기 버튼 너비 수정
chanho0908 Mar 8, 2026
e7cde7c
♻️ Refactor: `PhotologCardPreview` 접근 제어자 수정
chanho0908 Mar 8, 2026
995cf52
♻️ Refactor: `PhotologEditorRoute` 내 `Spacer` 높이를 `101.dp`에서 `103.dp`…
chanho0908 Mar 8, 2026
39511e8
♻️ Refactor: 사용하지 않는 `CommentUiModel` 임포트 제거
chanho0908 Mar 8, 2026
eb0f518
✨ Refactor: `SwipeableCard` 애니메이션 로직 간소화 및 수치 조정
chanho0908 Mar 11, 2026
de3c01f
♻️ Refactor: `dismissDistance`를 화면 너비에 비례하도록 동적 계산 로직 적용
chanho0908 Mar 11, 2026
78fc526
✨ Feat: 인증샷 상세 화면 스크롤 적용 및 파일명 변경
chanho0908 Mar 11, 2026
082ae06
♻️ Refactor: `CameraPreviewBox` 반응형 레이아웃 대응
chanho0908 Mar 11, 2026
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 @@ -3,9 +3,7 @@ package com.twix.designsystem.components.button
import androidx.compose.foundation.background
import androidx.compose.foundation.border
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.width
Expand All @@ -14,8 +12,11 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import com.twix.designsystem.R
import com.twix.designsystem.components.text.AppText
import com.twix.designsystem.theme.CommonColor
import com.twix.designsystem.theme.GrayColor
Expand All @@ -24,85 +25,141 @@ import com.twix.domain.model.enums.AppTextStyle

@Composable
fun AppRoundButton(
text: String,
textColor: Color,
backgroundColor: Color,
modifier: Modifier = Modifier,
textStyle: AppTextStyle = AppTextStyle.T2,
borderColor: Color = GrayColor.C500,
hasBorder: Boolean = true,
contentHeight: Dp,
contentColor: Color,
contentBorderColor: Color,
contentBorderWidth: Dp,
shadowHeight: Dp,
shadowOffset: Dp,
modifier: Modifier,
content: @Composable () -> Unit,
) {
Box(
modifier = modifier,
) {
if (hasBorder) {
Box(
modifier =
Modifier
.fillMaxSize()
.offset(y = 4.dp)
.background(
color = borderColor,
shape = RoundedCornerShape(100),
),
)
}
val shape = RoundedCornerShape(999.dp)

Box(modifier = modifier) {
Box(
modifier =
Modifier
.fillMaxWidth()
.height(shadowHeight)
.offset(y = shadowOffset)
.background(color = contentBorderColor, shape = shape),
)

Box(
modifier =
Modifier
.fillMaxSize()
.background(
color = backgroundColor,
shape = RoundedCornerShape(100),
).then(
if (hasBorder) {
Modifier.border(
width = 1.dp,
color = borderColor,
shape = RoundedCornerShape(100),
)
} else {
Modifier
},
.fillMaxWidth()
.height(contentHeight)
.background(color = contentColor, shape = shape)
.border(
color = contentBorderColor,
shape = shape,
width = contentBorderWidth,
),
contentAlignment = Alignment.Center,
) {
content()
}
}
}

@Preview(showBackground = true)
@Composable
private fun WhiteAppRoundButtonPreview() {
TwixTheme {
AppRoundButton(
modifier =
Modifier
.width(150.dp)
.height(74.dp),
contentColor = CommonColor.White,
contentHeight = 68.dp,
contentBorderColor = GrayColor.C500,
contentBorderWidth = 1.6.dp,
shadowHeight = 70.dp,
shadowOffset = 4.dp,
) {
AppText(
style = textStyle,
color = textColor,
text = text,
style = AppTextStyle.T2,
color = GrayColor.C500,
text = "버튼 이름",
)
}
}
}

@Preview(showBackground = true)
@Composable
fun AppRoundButtonPreview() {
private fun PokeAppRoundButtonPreview() {
TwixTheme {
AppRoundButton(
modifier =
Modifier
.width(64.dp)
.height(32.dp),
contentColor = CommonColor.White,
contentHeight = 28.dp,
contentBorderColor = GrayColor.C500,
contentBorderWidth = 1.dp,
shadowHeight = 31.dp,
shadowOffset = 1.dp,
) {
AppText(
style = AppTextStyle.C2,
color = GrayColor.C500,
text = "찌르기!",
)
}
}
}

@Preview(showBackground = true, backgroundColor = 0xFF000000)
@Composable
private fun BlackAppRoundButtonPreview() {
TwixTheme {
Column {
AppRoundButton(
modifier =
Modifier
.width(330.dp)
.height(68.dp),
text = "버튼임니다",
textColor = GrayColor.C500,
backgroundColor = CommonColor.White,
AppRoundButton(
modifier =
Modifier
.width(150.dp)
.height(74.dp),
contentColor = GrayColor.C500,
contentHeight = 68.dp,
contentBorderColor = CommonColor.White,
contentBorderWidth = 1.6.dp,
shadowHeight = 70.dp,
shadowOffset = 4.dp,
) {
AppText(
style = AppTextStyle.T2,
color = CommonColor.White,
text = "버튼 이름",
)
Spacer(modifier = Modifier.height(10.dp))
AppRoundButton(
modifier =
Modifier
.width(330.dp)
.height(68.dp),
text = "버튼임니다",
textColor = CommonColor.White,
backgroundColor = GrayColor.C500,
hasBorder = false,
}
}
}

@Preview(showBackground = true)
@Composable
private fun LongAppRoundButtonPreview() {
TwixTheme {
AppRoundButton(
modifier =
Modifier
.width(330.dp)
.height(70.dp),
contentColor = CommonColor.White,
contentHeight = 68.dp,
contentBorderColor = GrayColor.C500,
contentBorderWidth = 1.6.dp,
shadowHeight = 70.dp,
shadowOffset = 4.dp,
) {
AppText(
style = AppTextStyle.T2,
color = GrayColor.C500,
text = stringResource(R.string.photolog_editor_retake),
)
Spacer(modifier = Modifier.height(10.dp))
}
}
}
Loading
Loading