Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
d502ec9
Merge branch 'mod/#137-sign-up-screen' into develop
sonms Sep 22, 2025
141e4e7
Merge branch 'develop' of https://github.com/PAW-KEY/PAWKEY-Android i…
sonms Sep 22, 2025
9a366b0
Merge branch 'develop' of https://github.com/PAW-KEY/PAWKEY-Android i…
sonms Sep 26, 2025
6b9962f
Merge branch 'develop' of https://github.com/PAW-KEY/PAWKEY-Android i…
sonms Oct 4, 2025
146ccea
Merge branch 'develop' of https://github.com/PAW-KEY/PAWKEY-Android i…
sonms Dec 4, 2025
732a29d
Merge branch 'develop' of https://github.com/PAW-KEY/PAWKEY-Android i…
sonms Dec 6, 2025
344ab38
Merge branch 'develop' of https://github.com/PAW-KEY/PAWKEY-Android i…
sonms Dec 6, 2025
acf370d
delete/#154 사용하지 않는 파일 제거
sonms Jan 5, 2026
532c3b5
add/#154 사용 이미지 파일, 아이콘 파일 추가
sonms Jan 5, 2026
ba06dd2
mod/#154 메인 뷰 수정 - 발자국x, 화면 패딩, 바텀바 구조
sonms Jan 5, 2026
1961553
add/#154 strings, 색상 추가
sonms Jan 5, 2026
5069d2c
mod/#154 공통 컴포넌트 추가 및 기존 컴포넌트 수정
sonms Jan 5, 2026
6fa2dca
mod/#154 파일 디렉토리 수정 및 이동
sonms Jan 5, 2026
6127252
mod/#154 타이포그래피 수정
sonms Jan 5, 2026
0adc21c
mod/#154 코스로 하나의 feature에서 관리 및 지도 기능 구현, 네비연결
sonms Jan 5, 2026
f052af6
feat/#154 준비 뷰 구현
sonms Jan 5, 2026
fe22bbb
feat/#154 리뷰 뷰 구현
sonms Jan 5, 2026
c9cfdba
feat/#154 상세 정보 뷰 구현 준비
sonms Jan 5, 2026
8350d0e
add/#154 drawable 추가
Jan 5, 2026
5abd584
refactor: 산책 화면 UI 및 로직 개선
Jan 5, 2026
6f8b5dc
feat/#154 산책 기록 화면 UI 수정 및 기능 추가
Jan 5, 2026
f3c615d
mod/#154: 산책 완료 화면 UI 구현 및 기능 연결
Feb 4, 2026
5f48a73
feat/#154: 산책 종료 기능 구현
Feb 4, 2026
e784113
mod/#154: 이미지 모달 컴포넌트 정리
Feb 4, 2026
3b6adc0
feat#154: 산책 준비물 추가/삭제 기능 구현
Feb 5, 2026
03413b1
chore/#154 사용하지 않는 변수 제거
sonms Feb 9, 2026
a82e151
feat/#154 detail 뷰 추가 및 preview에 사용할 수 있는 이미지 추가
sonms Feb 9, 2026
b7748e8
mod/#154 drop shadow 의 alpha 값 사용으로 변경 및 thickness 변수 뚫어놓기
sonms Feb 9, 2026
da6a5b2
Merge branch 'develop' of https://github.com/PAW-KEY/PAWKEY-Android i…
sonms Feb 13, 2026
6aeb3b5
feat/#154 루트 추천 컴포넌트 구현
sonms Feb 15, 2026
f86a2b4
feat/#154 루트 추천 뷰 연결
sonms Feb 15, 2026
a4a5d1e
feat/#154 상세 보기 컴포넌트 구현
sonms Feb 15, 2026
062d08e
feat/#154 상세 보기 뷰 연결
sonms Feb 15, 2026
c901620
mod/#154 디자인 변경 사항 구현
sonms Feb 15, 2026
34627db
add/#154 drawable 수정 및 추가
sonms Feb 15, 2026
8b5f875
mod/#154 공통 item으로 수정
sonms Feb 15, 2026
7a571fd
mod/#154 공통 버튼 수정
sonms Feb 15, 2026
92d22de
feat/#154 상세보기 컴포넌트 구현
sonms Feb 15, 2026
ca21acf
mod/#154 홈 뷰 공통 아이템 사용 및 디자인에 맞게 재수정
sonms Feb 15, 2026
91d8de5
mod/#154 사용하지 않는 함수 제거 및 dropshadow 수정
sonms Feb 15, 2026
adcc6c3
feat/#154 공통 item 구현
sonms Feb 15, 2026
c51411f
feat/#154 공통 type 추가
sonms Feb 15, 2026
736854c
mod/#154 공통 컴포넌트 디자인 반영으로 수정
sonms Feb 15, 2026
1da2141
mod/#154 review 네비 연결
sonms Feb 15, 2026
457ccc9
feat/#154 루트 추천 뷰의 필터용 enum
sonms Feb 15, 2026
65e62f2
feat/#154 루트 추천 뷰 구현
sonms Feb 15, 2026
4ccdb27
feat/#154 루트 item용 공통 model 구현
sonms Feb 15, 2026
b408181
feat/#154 걸음 준비 뷰 구현
sonms Feb 15, 2026
b436bde
feat/#154 리뷰 뷰 구현
sonms Feb 15, 2026
62339bf
delete/#154 사용하지 않는 파일제거
sonms Feb 19, 2026
1324d43
mod/#154 로그인 방식 interceptor 및 repository로 분리
sonms Feb 19, 2026
f3b82c6
feat/#154 이미지 presigned url이랑 image 데이터 등록 api 구현
sonms Feb 19, 2026
df4a0cb
feat/#154 유저 서비스 - 견종조회, 지역구조회, createUser 구현
sonms Feb 19, 2026
9a1dc6d
feat/#154 서버에서 전달받은 내용으로 구현
sonms Feb 19, 2026
fa50830
mod/#154 파일 이동 및 삭제로 인한 import 수정
sonms Feb 19, 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 @@ -46,7 +46,7 @@ import com.paw.key.R
import com.paw.key.core.designsystem.theme.Gray100
import com.paw.key.core.designsystem.theme.PawKeyTheme
import com.paw.key.core.extension.noRippleClickable
import com.paw.key.domain.model.entity.walklist.CategoryTop3Entity
import com.paw.key.domain.entity.walklist.CategoryTop3Entity

