From 39b6e7abcd60da53777684ead1481ac8b78edc27 Mon Sep 17 00:00:00 2001 From: Sehwan Yun <39579912+l5x5l@users.noreply.github.com> Date: Fri, 30 Aug 2024 21:03:22 +0900 Subject: [PATCH] [Fix] #64 qa link detail (#66) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [FIX] #64-링크 상세 BottomSheet에서 알림 아이콘이 항상 활성화되어있는 문제와 포킷명이 항상 "텍스트"로 표시되는 문제 수정 * [FIX] #64-링크 즐겨찾기 취소가 정상적으로 작동하지 않던 문제 수정 * [FIX] #64-링크 상세 bottomSheet에 즐겨찾기 클릭이 작동하지 않던 문제 수정, 추가/수정/공유 bottomSheet에서 공유 버튼 제거 * [CHORE] #64-ktlint * [FIX] #64-포킷 상세 화면에서 읽음 안읽음 여부가 반대로 표시되던 문제 수정, 북마크 변경이 정상적으로 동작하지 않던 문제 수정 * [FIX] #64-(임시수정) 즐겨찾기 링크에서 카테고리 이름 표시 부분에 링크 Url이 표시되는 현상 수정하기 위해 임의로 해당 UI 제거. 추후 Remind 데이터 형식에 포킷명이 포함되도록 수정할 때 다시 반영 필요 * [CHORE] #64-ktlint 적용 --- .../LinkDetailBottomSheet.kt | 33 +++++++------- .../template/linkdetailbottomsheet/Preview.kt | 2 +- .../java/pokitmons/pokit/data/api/LinkApi.kt | 2 +- .../pokitmons/pokit/home/pokit/PokitScreen.kt | 1 - .../pokit/home/pokit/PokitViewModel.kt | 20 +++++++++ .../pokit/home/pokit/UnclassifiedScreen.kt | 7 ++- .../pokit/home/remind/RemindScreen.kt | 5 +-- .../pokit/home/remind/RemindViewModel.kt | 3 +- .../pokitdetail/PokitDetailScreen.kt | 18 ++++---- .../pokitdetail/PokitDetailViewModel.kt | 45 ++++++++++++++++++- .../com/strayalpaca/pokitdetail/model/Link.kt | 18 +++----- .../java/pokitmons/pokit/search/Preview.kt | 6 --- .../pokitmons/pokit/search/SearchScreen.kt | 6 +-- .../searchitemlist/SearchItemList.kt | 2 +- .../java/pokitmons/pokit/search/model/Link.kt | 11 ++--- 15 files changed, 113 insertions(+), 66 deletions(-) diff --git a/core/ui/src/main/java/pokitmons/pokit/core/ui/components/template/linkdetailbottomsheet/LinkDetailBottomSheet.kt b/core/ui/src/main/java/pokitmons/pokit/core/ui/components/template/linkdetailbottomsheet/LinkDetailBottomSheet.kt index 6d49d07a..4b11f0bc 100644 --- a/core/ui/src/main/java/pokitmons/pokit/core/ui/components/template/linkdetailbottomsheet/LinkDetailBottomSheet.kt +++ b/core/ui/src/main/java/pokitmons/pokit/core/ui/components/template/linkdetailbottomsheet/LinkDetailBottomSheet.kt @@ -41,10 +41,11 @@ fun LinkDetailBottomSheet( thumbnailPainter: Painter, bookmark: Boolean, openWebBrowserByClick: Boolean, - linkType: String, + pokitName: String, dateString: String, onHideBottomSheet: () -> Unit, show: Boolean = false, + useRemind: Boolean = false, onClickBookmark: (() -> Unit)? = null, onClickRemoveLink: (() -> Unit)? = null, onClickModifyLink: (() -> Unit)? = null, @@ -63,23 +64,25 @@ fun LinkDetailBottomSheet( modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically ) { - Image( - painter = painterResource(id = R.drawable.icon_24_bell), - contentDescription = null, - modifier = Modifier - .size(20.dp) - .background( - color = PokitTheme.colors.brand, - shape = CircleShape - ) - .padding(2.dp), - colorFilter = ColorFilter.tint(PokitTheme.colors.inverseWh) - ) + if (useRemind) { + Image( + painter = painterResource(id = R.drawable.icon_24_bell), + contentDescription = null, + modifier = Modifier + .size(20.dp) + .background( + color = PokitTheme.colors.brand, + shape = CircleShape + ) + .padding(2.dp), + colorFilter = ColorFilter.tint(PokitTheme.colors.inverseWh) + ) - Spacer(modifier = Modifier.width(4.dp)) + Spacer(modifier = Modifier.width(4.dp)) + } Text( - text = linkType, + text = pokitName, modifier = Modifier .border( width = 1.dp, diff --git a/core/ui/src/main/java/pokitmons/pokit/core/ui/components/template/linkdetailbottomsheet/Preview.kt b/core/ui/src/main/java/pokitmons/pokit/core/ui/components/template/linkdetailbottomsheet/Preview.kt index 74f99887..3d162637 100644 --- a/core/ui/src/main/java/pokitmons/pokit/core/ui/components/template/linkdetailbottomsheet/Preview.kt +++ b/core/ui/src/main/java/pokitmons/pokit/core/ui/components/template/linkdetailbottomsheet/Preview.kt @@ -22,7 +22,7 @@ private fun LinkDetailBottomSheetPreview() { bookmark = true, openWebBrowserByClick = false, show = true, - linkType = "TEXT", + pokitName = "TEXT", dateString = "2024.08.27", onHideBottomSheet = { }, onClickBookmark = { }, diff --git a/data/src/main/java/pokitmons/pokit/data/api/LinkApi.kt b/data/src/main/java/pokitmons/pokit/data/api/LinkApi.kt index 090a48dc..005032c5 100644 --- a/data/src/main/java/pokitmons/pokit/data/api/LinkApi.kt +++ b/data/src/main/java/pokitmons/pokit/data/api/LinkApi.kt @@ -64,7 +64,7 @@ interface LinkApi { ): ModifyLinkResponse @PUT("content/{contentId}/bookmark") - suspend fun cancelBookmark(@Path("contentId") contentId: Int) + suspend fun cancelBookmark(@Path("contentId") contentId: Int): Response @POST("content/{contentId}/bookmark") suspend fun applyBookmark(@Path("contentId") contentId: Int): ApplyBookmarkResponse diff --git a/feature/home/src/main/java/pokitmons/pokit/home/pokit/PokitScreen.kt b/feature/home/src/main/java/pokitmons/pokit/home/pokit/PokitScreen.kt index e808aad0..5af92453 100644 --- a/feature/home/src/main/java/pokitmons/pokit/home/pokit/PokitScreen.kt +++ b/feature/home/src/main/java/pokitmons/pokit/home/pokit/PokitScreen.kt @@ -54,7 +54,6 @@ fun PokitScreen( when (pokitOptionBottomSheetType) { BottomSheetType.MODIFY -> { ModifyBottomSheetContent( - onClickShare = {}, onClickModify = remember { { viewModel.hidePokitDetailRemoveBottomSheet() diff --git a/feature/home/src/main/java/pokitmons/pokit/home/pokit/PokitViewModel.kt b/feature/home/src/main/java/pokitmons/pokit/home/pokit/PokitViewModel.kt index 06db6857..98b4de07 100644 --- a/feature/home/src/main/java/pokitmons/pokit/home/pokit/PokitViewModel.kt +++ b/feature/home/src/main/java/pokitmons/pokit/home/pokit/PokitViewModel.kt @@ -25,6 +25,7 @@ import pokitmons.pokit.domain.model.pokit.MAX_POKIT_COUNT import pokitmons.pokit.domain.model.pokit.PokitsSort import pokitmons.pokit.domain.usecase.link.DeleteLinkUseCase import pokitmons.pokit.domain.usecase.link.GetLinksUseCase +import pokitmons.pokit.domain.usecase.link.SetBookmarkUseCase import pokitmons.pokit.domain.usecase.pokit.DeletePokitUseCase import pokitmons.pokit.domain.usecase.pokit.GetPokitCountUseCase import pokitmons.pokit.domain.usecase.pokit.GetPokitsUseCase @@ -41,6 +42,7 @@ class PokitViewModel @Inject constructor( private val deletePokitUseCase: DeletePokitUseCase, private val getPokitCountUseCase: GetPokitCountUseCase, private val deleteLinkUseCase: DeleteLinkUseCase, + private val setBookmarkUseCase: SetBookmarkUseCase, ) : ViewModel() { private val _sideEffect = MutableEventFlow() @@ -321,6 +323,24 @@ class PokitViewModel @Inject constructor( fun hideDetailLinkBottomSheet() { _currentDetailShowLink.update { null } } + + fun toggleBookmark() { + val currentLink = _currentDetailShowLink.value ?: return + val currentLinkId = currentLink.id.toIntOrNull() ?: return + val applyBookmarked = !currentLink.bookmark + + viewModelScope.launch { + val response = setBookmarkUseCase.setBookMarked(currentLinkId, applyBookmarked) + if (response is PokitResult.Success) { + val bookmarkChangedLink = currentLink.copy(bookmark = applyBookmarked) + linkPaging.modifyItem(bookmarkChangedLink) + + if (currentLink.id == _currentDetailShowLink.value?.id) { + _currentDetailShowLink.update { bookmarkChangedLink } + } + } + } + } } sealed class Category { diff --git a/feature/home/src/main/java/pokitmons/pokit/home/pokit/UnclassifiedScreen.kt b/feature/home/src/main/java/pokitmons/pokit/home/pokit/UnclassifiedScreen.kt index 1dcea235..6a780f86 100644 --- a/feature/home/src/main/java/pokitmons/pokit/home/pokit/UnclassifiedScreen.kt +++ b/feature/home/src/main/java/pokitmons/pokit/home/pokit/UnclassifiedScreen.kt @@ -41,11 +41,11 @@ fun UnclassifiedScreen( thumbnailPainter = rememberAsyncImagePainter(model = link.imageUrl), bookmark = link.bookmark, openWebBrowserByClick = true, - linkType = stringResource(link.linkType.textResourceId), + pokitName = link.pokitName, dateString = link.dateString, onHideBottomSheet = viewModel::hideDetailLinkBottomSheet, show = true, - onClickBookmark = {} + onClickBookmark = viewModel::toggleBookmark ) } @@ -56,7 +56,6 @@ fun UnclassifiedScreen( when (pokitOptionBottomSheetType) { BottomSheetType.MODIFY -> { ModifyBottomSheetContent( - onClickShare = {}, onClickModify = remember { { viewModel.hideLinkOptionBottomSheet() @@ -93,7 +92,7 @@ fun UnclassifiedScreen( key = { it.id } ) { unCategoryDetail -> LinkCard( - item = unCategoryDetail.linkType, + item = unCategoryDetail.pokitName, title = unCategoryDetail.title, sub = unCategoryDetail.createdAt, painter = rememberAsyncImagePainter(model = unCategoryDetail.imageUrl), diff --git a/feature/home/src/main/java/pokitmons/pokit/home/remind/RemindScreen.kt b/feature/home/src/main/java/pokitmons/pokit/home/remind/RemindScreen.kt index 81390306..6b900077 100644 --- a/feature/home/src/main/java/pokitmons/pokit/home/remind/RemindScreen.kt +++ b/feature/home/src/main/java/pokitmons/pokit/home/remind/RemindScreen.kt @@ -70,7 +70,6 @@ fun RemindScreen( when (pokitOptionBottomSheetType) { BottomSheetType.MODIFY -> { ModifyBottomSheetContent( - onClickShare = {}, onClickModify = remember { { viewModel.hideLinkOptionBottomSheet() @@ -105,7 +104,7 @@ fun RemindScreen( thumbnailPainter = rememberAsyncImagePainter(model = link.imageUrl), bookmark = link.bookmark, openWebBrowserByClick = true, - linkType = stringResource(link.linkType.textResourceId), + pokitName = link.pokitName, dateString = link.dateString, onHideBottomSheet = viewModel::hideDetailLinkBottomSheet, show = true, @@ -243,7 +242,7 @@ fun RemindScreen( sub = "${favoriteContent.createdAt} • ${favoriteContent.domain}", painter = rememberAsyncImagePainter(favoriteContent.thumbNail), notRead = favoriteContent.isRead, - badgeText = favoriteContent.data, + badgeText = null, onClickKebab = { viewModel.showLinkOptionBottomSheet(remindResult = favoriteContent) }, diff --git a/feature/home/src/main/java/pokitmons/pokit/home/remind/RemindViewModel.kt b/feature/home/src/main/java/pokitmons/pokit/home/remind/RemindViewModel.kt index 0944b352..b91f1708 100644 --- a/feature/home/src/main/java/pokitmons/pokit/home/remind/RemindViewModel.kt +++ b/feature/home/src/main/java/pokitmons/pokit/home/remind/RemindViewModel.kt @@ -248,7 +248,8 @@ class RemindViewModel @Inject constructor( domainUrl = responseLink.domain, imageUrl = _currentShowingLink.value?.imageUrl, memo = responseLink.memo, - bookmark = responseLink.favorites + bookmark = responseLink.favorites, + pokitName = responseLink.categoryName ) } } diff --git a/feature/pokitdetail/src/main/java/com/strayalpaca/pokitdetail/PokitDetailScreen.kt b/feature/pokitdetail/src/main/java/com/strayalpaca/pokitdetail/PokitDetailScreen.kt index c909d635..eef10b24 100644 --- a/feature/pokitdetail/src/main/java/com/strayalpaca/pokitdetail/PokitDetailScreen.kt +++ b/feature/pokitdetail/src/main/java/com/strayalpaca/pokitdetail/PokitDetailScreen.kt @@ -87,7 +87,8 @@ fun PokitDetailScreenContainer( onClickLinkRemove = viewModel::deleteLink, loadNextPokits = viewModel::loadNextPokits, refreshPokits = viewModel::refreshPokits, - loadNextLinks = viewModel::loadNextLinks + loadNextLinks = viewModel::loadNextLinks, + onClickBookmark = viewModel::toggleBookmark ) } @@ -120,6 +121,7 @@ fun PokitDetailScreen( loadNextPokits: () -> Unit = {}, refreshPokits: () -> Unit = {}, loadNextLinks: () -> Unit = {}, + onClickBookmark: () -> Unit = {}, ) { Column( modifier = Modifier.fillMaxSize() @@ -195,8 +197,8 @@ fun PokitDetailScreen( title = link.title, sub = "${link.dateString} · ${link.domainUrl}", painter = rememberAsyncImagePainter(link.imageUrl), - notRead = link.isRead, - badgeText = stringResource(id = link.linkType.textResourceId), + notRead = !link.isRead, + badgeText = link.pokitName, onClickKebab = showLinkModifyBottomSheet, onClickItem = onClickLink, modifier = Modifier.padding(20.dp) @@ -220,10 +222,11 @@ fun PokitDetailScreen( thumbnailPainter = rememberAsyncImagePainter(state.currentLink.imageUrl), bookmark = state.currentLink.bookmark, openWebBrowserByClick = true, - linkType = stringResource(state.currentLink.linkType.textResourceId), + pokitName = state.currentLink.pokitName, dateString = state.currentLink.dateString, onHideBottomSheet = hideLinkDetailBottomSheet, - show = state.linkDetailBottomSheetVisible + show = state.linkDetailBottomSheetVisible, + onClickBookmark = onClickBookmark ) } @@ -261,7 +264,8 @@ fun PokitDetailScreen( state = lazyColumnListState ) { items( - items = pokitList + items = pokitList, + key = { it.id } ) { pokit -> PokitList( item = pokit, @@ -281,7 +285,6 @@ fun PokitDetailScreen( when (state.linkBottomSheetType) { BottomSheetType.MODIFY -> { ModifyBottomSheetContent( - onClickShare = {}, onClickModify = remember { { state.currentLink?.let { link -> @@ -317,7 +320,6 @@ fun PokitDetailScreen( when (state.pokitBottomSheetType) { BottomSheetType.MODIFY -> { ModifyBottomSheetContent( - onClickShare = {}, onClickModify = remember { { hidePokitModifyBottomSheet() diff --git a/feature/pokitdetail/src/main/java/com/strayalpaca/pokitdetail/PokitDetailViewModel.kt b/feature/pokitdetail/src/main/java/com/strayalpaca/pokitdetail/PokitDetailViewModel.kt index 7f7edbd0..4356fb09 100644 --- a/feature/pokitdetail/src/main/java/com/strayalpaca/pokitdetail/PokitDetailViewModel.kt +++ b/feature/pokitdetail/src/main/java/com/strayalpaca/pokitdetail/PokitDetailViewModel.kt @@ -25,7 +25,9 @@ import pokitmons.pokit.core.feature.navigation.args.PokitUpdateEvent import pokitmons.pokit.domain.commom.PokitResult import pokitmons.pokit.domain.model.link.LinksSort import pokitmons.pokit.domain.usecase.link.DeleteLinkUseCase +import pokitmons.pokit.domain.usecase.link.GetLinkUseCase import pokitmons.pokit.domain.usecase.link.GetLinksUseCase +import pokitmons.pokit.domain.usecase.link.SetBookmarkUseCase import pokitmons.pokit.domain.usecase.pokit.DeletePokitUseCase import pokitmons.pokit.domain.usecase.pokit.GetPokitUseCase import pokitmons.pokit.domain.usecase.pokit.GetPokitsUseCase @@ -39,6 +41,8 @@ class PokitDetailViewModel @Inject constructor( private val getPokitUseCase: GetPokitUseCase, private val deletePokitUseCase: DeletePokitUseCase, private val deleteLinkUseCase: DeleteLinkUseCase, + private val setBookmarkUseCase: SetBookmarkUseCase, + private val getLinkUseCase: GetLinkUseCase, savedStateHandle: SavedStateHandle, ) : ViewModel() { private val pokitPaging = PokitPaging( @@ -187,7 +191,22 @@ class PokitDetailViewModel @Inject constructor( } fun showLinkDetailBottomSheet(link: Link) { - _state.update { it.copy(currentLink = link, linkDetailBottomSheetVisible = true) } + _state.update { + it.copy(currentLink = link, linkDetailBottomSheetVisible = true) + } + + viewModelScope.launch { + val response = getLinkUseCase.getLink(link.id.toInt()) + if (response is PokitResult.Success && state.value.currentLink?.id == link.id && state.value.linkDetailBottomSheetVisible) { + _state.update { it.copy(currentLink = Link.fromDomainLink(response.result).copy(imageUrl = link.imageUrl, isRead = true)) } + } + + val isReadChangedLink = linkPaging.pagingData.value + .find { it.id == link.id } + ?.copy(isRead = true) ?: return@launch + + linkPaging.modifyItem(isReadChangedLink) + } } fun hideLinkDetailBottomSheet() { @@ -250,4 +269,28 @@ class PokitDetailViewModel @Inject constructor( } } } + + fun toggleBookmark() { + val currentLink = state.value.currentLink ?: return + val currentLinkId = currentLink.id.toIntOrNull() ?: return + val applyBookmarked = !currentLink.bookmark + + viewModelScope.launch { + val response = setBookmarkUseCase.setBookMarked(currentLinkId, applyBookmarked) + if (response is PokitResult.Success) { + val bookmarkChangedLink = linkPaging.pagingData.value + .find { it.id == currentLink.id } + ?.copy(bookmark = applyBookmarked) ?: return@launch + linkPaging.modifyItem(bookmarkChangedLink) + + if (currentLink.id == state.value.currentLink?.id) { + _state.update { state -> + state.copy( + currentLink = bookmarkChangedLink + ) + } + } + } + } + } } diff --git a/feature/pokitdetail/src/main/java/com/strayalpaca/pokitdetail/model/Link.kt b/feature/pokitdetail/src/main/java/com/strayalpaca/pokitdetail/model/Link.kt index d29f99ae..735e18a1 100644 --- a/feature/pokitdetail/src/main/java/com/strayalpaca/pokitdetail/model/Link.kt +++ b/feature/pokitdetail/src/main/java/com/strayalpaca/pokitdetail/model/Link.kt @@ -1,6 +1,5 @@ package com.strayalpaca.pokitdetail.model -import com.strayalpaca.pokitdetail.R import pokitmons.pokit.domain.model.link.Link as DomainLink data class Link( @@ -9,7 +8,8 @@ data class Link( val dateString: String = "", val domainUrl: String = "", val isRead: Boolean = false, - val linkType: LinkType = LinkType.TEXT, + val pokitName: String = "", + val pokitId: String = "", val url: String = "", val memo: String = "", val bookmark: Boolean = false, @@ -27,16 +27,15 @@ data class Link( url = domainLink.data, memo = domainLink.memo, imageUrl = domainLink.thumbnail, - createdAt = domainLink.createdAt + createdAt = domainLink.createdAt, + pokitName = domainLink.categoryName, + pokitId = domainLink.categoryId.toString(), + bookmark = domainLink.favorites ) } } } -enum class LinkType(val textResourceId: Int) { - TEXT(R.string.badge_text), -} - internal val sampleLinkList = listOf( Link( id = "1", @@ -45,7 +44,6 @@ internal val sampleLinkList = listOf( dateString = "2024.04.12", domainUrl = "youtu.be", isRead = true, - linkType = LinkType.TEXT, url = "", memo = "", bookmark = true @@ -57,7 +55,6 @@ internal val sampleLinkList = listOf( dateString = "2024.05.12", domainUrl = "youtu.be", isRead = false, - linkType = LinkType.TEXT, url = "", memo = "", bookmark = true @@ -69,7 +66,6 @@ internal val sampleLinkList = listOf( dateString = "2024.04.12", domainUrl = "pokitmons.pokit", isRead = true, - linkType = LinkType.TEXT, url = "", memo = "", bookmark = true @@ -81,7 +77,6 @@ internal val sampleLinkList = listOf( dateString = "2024.06.12", domainUrl = "youtu.be", isRead = true, - linkType = LinkType.TEXT, url = "", memo = "", bookmark = true @@ -93,7 +88,6 @@ internal val sampleLinkList = listOf( dateString = "2024.07.14", domainUrl = "youtu.be", isRead = false, - linkType = LinkType.TEXT, url = "", memo = "", bookmark = true diff --git a/feature/search/src/main/java/pokitmons/pokit/search/Preview.kt b/feature/search/src/main/java/pokitmons/pokit/search/Preview.kt index 17d4325f..4901d6f2 100644 --- a/feature/search/src/main/java/pokitmons/pokit/search/Preview.kt +++ b/feature/search/src/main/java/pokitmons/pokit/search/Preview.kt @@ -7,7 +7,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import pokitmons.pokit.core.ui.theme.PokitTheme import pokitmons.pokit.search.model.Link -import pokitmons.pokit.search.model.LinkType import pokitmons.pokit.search.model.SearchScreenState import pokitmons.pokit.search.model.SearchScreenStep @@ -34,7 +33,6 @@ internal val sampleLinks = listOf( dateString = "2024.04.12", domainUrl = "youtu.be", isRead = true, - linkType = LinkType.TEXT, url = "", memo = "", bookmark = true @@ -46,7 +44,6 @@ internal val sampleLinks = listOf( dateString = "2024.05.12", domainUrl = "youtu.be", isRead = false, - linkType = LinkType.TEXT, url = "", memo = "", bookmark = true @@ -58,7 +55,6 @@ internal val sampleLinks = listOf( dateString = "2024.04.12", domainUrl = "pokitmons.pokit", isRead = true, - linkType = LinkType.TEXT, url = "", memo = "", bookmark = true @@ -70,7 +66,6 @@ internal val sampleLinks = listOf( dateString = "2024.06.12", domainUrl = "youtu.be", isRead = true, - linkType = LinkType.TEXT, url = "", memo = "", bookmark = true @@ -82,7 +77,6 @@ internal val sampleLinks = listOf( dateString = "2024.07.14", domainUrl = "youtu.be", isRead = false, - linkType = LinkType.TEXT, url = "", memo = "", bookmark = true diff --git a/feature/search/src/main/java/pokitmons/pokit/search/SearchScreen.kt b/feature/search/src/main/java/pokitmons/pokit/search/SearchScreen.kt index 3aa7cea7..8063935c 100644 --- a/feature/search/src/main/java/pokitmons/pokit/search/SearchScreen.kt +++ b/feature/search/src/main/java/pokitmons/pokit/search/SearchScreen.kt @@ -56,7 +56,7 @@ fun SearchScreenContainer( thumbnailPainter = rememberAsyncImagePainter(link.imageUrl), bookmark = link.bookmark, openWebBrowserByClick = true, - linkType = stringResource(id = link.linkType.textResourceId), + pokitName = link.pokitName, dateString = link.dateString, onHideBottomSheet = viewModel::hideLinkDetailBottomSheet, show = state.showLinkDetailBottomSheet, @@ -103,10 +103,6 @@ fun SearchScreenContainer( viewModel.showLinkRemoveBottomSheet(link) } } - }, - onClickShare = remember { - { - } } ) } diff --git a/feature/search/src/main/java/pokitmons/pokit/search/components/searchitemlist/SearchItemList.kt b/feature/search/src/main/java/pokitmons/pokit/search/components/searchitemlist/SearchItemList.kt index d9a7ea9c..75ec7004 100644 --- a/feature/search/src/main/java/pokitmons/pokit/search/components/searchitemlist/SearchItemList.kt +++ b/feature/search/src/main/java/pokitmons/pokit/search/components/searchitemlist/SearchItemList.kt @@ -92,7 +92,7 @@ internal fun SearchItemList( sub = "${link.dateString} · ${link.domainUrl}", painter = rememberAsyncImagePainter(link.imageUrl), notRead = !link.isRead, - badgeText = stringResource(id = link.linkType.textResourceId), + badgeText = link.pokitName, onClickKebab = onClickLinkKebab, onClickItem = onClickLink, modifier = Modifier.padding(20.dp) diff --git a/feature/search/src/main/java/pokitmons/pokit/search/model/Link.kt b/feature/search/src/main/java/pokitmons/pokit/search/model/Link.kt index 3379f8aa..cb03f5e9 100644 --- a/feature/search/src/main/java/pokitmons/pokit/search/model/Link.kt +++ b/feature/search/src/main/java/pokitmons/pokit/search/model/Link.kt @@ -1,6 +1,5 @@ package pokitmons.pokit.search.model -import pokitmons.pokit.search.R import pokitmons.pokit.domain.model.link.Link as DomainLink data class Link( @@ -9,7 +8,8 @@ data class Link( val dateString: String = "", val domainUrl: String = "", val isRead: Boolean = false, - val linkType: LinkType = LinkType.TEXT, + val pokitName: String = "", + val pokitId: String = "", val url: String = "", val memo: String = "", val bookmark: Boolean = false, @@ -27,12 +27,9 @@ data class Link( memo = domainLink.memo, imageUrl = domainLink.thumbnail, bookmark = domainLink.favorites, - linkType = LinkType.TEXT + pokitName = domainLink.categoryName, + pokitId = domainLink.categoryId.toString() ) } } } - -enum class LinkType(val textResourceId: Int) { - TEXT(R.string.text), -}