From 4b12f15afcf0003a142dd9b14c246b7e7e39f40f Mon Sep 17 00:00:00 2001 From: jeongjaino Date: Sun, 5 Jan 2025 15:45:29 +0900 Subject: [PATCH] =?UTF-8?q?feature=20:=20HOME=20=ED=99=94=EB=A9=B4=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kotlin/com/wespot/web/WeSpotService.kt | 25 +++---- .../kotlin/com/wespot/web/home/HomeScreen.kt | 67 +++---------------- 2 files changed, 19 insertions(+), 73 deletions(-) diff --git a/composeApp/src/wasmJsMain/kotlin/com/wespot/web/WeSpotService.kt b/composeApp/src/wasmJsMain/kotlin/com/wespot/web/WeSpotService.kt index b4402c0..4920aaa 100644 --- a/composeApp/src/wasmJsMain/kotlin/com/wespot/web/WeSpotService.kt +++ b/composeApp/src/wasmJsMain/kotlin/com/wespot/web/WeSpotService.kt @@ -3,13 +3,12 @@ package com.wespot.web import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.RowScope -import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.NavigationBar import androidx.compose.material3.Scaffold @@ -17,7 +16,6 @@ import androidx.compose.material3.Text import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.unit.dp import com.wespot.web.about.AboutScreen import com.wespot.web.designsystem.component.WSTopBar import com.wespot.web.designsystem.theme.StaticTypography @@ -71,12 +69,6 @@ fun RootNavigation(selectedIndex: Int) { TopNavigationTabState.ABOUT.ordinal -> { AboutScreen() } - TopNavigationTabState.CONTACT.ordinal -> { - HomeScreen() - } - TopNavigationTabState.MAKERS.ordinal -> { - HomeScreen() - } } } @@ -87,7 +79,6 @@ fun HomeTopNavigationTab( ) { NavigationBar(containerColor = WeSpotThemeManager.colors.backgroundColor) { Row( - modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceAround, verticalAlignment = Alignment.CenterVertically, ) { @@ -110,9 +101,13 @@ private fun RowScope.TabItem( ) { Box( modifier = Modifier - .size(80.dp) .weight(1f) - .clickable { onClick.invoke() }, + .clickable( + indication = null, + interactionSource = remember { MutableInteractionSource() } + ) { + onClick.invoke() + }, contentAlignment = Alignment.Center, ) { Text( @@ -130,8 +125,6 @@ private fun RowScope.TabItem( enum class TopNavigationTabState( val title: String, ) { - HOME(title = "Home"), - ABOUT(title = "About"), - CONTACT(title = "Contact"), - MAKERS(title = "Makers"), + HOME(title = "HOME"), + ABOUT(title = "ABOUT"), } diff --git a/composeApp/src/wasmJsMain/kotlin/com/wespot/web/home/HomeScreen.kt b/composeApp/src/wasmJsMain/kotlin/com/wespot/web/home/HomeScreen.kt index e1f3113..c4a9779 100644 --- a/composeApp/src/wasmJsMain/kotlin/com/wespot/web/home/HomeScreen.kt +++ b/composeApp/src/wasmJsMain/kotlin/com/wespot/web/home/HomeScreen.kt @@ -1,28 +1,13 @@ package com.wespot.web.home import androidx.compose.foundation.Image -import androidx.compose.foundation.interaction.collectIsDraggedAsState -import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.width -import androidx.compose.foundation.pager.HorizontalPager -import androidx.compose.foundation.pager.rememberPagerState -import androidx.compose.material3.Scaffold -import androidx.compose.material3.Text +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.snapshotFlow import androidx.compose.ui.Modifier import androidx.compose.ui.layout.ContentScale -import androidx.compose.ui.unit.dp -import com.wespot.web.designsystem.theme.StaticTypography -import com.wespot.web.designsystem.theme.WeSpotThemeManager import kotlinx.collections.immutable.persistentListOf -import kotlinx.coroutines.delay -import kotlinx.coroutines.flow.collectLatest import org.jetbrains.compose.resources.painterResource import wespot_web.composeapp.generated.resources.Res import wespot_web.composeapp.generated.resources.landing1 @@ -41,47 +26,15 @@ private val imageList = persistentListOf( @Composable fun HomeScreen() { - val pagerState = rememberPagerState { imageList.size } - val isDraggedState = pagerState.interactionSource.collectIsDraggedAsState() + val scrollState = rememberScrollState() - /** 드래그 가능한 상태가 아닌 경우, 자동으로 스와이프 되도록 설정 */ - LaunchedEffect(Unit) { - snapshotFlow { isDraggedState.value } - .collectLatest { isDragged -> - if (isDragged) return@collectLatest - while (true) { - delay(3_000) - pagerState.animateScrollToPage(pagerState.currentPage.inc()) - } - } - } - - Scaffold( - modifier = Modifier.fillMaxSize(), - ) { innerPadding -> - Column( - modifier = Modifier.padding(innerPadding), - verticalArrangement = Arrangement.spacedBy(32.dp), - ) { - Row { - Text( - text = "WeSpot", - style = StaticTypography().header1, - color = WeSpotThemeManager.colors.txtTitleColor, - modifier = Modifier.weight(1f), - ) - - HorizontalPager( - state = pagerState, - modifier = Modifier.weight(1f) - ) { - Image( - painter = painterResource(imageList[it]), - contentDescription = "Lading Page Image $it", - contentScale = ContentScale.FillWidth, - ) - } - } + Column(modifier = Modifier.verticalScroll(scrollState)) { + imageList.forEachIndexed { index, item -> + Image( + painter = painterResource(item), + contentDescription = "Lading Page Image $index", + contentScale = ContentScale.FillWidth, + ) } } }