From 5b6aff148f345a85dbacff963ed158a1da8bd106 Mon Sep 17 00:00:00 2001 From: Eonji-sw Date: Sun, 24 Nov 2024 17:29:36 +0900 Subject: [PATCH 01/12] =?UTF-8?q?#111=20[UI]=20:=20news=20=EC=83=81?= =?UTF-8?q?=EB=8B=A8=EB=B0=94=20lottie=20background=20color=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- feature/news/src/main/res/layout/fragment_news.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/feature/news/src/main/res/layout/fragment_news.xml b/feature/news/src/main/res/layout/fragment_news.xml index 2b2a665c..ba66ebe1 100644 --- a/feature/news/src/main/res/layout/fragment_news.xml +++ b/feature/news/src/main/res/layout/fragment_news.xml @@ -39,6 +39,7 @@ android:id="@+id/lottie_news_tab" android:layout_width="0dp" android:layout_height="wrap_content" + android:background="@color/black" android:scaleType="fitXY" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" From 868bab388a026b6c98bd7d28b85649ae4fa1295c Mon Sep 17 00:00:00 2001 From: Eonji-sw Date: Sun, 24 Nov 2024 17:30:34 +0900 Subject: [PATCH 02/12] =?UTF-8?q?#111=20[UI]=20:=20news=5Fdetail=20fragmen?= =?UTF-8?q?t=20UI=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/res/layout/fragment_news_detail.xml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 feature/news/src/main/res/layout/fragment_news_detail.xml diff --git a/feature/news/src/main/res/layout/fragment_news_detail.xml b/feature/news/src/main/res/layout/fragment_news_detail.xml new file mode 100644 index 00000000..f5527339 --- /dev/null +++ b/feature/news/src/main/res/layout/fragment_news_detail.xml @@ -0,0 +1,17 @@ + + + + + + From 950f8aad36dbfd73553055aaab11a2749e2dcd0f Mon Sep 17 00:00:00 2001 From: Eonji-sw Date: Sun, 24 Nov 2024 17:30:58 +0900 Subject: [PATCH 03/12] =?UTF-8?q?#111=20[UI]=20:=20news=5Fnotice=20fragmen?= =?UTF-8?q?t=20UI=20composeView=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- feature/news/src/main/res/layout/fragment_news_notice.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/feature/news/src/main/res/layout/fragment_news_notice.xml b/feature/news/src/main/res/layout/fragment_news_notice.xml index 8b4a14db..614c6ae0 100644 --- a/feature/news/src/main/res/layout/fragment_news_notice.xml +++ b/feature/news/src/main/res/layout/fragment_news_notice.xml @@ -4,10 +4,10 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - Date: Sun, 24 Nov 2024 17:31:26 +0900 Subject: [PATCH 04/12] =?UTF-8?q?#111=20[UI]=20:=20news=20graph=20notice?= =?UTF-8?q?=20->=20detail=20=EC=9D=B4=EB=8F=99=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../news/src/main/res/navigation/graph_news.xml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/feature/news/src/main/res/navigation/graph_news.xml b/feature/news/src/main/res/navigation/graph_news.xml index da9baacf..c1463cc6 100644 --- a/feature/news/src/main/res/navigation/graph_news.xml +++ b/feature/news/src/main/res/navigation/graph_news.xml @@ -9,5 +9,19 @@ android:id="@+id/navigation_news" android:name="com.teamwable.news.NewsFragment" android:label="NewsFragment" - tools:layout="@layout/fragment_news" /> + tools:layout="@layout/fragment_news"> + + + + + + From b19fa3df3ec62a8449418d73651e5088a5f0c032 Mon Sep 17 00:00:00 2001 From: Eonji-sw Date: Sun, 24 Nov 2024 17:31:45 +0900 Subject: [PATCH 05/12] =?UTF-8?q?#111=20[FEAT]=20:=20NewsDetailFragment=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/teamwable/news/NewsDetailFragment.kt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 feature/news/src/main/java/com/teamwable/news/NewsDetailFragment.kt diff --git a/feature/news/src/main/java/com/teamwable/news/NewsDetailFragment.kt b/feature/news/src/main/java/com/teamwable/news/NewsDetailFragment.kt new file mode 100644 index 00000000..21d7b9c8 --- /dev/null +++ b/feature/news/src/main/java/com/teamwable/news/NewsDetailFragment.kt @@ -0,0 +1,19 @@ +package com.teamwable.news + +import androidx.navigation.fragment.navArgs +import com.teamwable.news.databinding.FragmentNewsDetailBinding +import com.teamwable.news.model.NewsInfoModel +import com.teamwable.ui.base.BindingFragment + +class NewsDetailFragment : BindingFragment(FragmentNewsDetailBinding::inflate) { + private val args: NewsDetailFragmentArgs by navArgs() + private val notice: NewsInfoModel by lazy { args.newsInfoModel } + + override fun initView() { + receiveResultFromNotice() + } + + private fun receiveResultFromNotice() { + binding.tvNewsDetail.text = notice.newsText + } +} From 450ef39bfce77383b064f4b32f1a12de011ab6b5 Mon Sep 17 00:00:00 2001 From: Eonji-sw Date: Sun, 24 Nov 2024 17:32:10 +0900 Subject: [PATCH 06/12] =?UTF-8?q?#111=20[MOD]=20:=20NewsInfoModel=20parcel?= =?UTF-8?q?ize=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/teamwable/news/model/NewsInfoModel.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/feature/news/src/main/java/com/teamwable/news/model/NewsInfoModel.kt b/feature/news/src/main/java/com/teamwable/news/model/NewsInfoModel.kt index 797f2bc3..e80e659d 100644 --- a/feature/news/src/main/java/com/teamwable/news/model/NewsInfoModel.kt +++ b/feature/news/src/main/java/com/teamwable/news/model/NewsInfoModel.kt @@ -1,9 +1,13 @@ package com.teamwable.news.model +import android.os.Parcelable +import kotlinx.parcelize.Parcelize + +@Parcelize data class NewsInfoModel( val newsId: Int, val newsTitle: String, val newsText: String, - val newsImage: String, + val newsImage: String?, val time: String, -) +) : Parcelable From ec4ece9e1e6ac6f5629adbc29836481404d297a9 Mon Sep 17 00:00:00 2001 From: Eonji-sw Date: Sun, 24 Nov 2024 17:33:00 +0900 Subject: [PATCH 07/12] =?UTF-8?q?#111=20[FEAT]=20:=20NewsNoticeFragment=20?= =?UTF-8?q?compose=20=EC=A0=81=EC=9A=A9=20=EB=B0=8F=20navi=20=ED=95=A8?= =?UTF-8?q?=EC=88=98=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../news/notice/NewsNoticeFragment.kt | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeFragment.kt b/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeFragment.kt index 57420594..d677b0ec 100644 --- a/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeFragment.kt +++ b/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeFragment.kt @@ -1,12 +1,34 @@ package com.teamwable.news.notice +import androidx.compose.ui.platform.ViewCompositionStrategy +import androidx.navigation.fragment.findNavController +import com.teamwable.designsystem.theme.WableTheme +import com.teamwable.news.NewsFragmentDirections import com.teamwable.news.databinding.FragmentNewsNoticeBinding +import com.teamwable.news.model.NewsInfoModel import com.teamwable.ui.base.BindingFragment import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint class NewsNoticeFragment : BindingFragment(FragmentNewsNoticeBinding::inflate) { override fun initView() { + initComposeView() + } + + private fun initComposeView() { + binding.composeNewsNotice.apply { + setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed) + setContent { + WableTheme { + NewsNoticeRoute(navigateToDetail = { notice -> navigateToDetail(notice) }) + } + } + } + } + private fun navigateToDetail(notice: NewsInfoModel) { + val parentNavController = requireParentFragment().findNavController() + val action = NewsFragmentDirections.actionNavigationNewsToNavigationNewsDetail(notice) + parentNavController.navigate(action) } } From 3cd64731616edfac1bed0aa45dd3cf34f3f77d14 Mon Sep 17 00:00:00 2001 From: Eonji-sw Date: Sun, 24 Nov 2024 17:33:41 +0900 Subject: [PATCH 08/12] =?UTF-8?q?#111=20[UI]=20:=20NewsNoticeItem=20UI=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../teamwable/news/notice/NewsNoticeItem.kt | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeItem.kt diff --git a/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeItem.kt b/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeItem.kt new file mode 100644 index 00000000..d3d5068a --- /dev/null +++ b/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeItem.kt @@ -0,0 +1,39 @@ +package com.teamwable.news.notice + +import android.content.Context +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import com.teamwable.designsystem.theme.WableTheme +import com.teamwable.news.model.NewsInfoModel +import com.teamwable.ui.util.CalculateTime + +@Composable +fun NewsNoticeItem(context: Context, data: NewsInfoModel, navigateToDetail: (NewsInfoModel) -> Unit) { + Box(modifier = Modifier.clickable { navigateToDetail(data) }) { + Column( + modifier = Modifier + .fillMaxWidth() + .background(WableTheme.colors.white) + .padding(vertical = 12.dp, horizontal = 20.dp) + ) { + Row { + Text(text = data.newsTitle, style = WableTheme.typography.body01) + Spacer(modifier = Modifier.weight(1f)) + Text(text = CalculateTime().getCalculateTime(context, data.time), color = WableTheme.colors.gray500, style = WableTheme.typography.caption04) + } + Spacer(modifier = Modifier.height(2.dp)) + Text(text = data.newsText, color = WableTheme.colors.gray600, maxLines = 2, style = WableTheme.typography.body04) + } + } +} From 2d446746a4e0440701022949d7bab246dfdb6b91 Mon Sep 17 00:00:00 2001 From: Eonji-sw Date: Sun, 24 Nov 2024 17:34:07 +0900 Subject: [PATCH 09/12] =?UTF-8?q?#111=20[FEAT]=20:=20NewsNotice=20Route=20?= =?UTF-8?q?=EB=B0=8F=20Screen=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../teamwable/news/notice/NewsNoticeRoute.kt | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeRoute.kt diff --git a/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeRoute.kt b/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeRoute.kt new file mode 100644 index 00000000..74d2441a --- /dev/null +++ b/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeRoute.kt @@ -0,0 +1,59 @@ +package com.teamwable.news.notice + +import android.content.Context +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.items +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.unit.dp +import androidx.hilt.navigation.compose.hiltViewModel +import com.teamwable.designsystem.theme.WableTheme +import com.teamwable.news.NewsViewModel +import com.teamwable.news.model.NewsInfoModel + +@Composable +internal fun NewsNoticeRoute( + viewModel: NewsViewModel = hiltViewModel(), + navigateToDetail: (NewsInfoModel) -> Unit +) { + val context = LocalContext.current + + viewModel.dummyNotice.apply { + if (this.isNotEmpty()) { + NewsNoticeScreen(context = context, notices = this, navigateToDetail = navigateToDetail) + } else { + NewsNoticeEmptyScreen() + } + } +} + +@Composable +fun NewsNoticeScreen( + context: Context, + notices: List, + navigateToDetail: (NewsInfoModel) -> Unit +) { + Box(modifier = Modifier.fillMaxSize()) { + LazyColumn(modifier = Modifier.fillMaxSize()) { + items(notices) { notice -> + NewsNoticeItem(context, notice, navigateToDetail) + HorizontalDivider( + thickness = 1.dp, + color = WableTheme.colors.gray200, + ) + } + } + } +} + +@Composable +fun NewsNoticeEmptyScreen() { + Box(modifier = Modifier.fillMaxSize()) { + Text(text = "아직 작성된 공지사항이 없어요.", color = WableTheme.colors.gray500, style = WableTheme.typography.body02) + } +} From fe301f9ae7cdc4feeeae28c4dd5d2f95becf9171 Mon Sep 17 00:00:00 2001 From: Eonji-sw Date: Sun, 24 Nov 2024 17:34:31 +0900 Subject: [PATCH 10/12] =?UTF-8?q?#111=20[MOD]=20:=20notice=20dummy=20?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/teamwable/news/NewsViewModel.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/feature/news/src/main/java/com/teamwable/news/NewsViewModel.kt b/feature/news/src/main/java/com/teamwable/news/NewsViewModel.kt index f408e9a2..15906290 100644 --- a/feature/news/src/main/java/com/teamwable/news/NewsViewModel.kt +++ b/feature/news/src/main/java/com/teamwable/news/NewsViewModel.kt @@ -6,6 +6,7 @@ import com.teamwable.common.uistate.UiState import com.teamwable.data.repository.NewsRepository import com.teamwable.model.news.NewsMatchModel import com.teamwable.model.news.NewsRankModel +import com.teamwable.news.model.NewsInfoModel import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow @@ -24,6 +25,17 @@ class NewsViewModel private val _rankUiState = MutableStateFlow>>(UiState.Loading) val rankUiState = _rankUiState.asStateFlow() + val dummyNotice = listOf( + NewsInfoModel(1, "와블 커뮤니티 업데이트 안내", "본문입니다 본문입니다 본문입니다 본문입니다 본문입니다 본문입니다 본문입니다 본문입니다 본문입니다", "www.11", "2024-01-10 11:47:18"), + NewsInfoModel(2, "제목2", "내용2", null, "2024-06-12 20:00:37"), + NewsInfoModel(3, "제목3", "내용3", "www.33", "2024-11-22 04:50:26"), + NewsInfoModel(3, "제목4", "내용4", "www.33", "2024-11-22 04:50:26"), + NewsInfoModel(3, "제목5", "내용5", "www.33", "2024-11-22 04:50:26"), + NewsInfoModel(3, "제목6", "내용6", "www.33", "2024-11-22 04:50:26"), + NewsInfoModel(3, "제목7", "내용7", "www.33", "2024-11-22 04:50:26"), + NewsInfoModel(3, "제목8", "내용8", "www.33", "2024-11-22 04:50:26"), + ) + init { getGameType() } From 1bd1218fc748501eb026b3665ea631742d8d051b Mon Sep 17 00:00:00 2001 From: Eonji-sw Date: Sun, 24 Nov 2024 17:42:29 +0900 Subject: [PATCH 11/12] #111 [UI] : string export --- .../java/com/teamwable/news/notice/NewsNoticeRoute.kt | 10 +++++++++- feature/news/src/main/res/values/strings.xml | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeRoute.kt b/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeRoute.kt index 74d2441a..f385f049 100644 --- a/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeRoute.kt +++ b/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeRoute.kt @@ -8,12 +8,15 @@ import androidx.compose.foundation.lazy.items import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import com.teamwable.designsystem.theme.WableTheme import com.teamwable.news.NewsViewModel +import com.teamwable.news.R import com.teamwable.news.model.NewsInfoModel @Composable @@ -54,6 +57,11 @@ fun NewsNoticeScreen( @Composable fun NewsNoticeEmptyScreen() { Box(modifier = Modifier.fillMaxSize()) { - Text(text = "아직 작성된 공지사항이 없어요.", color = WableTheme.colors.gray500, style = WableTheme.typography.body02) + Text( + modifier = Modifier.align(Alignment.Center), + text = stringResource(R.string.tv_news_notice_empty), + color = WableTheme.colors.gray500, + style = WableTheme.typography.body02 + ) } } diff --git a/feature/news/src/main/res/values/strings.xml b/feature/news/src/main/res/values/strings.xml index b8b86c6e..6d7ba6e8 100644 --- a/feature/news/src/main/res/values/strings.xml +++ b/feature/news/src/main/res/values/strings.xml @@ -35,4 +35,7 @@ 공지사항 + + 아직 작성된 공지사항이 없어요. + From feb72ebbd7cc877b7fb9377ba72e4e6984dbb496 Mon Sep 17 00:00:00 2001 From: Eonji-sw Date: Sun, 24 Nov 2024 18:02:58 +0900 Subject: [PATCH 12/12] =?UTF-8?q?#111=20[MOD]=20:=20RequiresApi=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/teamwable/news/notice/NewsNoticeFragment.kt | 4 ++++ .../src/main/java/com/teamwable/news/notice/NewsNoticeItem.kt | 3 +++ .../main/java/com/teamwable/news/notice/NewsNoticeRoute.kt | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeFragment.kt b/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeFragment.kt index d677b0ec..e1ab6b24 100644 --- a/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeFragment.kt +++ b/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeFragment.kt @@ -1,5 +1,7 @@ package com.teamwable.news.notice +import android.os.Build +import androidx.annotation.RequiresApi import androidx.compose.ui.platform.ViewCompositionStrategy import androidx.navigation.fragment.findNavController import com.teamwable.designsystem.theme.WableTheme @@ -11,10 +13,12 @@ import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint class NewsNoticeFragment : BindingFragment(FragmentNewsNoticeBinding::inflate) { + @RequiresApi(Build.VERSION_CODES.O) override fun initView() { initComposeView() } + @RequiresApi(Build.VERSION_CODES.O) private fun initComposeView() { binding.composeNewsNotice.apply { setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed) diff --git a/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeItem.kt b/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeItem.kt index d3d5068a..97229f4a 100644 --- a/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeItem.kt +++ b/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeItem.kt @@ -1,6 +1,8 @@ package com.teamwable.news.notice import android.content.Context +import android.os.Build +import androidx.annotation.RequiresApi import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box @@ -18,6 +20,7 @@ import com.teamwable.designsystem.theme.WableTheme import com.teamwable.news.model.NewsInfoModel import com.teamwable.ui.util.CalculateTime +@RequiresApi(Build.VERSION_CODES.O) @Composable fun NewsNoticeItem(context: Context, data: NewsInfoModel, navigateToDetail: (NewsInfoModel) -> Unit) { Box(modifier = Modifier.clickable { navigateToDetail(data) }) { diff --git a/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeRoute.kt b/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeRoute.kt index f385f049..15c31127 100644 --- a/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeRoute.kt +++ b/feature/news/src/main/java/com/teamwable/news/notice/NewsNoticeRoute.kt @@ -1,6 +1,8 @@ package com.teamwable.news.notice import android.content.Context +import android.os.Build +import androidx.annotation.RequiresApi import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.lazy.LazyColumn @@ -19,6 +21,7 @@ import com.teamwable.news.NewsViewModel import com.teamwable.news.R import com.teamwable.news.model.NewsInfoModel +@RequiresApi(Build.VERSION_CODES.O) @Composable internal fun NewsNoticeRoute( viewModel: NewsViewModel = hiltViewModel(), @@ -35,6 +38,7 @@ internal fun NewsNoticeRoute( } } +@RequiresApi(Build.VERSION_CODES.O) @Composable fun NewsNoticeScreen( context: Context,