Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
3a93a24
[refactor] 파일 분리
chanmi1125 Jun 14, 2026
d79c507
[feat] CollectionCopyrightFooter 제작
chanmi1125 Jun 15, 2026
1f6ab2c
[feat] PeopleWhoSavedThisCollection.kt 수정
chanmi1125 Jun 15, 2026
6a94302
[feat] 컬렉션 상세 케밥 메뉴(수정/삭제/신고) 추가 및 내 컬렉션 여부(isMine) 연동
chanmi1125 Jun 15, 2026
3a072f0
[refactor] 컬렉션 상세 컨텐츠 목록 LazyColumn 전환 및 미사용 진행도 표시바 제거
chanmi1125 Jun 15, 2026
2a0adf9
[refactor] 컬렉션 상세 컨텐츠 목록 LazyColumn 전환 및 미사용 진행도 표시바 제거
chanmi1125 Jun 15, 2026
19059d6
[refactor] Content.kt -> CollectionDetailContent.kt 이름 변경
chanmi1125 Jun 15, 2026
f67aa94
[delect] CollectionReport 삭제
chanmi1125 Jun 15, 2026
67a43fa
Merge branch 'develop' of https://github.com/imflint/Flint-Android in…
chanmi1125 Jun 15, 2026
b13a7d6
[feat] CollectionDetail 삭제 모달 제작 및 연결
chanmi1125 Jun 16, 2026
e1ac130
[feat] CollectionDetailDescription.kt 수정사항 반영
chanmi1125 Jun 16, 2026
4b516db
[feat] PeopleWhoSavedThisCollection.kt 변경사항 수정
chanmi1125 Jun 16, 2026
5e2631e
[feat] CollectionDetail customImageUrls / isPublic data 레이어 추가
chanmi1125 Jun 16, 2026
c766b1c
[feat] CollectionDetail 커스텀 이미지 캐러셀 연결
chanmi1125 Jun 16, 2026
0a48b08
[fix] 커스텀 이미지 요청 SerialName imageUrls → customImages 수정
chanmi1125 Jun 16, 2026
8ed015f
[feat] 컬렉션 수정 화면 기존 커스텀 이미지 표시 및 삭제
chanmi1125 Jun 16, 2026
95383b2
[feat] 컬렉션 수정 화면 기존 커스텀 이미지 표시 및 삭제
chanmi1125 Jun 16, 2026
4d5aeba
[feat] 컬렉션 삭제 API 연결 및 삭제 완료 토스트 구현
chanmi1125 Jun 16, 2026
7297b4c
[feat] 컬렉션 수정 API 연결 성공
chanmi1125 Jun 16, 2026
5f108c9
[refactor] 코드래빗 코리 반영
chanmi1125 Jun 16, 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

This file was deleted.

