Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
40c5b3d
feat/#120: 앱 아이콘 설정
sonms Jul 17, 2025
b96afae
chore/#120: 잘못된 serialname 변경
sonms Jul 17, 2025
0dc193c
feat/#120: review 네비게이션 연결
sonms Jul 17, 2025
d6fded8
chore/#120: course 좌표 수정
sonms Jul 17, 2025
031a4f8
chore/#120: 분기 처리
sonms Jul 17, 2025
f4873bc
feat/#120: 탭 맵 현재 지역 가져오기
sonms Jul 17, 2025
fb0a1f7
chore/#120: 탭 리스트 뷰 카테고리 수정
sonms Jul 17, 2025
e8a2926
chore/#120: progress 수정
sonms Jul 17, 2025
a9adf0c
chore/#120: 공유 산택 리뷰 서비스 nullable 변경
sonms Jul 17, 2025
5bfce0b
chore/#120: 다이얼로그 되고 네비게이션 연결 수정
sonms Jul 17, 2025
3848050
chore/#120: 공유 코스 맵 지도 카메라 설정하기
sonms Jul 17, 2025
a84941a
chore/#120: 저장한 기록 보기 뷰 상태관리 수정
sonms Jul 17, 2025
fe463be
feat/#120: 저장 코스와 저장 상세보기 네비게이션 연결
sonms Jul 17, 2025
58654ea
chore/#120: 저장 코스와 저장 상세보기 - gui 수정
sonms Jul 17, 2025
4544d70
chore/#120: 펫 프로필 부분 분기 처리 및 데이터 변경
sonms Jul 17, 2025
80c4b4b
chore/#120: noripple, state 관리
sonms Jul 17, 2025
2106f64
feat/#120: 네비게이션 전체 연결
sonms Jul 17, 2025
102e045
feat/#120: 홈 지역 저장 후 tabmap에 이동
sonms Jul 17, 2025
168e1b7
chore/#120: course 카드, 맵뷰 분기
sonms Jul 17, 2025
3a2326a
chore/#120: 공통 컴포넌트 - 뷰 넘는 오류 수정
sonms Jul 17, 2025
ef50f35
feat/#120: 기록된 course 네비게이션 연결
sonms Jul 17, 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
4 changes: 2 additions & 2 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:icon="@mipmap/ic_pawkey_launcher_round"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:roundIcon="@mipmap/ic_pawkey_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.PawKey"
android:usesCleartextTraffic="true"
Expand Down
Binary file added app/src/main/ic_pawkey_launcher-playstore.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package com.paw.key.core.designsystem.component
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.ExperimentalLayoutApi
import androidx.compose.foundation.layout.FlowRow
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
Expand Down Expand Up @@ -36,7 +37,7 @@ fun ChipRow(
val hiddenCount = tags.size - 3 //가려진 칩 개수

FlowRow(
modifier = modifier,
modifier = modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.spacedBy(8.dp),
verticalArrangement = Arrangement.spacedBy(8.dp)
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,16 @@ fun CourseCard(
postId: Int,
title: String,
createdAt: String,
modifier: Modifier = Modifier,
isLiked: Boolean? = null, // 저장한 루트에서만 사용
isPublic: Boolean? = null, // 기록한 루트에서만 사용
isMine : Boolean,
onClickItem: () -> Unit,
onClickLike: ((Boolean) -> Unit)? = null, // null이면 클릭 불가
petName: String,
modifier: Modifier = Modifier,
representativeImageUrl: String? = null,
petProfileImageUrl: String? = null,
descriptionTags: List<String> = emptyList()
descriptionTags: List<String> = emptyList(),
) {
fun formatDate(dateString: String): String {
return try {
Expand All @@ -57,7 +58,6 @@ fun CourseCard(
modifier = modifier
.padding(8.dp)
.fillMaxWidth()
.size(width = 328.dp, height = 240.dp)
.background(Color.White, shape = RoundedCornerShape(20.dp))
.noRippleClickable { onClickItem() }
) {
Expand Down Expand Up @@ -128,6 +128,21 @@ fun CourseCard(
.clip(CircleShape),
contentScale = ContentScale.Crop
)
} else {
Box(
modifier = Modifier
.size(40.dp)
.clip(CircleShape)
.background(PawKeyTheme.colors.gray200),
contentAlignment = Alignment.Center
) {
Icon(
imageVector = ImageVector.vectorResource(id = R.drawable.ic_heart_default),
contentDescription = null,
tint = PawKeyTheme.colors.gray400,
modifier = Modifier.size(20.dp)
)
}
}

Spacer(modifier = Modifier.width(10.dp))
Expand Down Expand Up @@ -197,7 +212,8 @@ fun CourseCard(
HorizontalDivider(
color = PawKeyTheme.colors.gray50,
thickness = 1.dp,
modifier = Modifier.padding(horizontal = 16.dp)
modifier = Modifier
.padding(horizontal = 16.dp)
)
}
}
Expand All @@ -216,7 +232,8 @@ fun CourseCardPreview() {
petName = "후추",
representativeImageUrl = "https://pawkey-server.com/image.jpg",
petProfileImageUrl = "https://pawkey-server.com/profile.jpg",
descriptionTags = listOf("이륜차 거의 없음", "물그릇 비치", "쉴 곳 있음")
descriptionTags = listOf("이륜차 거의 없음", "물그릇 비치", "쉴 곳 있음"),
isMine = true
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ data class SharedWalkReviewRequestDto(
@SerialName("routeId")
val routeId: Int,

@SerialName("selectedCategories")
val selectedCategories: List<SharedWalkReviewCategoryDto>
@SerialName("selectedReviewSetList")
val selectedReviewSetList: List<SharedWalkReviewCategoryDto>
)

@Serializable
data class SharedWalkReviewCategoryDto(
@SerialName("categoryId")
val categoryId: Int,
@SerialName("reviewCategoryId")
val reviewCategoryId: Int,

@SerialName("selectedOptionIds")
val selectedOptionIds: List<Int>
@SerialName("selectedReviewOptionIds")
val selectedReviewOptionIds: List<Int>
)
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ data class WalkCourseRequestDto(
) {
fun toEntity(): WalkCourseEntity {
return WalkCourseEntity(
coordinates = coordinates.map { CoordinateEntity(it.longitude, it.latitude) },
coordinates = coordinates.map { CoordinateEntity(it.latitude, it.longitude) },
distance = distance,
duration = duration,
startedAt = startedAt,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,6 @@ class SharedWalkDataSource @Inject constructor(

suspend fun postSharedWalkReviewRegister(userId: Int, reviewDto: SharedWalkReviewRequestDto) =
sharedWalkService.postSharedWalkReview(userId, reviewDto)


}
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ class SharedWalkRepositoryImpl @Inject constructor(
override suspend fun postSharedWalkReviewRegister(
userId: Int,
review: SharedWalkReviewEntity
): Result<Unit> {
): Result<Unit?> {
return runCatching {
sharedWalkDataSource.postSharedWalkReviewRegister(userId, review.toDto())
sharedWalkDataSource.postSharedWalkReviewRegister(userId, review.toDto()).data
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ interface SharedWalkService {
suspend fun postSharedWalkReview(
@Header("X-USER-ID") userId: Int,
@Body reviewDto: SharedWalkReviewRequestDto
) : BaseResponse<Unit>
) : BaseResponse<Unit?>
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,22 @@ import com.paw.key.data.dto.request.sharedwalk.SharedWalkReviewRequestDto

data class SharedWalkReviewEntity(
val routeId: Int,
val categories: List<SharedWalkReviewCategory>
val selectedReviewSetList: List<SharedWalkReviewCategory>
) {
fun toDto(): SharedWalkReviewRequestDto {
return SharedWalkReviewRequestDto(
routeId = routeId,
selectedCategories = categories.map { category ->
selectedReviewSetList = selectedReviewSetList.map { category ->
SharedWalkReviewCategoryDto(
categoryId = category.categoryId,
selectedOptionIds = category.selectedOptionIds
reviewCategoryId = category.reviewCategoryId,
selectedReviewOptionIds = category.selectedReviewOptionIds
)
}
)
}
}

data class SharedWalkReviewCategory(
val categoryId: Int,
val selectedOptionIds: List<Int>
val reviewCategoryId: Int,
val selectedReviewOptionIds: List<Int>
)
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ import com.paw.key.domain.model.entity.sharedwalk.SharedWalkReviewEntity
interface SharedWalkRepository {
suspend fun getSharedWalkTrack(userId: Int, routeId: Int): Result<SharedWalkEntity>

suspend fun postSharedWalkReviewRegister(userId: Int, review: SharedWalkReviewEntity): Result<Unit>
suspend fun postSharedWalkReviewRegister(userId: Int, review: SharedWalkReviewEntity): Result<Unit?>
}
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ fun TabListScreen(
descriptionTags = post.descriptionTags,
postId = post.postId,
createdAt = post.createdAt,
isMine = post.isMine,
isLiked = post.isLike,
onClickItem = {
navigateToDetail(post.postId, post.routeId)
Expand Down
Loading