@OptIn(ExperimentalLayoutApi::class)
@Composable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,14 @@ fun DogkyFilterBadge(
)
.clickable(
onClick = onLocationClick
),
)
.padding(horizontal = horizontalPadding.dp, vertical = verticalPadding.dp),
contentAlignment = Alignment.Center
) {
Text(
text = location,
style = PawKeyTheme.typography.buttonSmall,
color = PawKeyTheme.colors.primary,
modifier = Modifier.padding(horizontal = horizontalPadding.dp, vertical = verticalPadding.dp)
)
}
}
Expand All @@ -56,8 +56,10 @@ fun DogkyFilterBadge(
private fun RegionBadgePreview() {
PawKeyTheme {
DogkyFilterBadge(
location = "w적음",
onLocationClick = {}
location = "강남구 역삼동",
onLocationClick = {},
horizontalPadding = 6,
verticalPadding = 5,
)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
package com.paw.key.core.designsystem.component

import androidx.compose.foundation.background
import androidx.compose.foundation.border
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.paw.key.core.designsystem.theme.PawKeyTheme
import com.paw.key.core.extension.noRippleClickable

@Composable
fun DokiBorderButton(
text: String,
enabled: Boolean,
onClick: () -> Unit,
modifier: Modifier = Modifier,
) {
val textColor = when {
enabled -> PawKeyTheme.colors.primary
else -> PawKeyTheme.colors.defaultMiddle
}

Box(
modifier = modifier
.fillMaxWidth()
.border(
width = 1.dp,
color = textColor,
shape = RoundedCornerShape(8.dp)
)
.background(
color = PawKeyTheme.colors.background,
shape = RoundedCornerShape(8.dp)
)
.noRippleClickable {
if (enabled) onClick()
}
.padding(vertical = 18.dp),
contentAlignment = Alignment.Center
) {
Text(
text = text,
style = PawKeyTheme.typography.mainButtonActive,
color = textColor,
modifier = Modifier.fillMaxWidth(),
textAlign = TextAlign.Center
)
}
}

@Preview
@Composable
private fun DokiBorderButtonPreview() {
PawKeyTheme {
DokiBorderButton(
text = "산책 기록하기",
enabled = true,
onClick = {}
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package com.paw.key.core.designsystem.component

import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.shape.RoundedCornerShape
Expand All @@ -15,11 +16,12 @@ import com.paw.key.core.designsystem.theme.PawKeyTheme
import com.paw.key.core.extension.noRippleClickable

@Composable
fun DogkyButton(
fun DokiButton(
text: String,
enabled: Boolean,
onClick: () -> Unit,
modifier: Modifier = Modifier
modifier: Modifier = Modifier,
isDialog: Boolean = false,
) {
val backgroundColor = when {
enabled -> PawKeyTheme.colors.primary
Expand All @@ -31,19 +33,29 @@ fun DogkyButton(
else -> PawKeyTheme.colors.defaultMiddle
}

val typo = when {
isDialog -> PawKeyTheme.typography.subTitle
enabled -> PawKeyTheme.typography.mainButtonActive
else -> PawKeyTheme.typography.mainButtonDefault
}

Box(
modifier = modifier
.fillMaxWidth()
.background(backgroundColor, shape = RoundedCornerShape(8.dp))
.noRippleClickable {
if (enabled) onClick()
}
.padding(vertical = 14.dp),
.noRippleClickable(onClick = onClick)
.padding(
if (isDialog) {
PaddingValues(horizontal = 6.dp, vertical = 17.dp)
} else {
PaddingValues(vertical = 18.dp)
}
),
contentAlignment = Alignment.Center
) {
Text(
text = text,
style = PawKeyTheme.typography.mainButtonDefault,
style = typo,
color = textColor
)
}
Expand All @@ -53,9 +65,9 @@ fun DogkyButton(
@Composable
private fun DogkyButtonPreview() {
PawKeyTheme {
DogkyButton(
text = "",
enabled = true,
DokiButton(
text = "산책 종료하기",
enabled = false,
onClick = {}
)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,28 +1,17 @@
package com.paw.key.core.designsystem.component

import androidx.compose.foundation.Image
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Close
import androidx.compose.material3.Icon
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.platform.LocalContext
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage

import androidx.compose.ui.window.Dialog
import coil.request.ImageRequest
import com.paw.key.R
import coil.compose.AsyncImage
import com.paw.key.core.designsystem.theme.PawKeyTheme

@Composable
Expand Down Expand Up @@ -67,4 +56,4 @@ fun ImageModalPreview() {
onDismiss = {}
)
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package com.paw.key.core.designsystem.component

import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.paw.key.core.designsystem.theme.PawKeyTheme

@Composable
fun InfoChip(
text: String,
modifier: Modifier = Modifier,
isActionChip: Boolean = false,
) {
val backGroundColor = if (isActionChip) {
PawKeyTheme.colors.primary
} else {
PawKeyTheme.colors.primaryGra1
}

val textColor = if (isActionChip) {
PawKeyTheme.colors.background
} else {
PawKeyTheme.colors.primary
}

val fontStyle = if (isActionChip) {
PawKeyTheme.typography.bodySmall
} else {
PawKeyTheme.typography.subButtonDefault
}

Box (
modifier = modifier
.background(
color = backGroundColor,
shape = RoundedCornerShape(8.dp)
)
.padding(horizontal = 8.dp, vertical = 4.dp)
) {
Text(
text = text,
color = textColor,
style = fontStyle
)
}
}

@Preview
@Composable
private fun InfoChipPreview() {
PawKeyTheme {
InfoChip(
text = "2.2 km",
isActionChip = true
)
}
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package com.paw.key.core.designsystem.component

import androidx.compose.foundation.background
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.height
import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
Expand All @@ -17,19 +17,22 @@ import com.paw.key.core.designsystem.theme.PawKeyTheme
@Composable
fun LoadingScreen() {
Box(
modifier = Modifier.fillMaxSize(),
modifier = Modifier
.fillMaxSize()
.background(
color = PawKeyTheme.colors.contents.copy(alpha = 0.5f)
),
contentAlignment = Alignment.Center
) {
Column(
horizontalAlignment = Alignment.CenterHorizontally
) {
CircularProgressIndicator(
color = PawKeyTheme.colors.green500
color = PawKeyTheme.colors.primary
)

Spacer(modifier = Modifier.height(8.dp))

Text("현재 위치를 가져오는 중...")
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import com.paw.key.core.extension.noRippleClickable
@Composable
private fun PreviewSubChip() {
SubChip(
text = "4km",
text = "+ 9",
onClick = {}
)
}
Expand All @@ -26,21 +26,25 @@ fun SubChip(
text: String,
modifier: Modifier = Modifier,
onClick : () -> Unit = {},
isDividerChip: Boolean = false, //true -> detail의 16dp
isActionChip: Boolean = false, //true -> 회색
) {
Box(
modifier = modifier
.background(
color = if (isActionChip) PawKeyTheme.colors.white2 else PawKeyTheme.colors.green50,
shape = RoundedCornerShape(20.dp)
color = if (isActionChip) PawKeyTheme.colors.primaryGra1 else PawKeyTheme.colors.defaultButton,
shape = if (isActionChip) RoundedCornerShape(8.dp) else RoundedCornerShape(36.dp)
)
.noRippleClickable(onClick = onClick)
.padding(horizontal = 10.dp, vertical = 4.dp)
.then(
if (isDividerChip) Modifier.padding(horizontal = 16.dp, vertical = 4.dp)
else Modifier.padding(8.dp)
)
) {
Text(
text = text,
color = if (isActionChip) PawKeyTheme.colors.gray700 else PawKeyTheme.colors.green600,
style = PawKeyTheme.typography.caption12R
color = if (isActionChip) PawKeyTheme.colors.primary else PawKeyTheme.colors.defaultMiddle,
style = if (isActionChip) PawKeyTheme.typography.subButtonActive else PawKeyTheme.typography.buttonSmall
)
}
}
Loading