10 changes: 9 additions & 1 deletion app/src/main/java/com/flint/core/navigation/Route.kt
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,21 @@ interface Route {
data class CollectionDetail(
val collectionId: String,
val targetImageUrl: String? = null,
val showEditSuccessToast: Boolean = false,
) : Route

@Serializable
data class CollectionReport(
val collectionId: String,
) : Route

@Serializable
data object CollectionCreate : Route

@Serializable
data object CollectionCreateGraph : Route
data class CollectionCreateGraph(
val collectionId: String? = null,
) : Route

@Serializable
data object SavedContentList : Route
Expand Down
16 changes: 16 additions & 0 deletions app/src/main/java/com/flint/data/api/CollectionApi.kt
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
package com.flint.data.api

import com.flint.data.dto.base.BaseEmptyResponse
import com.flint.data.dto.base.BaseResponse
import com.flint.data.dto.collection.request.CollectionCreateRequestDto
import com.flint.data.dto.collection.response.CollectionCreateResponseDto
import com.flint.data.dto.collection.response.CollectionDetailResponseDto
import com.flint.data.dto.collection.response.CollectionsResponseDto
import com.flint.data.dto.collection.response.RecentCollectionListResponseDto
import retrofit2.http.Body
import retrofit2.http.DELETE
import retrofit2.http.GET
import retrofit2.http.POST
import retrofit2.http.PUT
import retrofit2.http.Path
import retrofit2.http.Query

Expand All @@ -32,6 +35,19 @@ interface CollectionApi {
@Path("collectionId") collectionId: String,
): BaseResponse<CollectionDetailResponseDto>

// 컬렉션 수정
@PUT("/api/v1/collections/{collectionId}")
suspend fun updateCollection(
@Path("collectionId") collectionId: String,
@Body requestDto: CollectionCreateRequestDto,
): BaseEmptyResponse

// 컬렉션 삭제
@DELETE("/api/v1/collections/{collectionId}")
suspend fun deleteCollection(
@Path("collectionId") collectionId: String,
): BaseEmptyResponse

// 최근 본 컬렉션 목록 조회
@GET("/api/v1/collections/recent")
suspend fun getRecentCollectionList(): BaseResponse<RecentCollectionListResponseDto>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ data class CollectionCreateRequestDto(
val isSpoiler: Boolean,
@SerialName("reason")
val reason: String,
@SerialName("imageUrls")
@SerialName("customImages")
val imageUrls: List<String> = emptyList(),
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ data class CollectionDetailResponseDto(
@SerialName("id") val id: String,
@SerialName("thumbnailUrl") val thumbnailUrl: String,
@SerialName("isBookmarked") val isBookmarked: Boolean,
@SerialName("isPublic") val isPublic: Boolean,
@SerialName("title") val title: String,
) {
@Serializable
Expand All @@ -31,6 +32,7 @@ data class CollectionDetailResponseDto(
@SerialName("isSpoiler") val isSpoiler: Boolean,
@SerialName("reason") val reason: String,
@SerialName("imageUrl") val imageUrl: String,
@SerialName("customImageUrls") val customImageUrls: List<String> = emptyList(),
@SerialName("title") val title: String,
@SerialName("year") val year: Int,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ fun CollectionDetailResponseDto.toModel(): CollectionDetailModelNew {
id = id,
thumbnailUrl = thumbnailUrl,
isBookmarked = isBookmarked,
isPublic = isPublic,
title = title,
)
}
Expand All @@ -39,6 +40,7 @@ private fun CollectionDetailResponseDto.Content.toModel(): ContentModelNew {
isSpoiler = isSpoiler,
reason = reason,
imageUrl = imageUrl,
customImageUrls = customImageUrls,
title = title,
year = year,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ data class CollectionDetailModelNew(
val id: String,
val thumbnailUrl: String,
val isBookmarked: Boolean,
val isPublic: Boolean,
val title: String,
)
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ data class ContentModelNew(
val isSpoiler: Boolean,
val reason: String,
val imageUrl: String,
val customImageUrls: List<String> = emptyList(),
val title: String,
val year: Int,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,23 @@ class CollectionRepository @Inject constructor(
response.toModel()
}

// 컬렉션 수정
suspend fun updateCollection(
collectionId: String,
requestDto: CollectionCreateRequestDto,
): Result<Unit> =
suspendRunCatching {
apiService.updateCollection(collectionId, requestDto)
Unit
}

// 컬렉션 삭제
suspend fun deleteCollection(collectionId: String): Result<Unit> =
suspendRunCatching {
apiService.deleteCollection(collectionId)
Unit
}
Comment thread
coderabbitai[bot] marked this conversation as resolved.

// 최근 본 컬렉션 목록 조회
suspend fun getRecentCollectionList(): Result<CollectionListModel> =
suspendRunCatching { apiService.getRecentCollectionList().data.toModel() }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ fun CollectionCreateRoute(
contentImageLauncher.launch("image/*")
}
},
onRemoveExistingContentImage = viewModel::removeExistingContentImageUrl,
onRemoveContentImage = viewModel::removeContentImageUri,
modifier = Modifier.padding(paddingValues),
)
Expand All @@ -141,6 +142,7 @@ fun CollectionCreateScreen(
onGalleryClick: () -> Unit = {},
onThumbnailDelete: () -> Unit = {},
onSelectContentImage: (contentId: String) -> Unit = {},
onRemoveExistingContentImage: (contentId: String, index: Int) -> Unit = { _, _ -> },
onRemoveContentImage: (contentId: String, index: Int) -> Unit = { _, _ -> },
modifier: Modifier = Modifier,
) {
Expand All @@ -163,7 +165,7 @@ fun CollectionCreateScreen(
// 썸네일
item {
CollectionCreateThumbnail(
imageUrl = uiState.thumbnailImageUri,
imageUrl = uiState.thumbnailImageUri ?: uiState.existingThumbnailUrl,
onClick = { isThumbnailBottomSheetVisible = true },
)

Expand Down Expand Up @@ -212,6 +214,7 @@ fun CollectionCreateScreen(
onReasonChanged = onReasonChanged,
onAddContentClick = onAddContentClick,
onSelectContentImage = onSelectContentImage,
onRemoveExistingContentImage = onRemoveExistingContentImage,
onRemoveContentImage = onRemoveContentImage,
modifier = Modifier.padding(horizontal = (16).dp),
)
Expand Down Expand Up @@ -408,6 +411,7 @@ private fun CollectionAddContentSection(
onReasonChanged: (String, String) -> Unit,
onAddContentClick: () -> Unit,
onSelectContentImage: (contentId: String) -> Unit,
onRemoveExistingContentImage: (contentId: String, index: Int) -> Unit,
onRemoveContentImage: (contentId: String, index: Int) -> Unit,
modifier: Modifier = Modifier,
) {
Expand Down Expand Up @@ -460,9 +464,11 @@ private fun CollectionAddContentSection(

Spacer(Modifier.height(16.dp))

if (detail.contentImageUris.isNotEmpty()) {
if (detail.existingImageUrls.isNotEmpty() || detail.contentImageUris.isNotEmpty()) {
CollectionCreateContentImage(
existingImageUrls = detail.existingImageUrls,
imageUris = detail.contentImageUris,
onDeleteExistingClick = { index -> onRemoveExistingContentImage(content.id, index) },
onDeleteClick = { index -> onRemoveContentImage(content.id, index) },
)

Expand Down
Loading
Loading