From 0bb9b87b019af87186497b67912ad8dedd842d7c Mon Sep 17 00:00:00 2001 From: choiwonjae Date: Sun, 17 May 2026 15:15:27 +0900 Subject: [PATCH 1/3] =?UTF-8?q?[feat]=20=EB=8D=B0=EC=BF=A0=208=EC=A3=BC?= =?UTF-8?q?=EC=B0=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Week08/Deku/.gitignore | 22 ++ Week08/Deku/.idea/.gitignore | 3 + Week08/Deku/.idea/AndroidProjectSystem.xml | 6 + Week08/Deku/.idea/compiler.xml | 6 + .../Deku/.idea/deploymentTargetSelector.xml | 11 + Week08/Deku/.idea/gradle.xml | 18 ++ .../inspectionProfiles/Project_Default.xml | 61 +++++ Week08/Deku/.idea/migrations.xml | 10 + Week08/Deku/.idea/misc.xml | 9 + Week08/Deku/.idea/runConfigurations.xml | 17 ++ Week08/Deku/.idea/vcs.xml | 6 + Week08/Deku/app/.gitignore | 1 + Week08/Deku/app/build.gradle.kts | 59 ++++ Week08/Deku/app/proguard-rules.pro | 21 ++ .../example/deku/ExampleInstrumentedTest.kt | 24 ++ Week08/Deku/app/src/main/AndroidManifest.xml | 32 +++ .../java/com/example/deku/MainActivity.kt | 26 ++ .../java/com/example/deku/SplashActivity.kt | 33 +++ .../example/deku/core/common/AppConstants.kt | 6 + .../deku/core/component/MainBottomBar.kt | 109 ++++++++ .../deku/core/designsystem/AppColors.kt | 9 + .../deku/core/designsystem/theme/Color.kt | 9 + .../deku/core/designsystem/theme/Theme.kt | 61 +++++ .../deku/core/designsystem/theme/Type.kt | 19 ++ .../com/example/deku/data/ProductCatalog.kt | 102 +++++++ .../java/com/example/deku/data/ProductItem.kt | 14 + .../example/deku/feature/cart/CartScreen.kt | 101 +++++++ .../example/deku/feature/home/HomeScreen.kt | 235 ++++++++++++++++ .../example/deku/feature/main/MainScreen.kt | 62 +++++ .../deku/feature/product/ProductCards.kt | 239 +++++++++++++++++ .../feature/product/ProductDetailScreen.kt | 235 ++++++++++++++++ .../deku/feature/profile/ProfileScreen.kt | 28 ++ .../example/deku/feature/shop/ShopScreen.kt | 125 +++++++++ .../deku/feature/splash/SplashScreen.kt | 64 +++++ .../deku/feature/wishlist/WishListScreen.kt | 113 ++++++++ .../example/deku/navigation/MainNavGraph.kt | 109 ++++++++ .../com/example/deku/navigation/MainRoute.kt | 40 +++ .../Deku/app/src/main/res/drawable/cart.xml | 21 ++ .../Deku/app/src/main/res/drawable/heart.xml | 17 ++ .../src/main/res/drawable/heart_filled.xml | 9 + .../Deku/app/src/main/res/drawable/home.xml | 5 + .../src/main/res/drawable/ic_arrow_back.xml | 9 + .../res/drawable/ic_launcher_background.xml | 170 ++++++++++++ .../res/drawable/ic_launcher_foreground.xml | 30 +++ .../app/src/main/res/drawable/nike_item1.png | Bin 0 -> 25860 bytes .../app/src/main/res/drawable/nike_item2.png | Bin 0 -> 16100 bytes .../app/src/main/res/drawable/nike_item3.png | Bin 0 -> 16435 bytes .../app/src/main/res/drawable/nike_item4.png | Bin 0 -> 45867 bytes .../app/src/main/res/drawable/nike_item5.png | Bin 0 -> 23125 bytes .../app/src/main/res/drawable/nike_item6.png | Bin 0 -> 37665 bytes .../app/src/main/res/drawable/nike_logo.png | Bin 0 -> 1027 bytes .../app/src/main/res/drawable/profile.xml | 23 ++ .../Deku/app/src/main/res/drawable/shop.xml | 38 +++ .../app/src/main/res/drawable/splash_logo.png | Bin 0 -> 2058 bytes .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 6 + .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 1900 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 2884 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 3844 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes .../Deku/app/src/main/res/values/colors.xml | 10 + .../Deku/app/src/main/res/values/strings.xml | 5 + .../Deku/app/src/main/res/values/themes.xml | 5 + .../app/src/main/res/xml/backup_rules.xml | 13 + .../main/res/xml/data_extraction_rules.xml | 19 ++ .../java/com/example/deku/ExampleUnitTest.kt | 17 ++ Week08/Deku/build.gradle.kts | 5 + Week08/Deku/gradle.properties | 23 ++ Week08/Deku/gradle/libs.versions.toml | 35 +++ Week08/Deku/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 45457 bytes .../gradle/wrapper/gradle-wrapper.properties | 9 + Week08/Deku/gradlew | 251 ++++++++++++++++++ Week08/Deku/gradlew.bat | 94 +++++++ Week08/Deku/settings.gradle.kts | 23 ++ 80 files changed, 2888 insertions(+) create mode 100644 Week08/Deku/.gitignore create mode 100644 Week08/Deku/.idea/.gitignore create mode 100644 Week08/Deku/.idea/AndroidProjectSystem.xml create mode 100644 Week08/Deku/.idea/compiler.xml create mode 100644 Week08/Deku/.idea/deploymentTargetSelector.xml create mode 100644 Week08/Deku/.idea/gradle.xml create mode 100644 Week08/Deku/.idea/inspectionProfiles/Project_Default.xml create mode 100644 Week08/Deku/.idea/migrations.xml create mode 100644 Week08/Deku/.idea/misc.xml create mode 100644 Week08/Deku/.idea/runConfigurations.xml create mode 100644 Week08/Deku/.idea/vcs.xml create mode 100644 Week08/Deku/app/.gitignore create mode 100644 Week08/Deku/app/build.gradle.kts create mode 100644 Week08/Deku/app/proguard-rules.pro create mode 100644 Week08/Deku/app/src/androidTest/java/com/example/deku/ExampleInstrumentedTest.kt create mode 100644 Week08/Deku/app/src/main/AndroidManifest.xml create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/MainActivity.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/SplashActivity.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/core/common/AppConstants.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/core/component/MainBottomBar.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/core/designsystem/AppColors.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/core/designsystem/theme/Color.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/core/designsystem/theme/Theme.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/core/designsystem/theme/Type.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/data/ProductCatalog.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/data/ProductItem.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/feature/cart/CartScreen.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/feature/home/HomeScreen.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/feature/main/MainScreen.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/feature/product/ProductCards.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/feature/product/ProductDetailScreen.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/feature/profile/ProfileScreen.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/feature/shop/ShopScreen.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/feature/splash/SplashScreen.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/feature/wishlist/WishListScreen.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/navigation/MainNavGraph.kt create mode 100644 Week08/Deku/app/src/main/java/com/example/deku/navigation/MainRoute.kt create mode 100644 Week08/Deku/app/src/main/res/drawable/cart.xml create mode 100644 Week08/Deku/app/src/main/res/drawable/heart.xml create mode 100644 Week08/Deku/app/src/main/res/drawable/heart_filled.xml create mode 100644 Week08/Deku/app/src/main/res/drawable/home.xml create mode 100644 Week08/Deku/app/src/main/res/drawable/ic_arrow_back.xml create mode 100644 Week08/Deku/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 Week08/Deku/app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 Week08/Deku/app/src/main/res/drawable/nike_item1.png create mode 100644 Week08/Deku/app/src/main/res/drawable/nike_item2.png create mode 100644 Week08/Deku/app/src/main/res/drawable/nike_item3.png create mode 100644 Week08/Deku/app/src/main/res/drawable/nike_item4.png create mode 100644 Week08/Deku/app/src/main/res/drawable/nike_item5.png create mode 100644 Week08/Deku/app/src/main/res/drawable/nike_item6.png create mode 100644 Week08/Deku/app/src/main/res/drawable/nike_logo.png create mode 100644 Week08/Deku/app/src/main/res/drawable/profile.xml create mode 100644 Week08/Deku/app/src/main/res/drawable/shop.xml create mode 100644 Week08/Deku/app/src/main/res/drawable/splash_logo.png create mode 100644 Week08/Deku/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 Week08/Deku/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 Week08/Deku/app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 Week08/Deku/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 Week08/Deku/app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 Week08/Deku/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 Week08/Deku/app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 Week08/Deku/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 Week08/Deku/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 Week08/Deku/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 Week08/Deku/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 Week08/Deku/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 Week08/Deku/app/src/main/res/values/colors.xml create mode 100644 Week08/Deku/app/src/main/res/values/strings.xml create mode 100644 Week08/Deku/app/src/main/res/values/themes.xml create mode 100644 Week08/Deku/app/src/main/res/xml/backup_rules.xml create mode 100644 Week08/Deku/app/src/main/res/xml/data_extraction_rules.xml create mode 100644 Week08/Deku/app/src/test/java/com/example/deku/ExampleUnitTest.kt create mode 100644 Week08/Deku/build.gradle.kts create mode 100644 Week08/Deku/gradle.properties create mode 100644 Week08/Deku/gradle/libs.versions.toml create mode 100644 Week08/Deku/gradle/wrapper/gradle-wrapper.jar create mode 100644 Week08/Deku/gradle/wrapper/gradle-wrapper.properties create mode 100755 Week08/Deku/gradlew create mode 100644 Week08/Deku/gradlew.bat create mode 100644 Week08/Deku/settings.gradle.kts diff --git a/Week08/Deku/.gitignore b/Week08/Deku/.gitignore new file mode 100644 index 0000000..841dd0e --- /dev/null +++ b/Week08/Deku/.gitignore @@ -0,0 +1,22 @@ +*.iml +.gradle +.kotlin/ +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties +*.apk +*.ap_ +*.aab +*.jks +*.keystore +*.hprof diff --git a/Week08/Deku/.idea/.gitignore b/Week08/Deku/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/Week08/Deku/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/Week08/Deku/.idea/AndroidProjectSystem.xml b/Week08/Deku/.idea/AndroidProjectSystem.xml new file mode 100644 index 0000000..4a53bee --- /dev/null +++ b/Week08/Deku/.idea/AndroidProjectSystem.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/Week08/Deku/.idea/compiler.xml b/Week08/Deku/.idea/compiler.xml new file mode 100644 index 0000000..b86273d --- /dev/null +++ b/Week08/Deku/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Week08/Deku/.idea/deploymentTargetSelector.xml b/Week08/Deku/.idea/deploymentTargetSelector.xml new file mode 100644 index 0000000..ca16a99 --- /dev/null +++ b/Week08/Deku/.idea/deploymentTargetSelector.xml @@ -0,0 +1,11 @@ + + + + + + + + + \ No newline at end of file diff --git a/Week08/Deku/.idea/gradle.xml b/Week08/Deku/.idea/gradle.xml new file mode 100644 index 0000000..97f0a8e --- /dev/null +++ b/Week08/Deku/.idea/gradle.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/Week08/Deku/.idea/inspectionProfiles/Project_Default.xml b/Week08/Deku/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..7061a0d --- /dev/null +++ b/Week08/Deku/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,61 @@ + + + + \ No newline at end of file diff --git a/Week08/Deku/.idea/migrations.xml b/Week08/Deku/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/Week08/Deku/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/Week08/Deku/.idea/misc.xml b/Week08/Deku/.idea/misc.xml new file mode 100644 index 0000000..1a1bf72 --- /dev/null +++ b/Week08/Deku/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/Week08/Deku/.idea/runConfigurations.xml b/Week08/Deku/.idea/runConfigurations.xml new file mode 100644 index 0000000..16660f1 --- /dev/null +++ b/Week08/Deku/.idea/runConfigurations.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/Week08/Deku/.idea/vcs.xml b/Week08/Deku/.idea/vcs.xml new file mode 100644 index 0000000..b2bdec2 --- /dev/null +++ b/Week08/Deku/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Week08/Deku/app/.gitignore b/Week08/Deku/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/Week08/Deku/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/Week08/Deku/app/build.gradle.kts b/Week08/Deku/app/build.gradle.kts new file mode 100644 index 0000000..84404e5 --- /dev/null +++ b/Week08/Deku/app/build.gradle.kts @@ -0,0 +1,59 @@ +plugins { + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.compose) + alias(libs.plugins.kotlin.serialization) +} + +android { + namespace = "com.example.deku" + compileSdk { + version = release(36) + } + + defaultConfig { + applicationId = "com.example.deku" + minSdk = 24 + targetSdk = 36 + versionCode = 1 + versionName = "1.0" + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + buildFeatures { + compose = true + } +} + +dependencies { + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.lifecycle.runtime.ktx) + implementation(libs.androidx.activity.compose) + implementation(platform(libs.androidx.compose.bom)) + implementation(libs.androidx.compose.ui) + implementation(libs.androidx.compose.ui.graphics) + implementation(libs.androidx.compose.ui.tooling.preview) + implementation(libs.androidx.compose.material3) + implementation(libs.androidx.navigation.compose) + implementation(libs.kotlinx.serialization.json) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.junit) + androidTestImplementation(libs.androidx.espresso.core) + androidTestImplementation(platform(libs.androidx.compose.bom)) + androidTestImplementation(libs.androidx.compose.ui.test.junit4) + debugImplementation(libs.androidx.compose.ui.tooling) + debugImplementation(libs.androidx.compose.ui.test.manifest) +} diff --git a/Week08/Deku/app/proguard-rules.pro b/Week08/Deku/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/Week08/Deku/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/Week08/Deku/app/src/androidTest/java/com/example/deku/ExampleInstrumentedTest.kt b/Week08/Deku/app/src/androidTest/java/com/example/deku/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..05aaa19 --- /dev/null +++ b/Week08/Deku/app/src/androidTest/java/com/example/deku/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.example.deku + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.example.deku", appContext.packageName) + } +} \ No newline at end of file diff --git a/Week08/Deku/app/src/main/AndroidManifest.xml b/Week08/Deku/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..340e1cf --- /dev/null +++ b/Week08/Deku/app/src/main/AndroidManifest.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + diff --git a/Week08/Deku/app/src/main/java/com/example/deku/MainActivity.kt b/Week08/Deku/app/src/main/java/com/example/deku/MainActivity.kt new file mode 100644 index 0000000..8d92d93 --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/MainActivity.kt @@ -0,0 +1,26 @@ +package com.example.deku + +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.activity.enableEdgeToEdge +import com.example.deku.core.common.DEFAULT_HOME_TITLE +import com.example.deku.core.common.EXTRA_HOME_TITLE +import com.example.deku.core.designsystem.theme.DekuTheme +import com.example.deku.feature.main.MainScreen + +class MainActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + + // Splash에서 전달한 title을 HomeScreen까지 내려보내는 7주차 시니어 미션 흐름입니다. + val homeTitle = intent.getStringExtra(EXTRA_HOME_TITLE) ?: DEFAULT_HOME_TITLE + + setContent { + DekuTheme { + MainScreen(homeTitle = homeTitle) + } + } + } +} diff --git a/Week08/Deku/app/src/main/java/com/example/deku/SplashActivity.kt b/Week08/Deku/app/src/main/java/com/example/deku/SplashActivity.kt new file mode 100644 index 0000000..b3b32ef --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/SplashActivity.kt @@ -0,0 +1,33 @@ +package com.example.deku + +import android.content.Intent +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.activity.enableEdgeToEdge +import com.example.deku.core.common.EXTRA_HOME_TITLE +import com.example.deku.core.common.SPLASH_HOME_TITLE +import com.example.deku.core.designsystem.theme.DekuTheme +import com.example.deku.feature.splash.SplashScreen + +class SplashActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + + setContent { + DekuTheme { + SplashScreen( + onTimeout = { + val intent = Intent(this, MainActivity::class.java).apply { + // Activity 간 데이터 전달: MainActivity가 이 값을 읽어 Home route의 인자로 사용합니다. + putExtra(EXTRA_HOME_TITLE, SPLASH_HOME_TITLE) + } + startActivity(intent) + finish() + } + ) + } + } + } +} diff --git a/Week08/Deku/app/src/main/java/com/example/deku/core/common/AppConstants.kt b/Week08/Deku/app/src/main/java/com/example/deku/core/common/AppConstants.kt new file mode 100644 index 0000000..411a738 --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/core/common/AppConstants.kt @@ -0,0 +1,6 @@ +package com.example.deku.core.common + +const val EXTRA_HOME_TITLE = "com.example.deku.extra.HOME_TITLE" +const val SPLASH_HOME_TITLE = "NIKE" + +internal const val DEFAULT_HOME_TITLE = "Discover" diff --git a/Week08/Deku/app/src/main/java/com/example/deku/core/component/MainBottomBar.kt b/Week08/Deku/app/src/main/java/com/example/deku/core/component/MainBottomBar.kt new file mode 100644 index 0000000..cd1c862 --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/core/component/MainBottomBar.kt @@ -0,0 +1,109 @@ +package com.example.deku.core.component + +import androidx.annotation.DrawableRes +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxHeight +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.navigationBarsPadding +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.Icon +import androidx.compose.material3.Surface +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.example.deku.R +import com.example.deku.core.designsystem.ColorDivider +import com.example.deku.core.designsystem.ColorNavUnselected +import com.example.deku.core.designsystem.ColorTextPrimary +import com.example.deku.navigation.MainRouteName + +private data class BottomTabItem( + val label: String, + @param:DrawableRes val iconRes: Int, + val routeName: String +) + +private val bottomTabs = listOf( + BottomTabItem("홈", R.drawable.home, MainRouteName.HOME), + BottomTabItem("구매하기", R.drawable.shop, MainRouteName.SHOP), + BottomTabItem("위시리스트", R.drawable.heart, MainRouteName.WISH_LIST), + BottomTabItem("장바구니", R.drawable.cart, MainRouteName.CART), + BottomTabItem("프로필", R.drawable.profile, MainRouteName.PROFILE) +) + +@Composable +fun MainBottomBar( + currentRoute: String?, + onTabSelected: (String) -> Unit +) { + Surface( + color = Color.White, + shadowElevation = 0.dp + ) { + Column( + modifier = Modifier + .fillMaxWidth() + .background(Color.White) + .navigationBarsPadding() + ) { + HorizontalDivider(color = ColorDivider, thickness = 1.dp) + Row( + modifier = Modifier + .fillMaxWidth() + .height(64.dp) + .padding(horizontal = 14.dp), + verticalAlignment = Alignment.CenterVertically + ) { + bottomTabs.forEach { item -> + val selected = currentRoute == item.routeName + val color = if (selected) ColorTextPrimary else ColorNavUnselected + + Column( + modifier = Modifier + .weight(1f) + .fillMaxHeight() + .clip(RoundedCornerShape(8.dp)) + .clickable { onTabSelected(item.routeName) } + .padding(vertical = 6.dp), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.Center + ) { + Icon( + painter = painterResource(id = item.iconRes), + contentDescription = item.label, + tint = color, + modifier = Modifier.size(29.dp) + ) + Spacer(modifier = Modifier.height(4.dp)) + Text( + text = item.label, + color = color, + fontSize = 10.sp, + lineHeight = 12.sp, + fontWeight = if (selected) FontWeight.Bold else FontWeight.Normal, + maxLines = 1, + textAlign = TextAlign.Center + ) + } + } + } + } + } +} diff --git a/Week08/Deku/app/src/main/java/com/example/deku/core/designsystem/AppColors.kt b/Week08/Deku/app/src/main/java/com/example/deku/core/designsystem/AppColors.kt new file mode 100644 index 0000000..0be9a1b --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/core/designsystem/AppColors.kt @@ -0,0 +1,9 @@ +package com.example.deku.core.designsystem + +import androidx.compose.ui.graphics.Color + +val ColorTextPrimary = Color(0xFF111111) +val ColorTextSecondary = Color(0xFF5F5F5F) +val ColorNavUnselected = Color(0xFF8A8A8A) +val ColorFrameBackground = Color(0xFFF7F7F7) +val ColorDivider = Color(0x1F203126) diff --git a/Week08/Deku/app/src/main/java/com/example/deku/core/designsystem/theme/Color.kt b/Week08/Deku/app/src/main/java/com/example/deku/core/designsystem/theme/Color.kt new file mode 100644 index 0000000..95167c1 --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/core/designsystem/theme/Color.kt @@ -0,0 +1,9 @@ +package com.example.deku.core.designsystem.theme + +import androidx.compose.ui.graphics.Color + +val NikeBlack = Color(0xFF111111) +val NikeWhite = Color(0xFFFFFFFF) +val NikeGray = Color(0xFF8A8A8A) +val NikeDarkGray = Color(0xFF2C2C2C) +val NikeFrameBackground = Color(0xFFF7F7F7) diff --git a/Week08/Deku/app/src/main/java/com/example/deku/core/designsystem/theme/Theme.kt b/Week08/Deku/app/src/main/java/com/example/deku/core/designsystem/theme/Theme.kt new file mode 100644 index 0000000..b5e8e25 --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/core/designsystem/theme/Theme.kt @@ -0,0 +1,61 @@ +package com.example.deku.core.designsystem.theme + +import android.os.Build +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.darkColorScheme +import androidx.compose.material3.dynamicDarkColorScheme +import androidx.compose.material3.dynamicLightColorScheme +import androidx.compose.material3.lightColorScheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.platform.LocalContext + +private val DarkColorScheme = darkColorScheme( + primary = NikeWhite, + secondary = NikeGray, + tertiary = NikeFrameBackground, + background = NikeBlack, + surface = NikeBlack, + onPrimary = NikeBlack, + onSecondary = NikeWhite, + onTertiary = NikeBlack, + onBackground = NikeWhite, + onSurface = NikeWhite +) + +private val LightColorScheme = lightColorScheme( + primary = NikeBlack, + secondary = NikeDarkGray, + tertiary = NikeFrameBackground, + background = NikeWhite, + surface = NikeWhite, + onPrimary = NikeWhite, + onSecondary = NikeWhite, + onTertiary = NikeBlack, + onBackground = NikeBlack, + onSurface = NikeBlack +) + +@Composable +fun DekuTheme( + darkTheme: Boolean = isSystemInDarkTheme(), + // Dynamic color is available on Android 12+ + dynamicColor: Boolean = false, + content: @Composable () -> Unit +) { + val colorScheme = when { + dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> { + val context = LocalContext.current + if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) + } + + darkTheme -> DarkColorScheme + else -> LightColorScheme + } + + MaterialTheme( + colorScheme = colorScheme, + typography = Typography, + content = content + ) +} diff --git a/Week08/Deku/app/src/main/java/com/example/deku/core/designsystem/theme/Type.kt b/Week08/Deku/app/src/main/java/com/example/deku/core/designsystem/theme/Type.kt new file mode 100644 index 0000000..4e31103 --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/core/designsystem/theme/Type.kt @@ -0,0 +1,19 @@ +package com.example.deku.core.designsystem.theme + +import androidx.compose.material3.Typography +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontFamily +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.sp + + +val Typography = Typography( + bodyLarge = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 16.sp, + lineHeight = 24.sp, + letterSpacing = 0.5.sp + ) + +) diff --git a/Week08/Deku/app/src/main/java/com/example/deku/data/ProductCatalog.kt b/Week08/Deku/app/src/main/java/com/example/deku/data/ProductCatalog.kt new file mode 100644 index 0000000..b70d298 --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/data/ProductCatalog.kt @@ -0,0 +1,102 @@ +package com.example.deku.data + +import com.example.deku.R + +object ProductCatalog { + private val baseProducts = listOf( + ProductItem( + id = 1, + name = "Air Jordan XXXVI", + price = "US185", + imageResId = R.drawable.nike_item1, + category = CATEGORY_SHOES, + colorCount = 3, + description = PRODUCT_DESCRIPTION + ), + ProductItem( + id = 2, + name = "Nike Air Force 1 '07", + price = "US185", + imageResId = R.drawable.nike_item2, + category = CATEGORY_SHOES, + colorCount = 5, + description = PRODUCT_DESCRIPTION + ), + ProductItem( + id = 3, + name = "Nike Everyday Plus Cushioned", + price = "US185", + imageResId = R.drawable.nike_item3, + category = CATEGORY_SHOES, + colorCount = 2, + description = PRODUCT_DESCRIPTION + ), + ProductItem( + id = 4, + name = "Nike Dri-FIT Primary Top", + price = "US185", + imageResId = R.drawable.nike_item4, + category = CATEGORY_TOPS, + colorCount = 4, + description = PRODUCT_DESCRIPTION + ), + ProductItem( + id = 5, + name = "Nike Everyday Plus Cushioned", + price = "US185", + imageResId = R.drawable.nike_item5, + category = CATEGORY_SHOES, + colorCount = 4, + description = PRODUCT_DESCRIPTION + ), + ProductItem( + id = 6, + name = "Nike Everyday Plus Cushioned", + price = "US185", + imageResId = R.drawable.nike_item6, + category = CATEGORY_SHOES, + colorCount = 4, + description = PRODUCT_DESCRIPTION + ) + ) + + fun initialProducts(): List = buildList { + repeat(DUMMY_PRODUCT_GROUP_COUNT) { groupIndex -> + baseProducts.forEach { product -> + val nextId = groupIndex * baseProducts.size + product.id + val displayName = if (groupIndex == 0) { + product.name + } else { + "${product.name} ${groupIndex + 1}" + } + + add( + product.copy( + id = nextId, + name = displayName + ) + ) + } + } + } + + fun latestProducts(products: List): List = products.take(5) + + fun productsByCategory( + products: List, + category: String? + ): List { + return if (category == null) { + products + } else { + products.filter { it.category == category } + } + } + + const val CATEGORY_TOPS = "Tops & T-Shirts" + const val CATEGORY_SHOES = "Shoes" + + private const val DUMMY_PRODUCT_GROUP_COUNT = 6 + private const val PRODUCT_DESCRIPTION = + "The Nike Everyday Plus Cushioned Socks bring comfort to your workout with extra cushioning under the heel and forefoot and a snug, supportive arch band. Sweat-wicking power and breathability up top help keep your feet dry and cool to help push you through that extra set." +} diff --git a/Week08/Deku/app/src/main/java/com/example/deku/data/ProductItem.kt b/Week08/Deku/app/src/main/java/com/example/deku/data/ProductItem.kt new file mode 100644 index 0000000..16b61c3 --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/data/ProductItem.kt @@ -0,0 +1,14 @@ +package com.example.deku.data + +import androidx.annotation.DrawableRes + +data class ProductItem( + val id: Int, + val name: String, + val price: String, + @param:DrawableRes val imageResId: Int, + val category: String, + val colorCount: Int, + val description: String, + val isWish: Boolean = false +) diff --git a/Week08/Deku/app/src/main/java/com/example/deku/feature/cart/CartScreen.kt b/Week08/Deku/app/src/main/java/com/example/deku/feature/cart/CartScreen.kt new file mode 100644 index 0000000..51b7e0f --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/feature/cart/CartScreen.kt @@ -0,0 +1,101 @@ +package com.example.deku.feature.cart + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Icon +import androidx.compose.material3.Surface +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.example.deku.R +import com.example.deku.core.designsystem.ColorFrameBackground +import com.example.deku.core.designsystem.ColorNavUnselected +import com.example.deku.core.designsystem.ColorTextPrimary +import com.example.deku.core.designsystem.theme.DekuTheme + +@Composable +fun CartScreen( + onOrderClick: () -> Unit, + modifier: Modifier = Modifier +) { + Box( + modifier = modifier + .fillMaxSize() + .background(Color.White) + .padding(horizontal = 24.dp) + .padding(top = 40.dp) + ) { + Column( + modifier = Modifier.align(Alignment.Center), + horizontalAlignment = Alignment.CenterHorizontally + ) { + Surface( + modifier = Modifier.size(70.dp), + shape = CircleShape, + color = ColorFrameBackground + ) { + Icon( + painter = painterResource(id = R.drawable.cart), + contentDescription = null, + tint = ColorNavUnselected, + modifier = Modifier.padding(17.dp) + ) + } + Spacer(modifier = Modifier.height(20.dp)) + Text( + text = "장바구니가 비어있습니다\n제품을 추가하면 여기에 표시됩니다.", + color = ColorTextPrimary, + textAlign = TextAlign.Center, + fontSize = 16.sp, + lineHeight = 24.sp + ) + } + + Button( + onClick = onOrderClick, + modifier = Modifier + .align(Alignment.BottomCenter) + .fillMaxWidth() + .padding(start = 20.dp, end = 20.dp, bottom = 8.dp) + .height(52.dp), + colors = ButtonDefaults.buttonColors( + containerColor = Color.Black, + contentColor = Color.White + ), + shape = RoundedCornerShape(26.dp) + ) { + Text( + text = "주문하기", + fontSize = 16.sp, + fontWeight = FontWeight.Bold + ) + } + } +} + +@Preview(showBackground = true) +@Composable +private fun CartScreenPreview() { + DekuTheme { + CartScreen(onOrderClick = {}) + } +} diff --git a/Week08/Deku/app/src/main/java/com/example/deku/feature/home/HomeScreen.kt b/Week08/Deku/app/src/main/java/com/example/deku/feature/home/HomeScreen.kt new file mode 100644 index 0000000..4f2ffc5 --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/feature/home/HomeScreen.kt @@ -0,0 +1,235 @@ +package com.example.deku.feature.home + +import android.app.Activity +import android.widget.Toast +import androidx.activity.compose.BackHandler +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.LazyRow +import androidx.compose.foundation.lazy.items +import androidx.compose.foundation.lazy.rememberLazyListState +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.example.deku.R +import com.example.deku.core.common.SPLASH_HOME_TITLE +import com.example.deku.core.designsystem.ColorTextPrimary +import com.example.deku.core.designsystem.ColorTextSecondary +import com.example.deku.core.designsystem.theme.DekuTheme +import com.example.deku.data.ProductCatalog +import com.example.deku.data.ProductItem +import com.example.deku.feature.product.HomeProductCard +import com.example.deku.feature.product.ProductListRow +import java.text.SimpleDateFormat +import java.util.Date +import java.util.Locale +import kotlinx.coroutines.launch + +private const val BACK_PRESS_INTERVAL_MILLIS = 2_000L + +@Composable +fun HomeScreen( + title: String, + products: List, + onProductClick: (ProductItem) -> Unit, + modifier: Modifier = Modifier +) { + val context = LocalContext.current + val activity = context as? Activity + var lastBackPressedAt by remember { mutableStateOf(0L) } + val today = remember { currentKoreanDate() } + val listState = rememberLazyListState() + val coroutineScope = rememberCoroutineScope() + // 스크롤 값은 자주 바뀌므로 derivedStateOf로 버튼 노출 조건이 변할 때만 재구성합니다. + val showScrollToTop by remember { + derivedStateOf { + listState.firstVisibleItemIndex > 2 + } + } + + // Compose에서는 BackHandler로 시스템 뒤로가기를 가로채 2초 안에 두 번 누르면 Activity를 종료합니다. + BackHandler { + val now = System.currentTimeMillis() + if (now - lastBackPressedAt <= BACK_PRESS_INTERVAL_MILLIS) { + activity?.finish() + } else { + lastBackPressedAt = now + Toast.makeText(context, "한 번 더 누르면 종료됩니다.", Toast.LENGTH_SHORT).show() + } + } + + Box( + modifier = modifier + .fillMaxSize() + .background(Color.White) + ) { + LazyColumn( + state = listState, + modifier = Modifier.fillMaxSize(), + contentPadding = PaddingValues( + start = 24.dp, + top = 50.dp, + end = 24.dp, + bottom = 32.dp + ) + ) { + item(contentType = "header") { + Text( + text = title, + color = ColorTextPrimary, + fontSize = 30.sp, + lineHeight = 36.sp, + fontWeight = FontWeight.Bold + ) + Spacer(modifier = Modifier.height(10.dp)) + Text( + text = today, + color = ColorTextSecondary, + fontSize = 20.sp, + lineHeight = 26.sp + ) + } + + item(contentType = "logo") { + Spacer(modifier = Modifier.height(48.dp)) + Image( + painter = painterResource(id = R.drawable.nike_logo), + contentDescription = stringResource(id = R.string.home_brand_logo), + modifier = Modifier + .fillParentMaxWidth() + .height(220.dp) + .padding(horizontal = 36.dp) + ) + } + + item(contentType = "latestTitle") { + Spacer(modifier = Modifier.height(28.dp)) + Text( + text = "What's New", + color = ColorTextPrimary, + fontSize = 22.sp, + lineHeight = 28.sp, + fontWeight = FontWeight.Bold + ) + Spacer(modifier = Modifier.height(6.dp)) + Text( + text = "나이키 최신 상품", + color = ColorTextSecondary, + fontSize = 15.sp, + lineHeight = 20.sp + ) + Spacer(modifier = Modifier.height(18.dp)) + } + + item(contentType = "latestProducts") { + LazyRow( + horizontalArrangement = Arrangement.spacedBy(12.dp), + contentPadding = PaddingValues(end = 8.dp) + ) { + items( + items = ProductCatalog.latestProducts(products), + // Lazy item key는 RecyclerView의 stable id처럼 아이템 상태를 안정적으로 묶어줍니다. + key = { product -> product.id }, + contentType = { "latestProduct" } + ) { product -> + HomeProductCard( + product = product, + onClick = onProductClick + ) + } + } + Spacer(modifier = Modifier.height(18.dp)) + } + + item(contentType = "allProductsTitle") { + Spacer(modifier = Modifier.height(8.dp)) + Text( + text = "Popular Products", + color = ColorTextPrimary, + fontSize = 22.sp, + lineHeight = 28.sp, + fontWeight = FontWeight.Bold + ) + Spacer(modifier = Modifier.height(8.dp)) + } + + // RecyclerView + Adapter 대신 LazyColumn의 items()로 같은 리스트 데이터를 그립니다. + items( + items = products, + key = { product -> product.id }, + contentType = { "homeProductList" } + ) { product -> + ProductListRow( + product = product, + onClick = onProductClick + ) + } + } + + if (showScrollToTop) { + Button( + onClick = { + coroutineScope.launch { + listState.animateScrollToItem(index = 0) + } + }, + modifier = Modifier + .align(Alignment.BottomEnd) + .padding(end = 20.dp, bottom = 20.dp), + colors = ButtonDefaults.buttonColors( + containerColor = Color.Black, + contentColor = Color.White + ) + ) { + Text( + text = "맨 위로", + fontSize = 14.sp, + fontWeight = FontWeight.Bold + ) + } + } + } +} + +private fun currentKoreanDate(): String { + val formatter = SimpleDateFormat("M월 d일 EEEE", Locale.KOREAN) + return formatter.format(Date()) +} + +@Preview(showBackground = true) +@Composable +private fun HomeScreenPreview() { + DekuTheme { + HomeScreen( + title = SPLASH_HOME_TITLE, + products = ProductCatalog.initialProducts(), + onProductClick = {} + ) + } +} diff --git a/Week08/Deku/app/src/main/java/com/example/deku/feature/main/MainScreen.kt b/Week08/Deku/app/src/main/java/com/example/deku/feature/main/MainScreen.kt new file mode 100644 index 0000000..fd69228 --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/feature/main/MainScreen.kt @@ -0,0 +1,62 @@ +package com.example.deku.feature.main + +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.Scaffold +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.navigation.compose.currentBackStackEntryAsState +import androidx.navigation.compose.rememberNavController +import com.example.deku.core.component.MainBottomBar +import com.example.deku.data.ProductCatalog +import com.example.deku.navigation.MainNavGraph +import com.example.deku.navigation.currentBaseRoute +import com.example.deku.navigation.navigateToBottomTab + +@Composable +fun MainScreen(homeTitle: String) { + val navController = rememberNavController() + val navBackStackEntry by navController.currentBackStackEntryAsState() + val currentRoute = navBackStackEntry?.destination?.route.currentBaseRoute() + // 위시 상태는 여러 탭에서 함께 쓰이므로 최상위 화면에 올려 단일 진실 공급원으로 관리합니다. + var products by remember { mutableStateOf(ProductCatalog.initialProducts()) } + + fun toggleWish(productId: Int) { + products = products.map { product -> + if (product.id == productId) { + product.copy(isWish = !product.isWish) + } else { + product + } + } + } + + Scaffold( + modifier = Modifier.fillMaxSize(), + containerColor = Color.White, + bottomBar = { + MainBottomBar( + currentRoute = currentRoute, + onTabSelected = { routeName -> + // BottomBar는 routeName만 올리고, 실제 Navigation 처리는 부모가 담당합니다. + navController.navigateToBottomTab(routeName, homeTitle) + } + ) + } + ) { innerPadding -> + MainNavGraph( + navController = navController, + homeTitle = homeTitle, + products = products, + onWishClick = { product -> toggleWish(product.id) }, + modifier = Modifier + .fillMaxSize() + .padding(innerPadding) + ) + } +} diff --git a/Week08/Deku/app/src/main/java/com/example/deku/feature/product/ProductCards.kt b/Week08/Deku/app/src/main/java/com/example/deku/feature/product/ProductCards.kt new file mode 100644 index 0000000..f3792da --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/feature/product/ProductCards.kt @@ -0,0 +1,239 @@ +package com.example.deku.feature.product + +import androidx.compose.foundation.Image +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.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Icon +import androidx.compose.material3.Surface +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.example.deku.R +import com.example.deku.core.designsystem.ColorFrameBackground +import com.example.deku.core.designsystem.ColorTextPrimary +import com.example.deku.core.designsystem.ColorTextSecondary +import com.example.deku.data.ProductItem + +@Composable +fun HomeProductCard( + product: ProductItem, + onClick: (ProductItem) -> Unit, + modifier: Modifier = Modifier +) { + Column( + modifier = modifier + .width(220.dp) + .clip(RoundedCornerShape(8.dp)) + .clickable { onClick(product) } + .padding(14.dp) + ) { + ProductImage( + product = product, + modifier = Modifier + .fillMaxWidth() + .height(140.dp), + imagePadding = 20.dp + ) + Spacer(modifier = Modifier.height(14.dp)) + Text( + text = product.name, + color = ColorTextPrimary, + fontSize = 16.sp, + lineHeight = 20.sp, + fontWeight = FontWeight.Bold, + maxLines = 2, + overflow = TextOverflow.Ellipsis + ) + Spacer(modifier = Modifier.height(6.dp)) + Text( + text = product.price, + color = ColorTextSecondary, + fontSize = 14.sp, + lineHeight = 18.sp + ) + } +} + +@Composable +fun ProductListRow( + product: ProductItem, + onClick: (ProductItem) -> Unit, + modifier: Modifier = Modifier +) { + Row( + modifier = modifier + .fillMaxWidth() + .clip(RoundedCornerShape(8.dp)) + .clickable { onClick(product) } + .padding(vertical = 10.dp), + verticalAlignment = Alignment.CenterVertically + ) { + ProductImage( + product = product, + modifier = Modifier.size(width = 112.dp, height = 92.dp), + imagePadding = 14.dp + ) + Spacer(modifier = Modifier.width(16.dp)) + Column(modifier = Modifier.weight(1f)) { + Text( + text = product.name, + color = ColorTextPrimary, + fontSize = 16.sp, + lineHeight = 20.sp, + fontWeight = FontWeight.Bold, + maxLines = 2, + overflow = TextOverflow.Ellipsis + ) + Spacer(modifier = Modifier.height(6.dp)) + Text( + text = product.category, + color = ColorTextSecondary, + fontSize = 13.sp, + lineHeight = 17.sp + ) + Spacer(modifier = Modifier.height(2.dp)) + Text( + text = "${product.colorCount} Color", + color = ColorTextSecondary, + fontSize = 13.sp, + lineHeight = 17.sp + ) + Spacer(modifier = Modifier.height(8.dp)) + Text( + text = product.price, + color = ColorTextPrimary, + fontSize = 16.sp, + lineHeight = 20.sp, + fontWeight = FontWeight.Bold + ) + } + } +} + +@Composable +fun ProductGridCard( + product: ProductItem, + onClick: (ProductItem) -> Unit, + onWishClick: (ProductItem) -> Unit, + modifier: Modifier = Modifier +) { + Column( + modifier = modifier + .clip(RoundedCornerShape(8.dp)) + .clickable { onClick(product) } + .padding(12.dp) + ) { + Box { + ProductImage( + product = product, + modifier = Modifier + .fillMaxWidth() + .height(132.dp), + imagePadding = 18.dp + ) + Surface( + modifier = Modifier + .align(Alignment.TopEnd) + .padding(10.dp) + .size(26.dp) + .clip(CircleShape) + .clickable { onWishClick(product) }, + shape = CircleShape, + color = Color.White + ) { + Icon( + painter = painterResource( + id = if (product.isWish) { + R.drawable.heart_filled + } else { + R.drawable.heart + } + ), + contentDescription = if (product.isWish) { + "위시리스트 제거" + } else { + "위시리스트 추가" + }, + tint = Color.Unspecified, + modifier = Modifier.padding(6.dp) + ) + } + } + Spacer(modifier = Modifier.height(12.dp)) + Text( + text = product.name, + color = ColorTextPrimary, + fontSize = 15.sp, + lineHeight = 19.sp, + fontWeight = FontWeight.Bold, + maxLines = 2, + overflow = TextOverflow.Ellipsis + ) + Spacer(modifier = Modifier.height(6.dp)) + Text( + text = product.category, + color = ColorTextSecondary, + fontSize = 12.sp, + lineHeight = 16.sp, + maxLines = 1, + overflow = TextOverflow.Ellipsis + ) + Spacer(modifier = Modifier.height(2.dp)) + Text( + text = "${product.colorCount} Color", + color = ColorTextSecondary, + fontSize = 12.sp, + lineHeight = 16.sp + ) + Spacer(modifier = Modifier.height(10.dp)) + Text( + text = product.price, + color = ColorTextPrimary, + fontSize = 16.sp, + lineHeight = 20.sp, + fontWeight = FontWeight.Bold + ) + } +} + +@Composable +fun ProductImage( + product: ProductItem, + modifier: Modifier = Modifier, + imagePadding: androidx.compose.ui.unit.Dp = 18.dp +) { + Box( + modifier = modifier.background(ColorFrameBackground), + contentAlignment = Alignment.Center + ) { + Image( + painter = painterResource(id = product.imageResId), + contentDescription = product.name, + contentScale = ContentScale.Fit, + modifier = Modifier + .fillMaxSize() + .padding(imagePadding) + ) + } +} diff --git a/Week08/Deku/app/src/main/java/com/example/deku/feature/product/ProductDetailScreen.kt b/Week08/Deku/app/src/main/java/com/example/deku/feature/product/ProductDetailScreen.kt new file mode 100644 index 0000000..cfa6b5f --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/feature/product/ProductDetailScreen.kt @@ -0,0 +1,235 @@ +package com.example.deku.feature.product + +import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.OutlinedButton +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.example.deku.R +import com.example.deku.core.designsystem.ColorDivider +import com.example.deku.core.designsystem.ColorTextPrimary +import com.example.deku.core.designsystem.ColorTextSecondary +import com.example.deku.core.designsystem.theme.DekuTheme +import com.example.deku.data.ProductCatalog +import com.example.deku.data.ProductItem + +@Composable +fun ProductDetailScreen( + product: ProductItem?, + onBackClick: () -> Unit, + onWishClick: (ProductItem) -> Unit, + modifier: Modifier = Modifier +) { + if (product == null) { + ProductNotFoundScreen( + onBackClick = onBackClick, + modifier = modifier + ) + return + } + + LazyColumn( + modifier = modifier + .fillMaxSize() + .background(Color.White), + contentPadding = PaddingValues( + start = 24.dp, + top = 28.dp, + end = 24.dp, + bottom = 32.dp + ) + ) { + item(contentType = "detail") { + ProductDetailTopBar( + title = product.name, + onBackClick = onBackClick + ) + Spacer(modifier = Modifier.height(28.dp)) + ProductImage( + product = product, + modifier = Modifier + .fillMaxWidth() + .height(320.dp), + imagePadding = 18.dp + ) + Spacer(modifier = Modifier.height(24.dp)) + Text( + text = product.name, + color = ColorTextPrimary, + fontSize = 28.sp, + lineHeight = 34.sp, + fontWeight = FontWeight.Bold + ) + Spacer(modifier = Modifier.height(8.dp)) + Text( + text = product.price, + color = ColorTextSecondary, + fontSize = 16.sp, + lineHeight = 22.sp + ) + Spacer(modifier = Modifier.height(28.dp)) + Text( + text = product.description, + color = ColorTextSecondary, + fontSize = 15.sp, + lineHeight = 24.sp + ) + Spacer(modifier = Modifier.height(28.dp)) + DetailSecondaryButton( + text = "사이즈 선택", + onClick = {} + ) + Spacer(modifier = Modifier.height(28.dp)) + Button( + onClick = {}, + modifier = Modifier + .fillMaxWidth() + .height(54.dp), + colors = ButtonDefaults.buttonColors( + containerColor = Color.Black, + contentColor = Color.White + ), + shape = RoundedCornerShape(14.dp) + ) { + Text( + text = "장바구니 추가", + fontSize = 16.sp, + fontWeight = FontWeight.Bold + ) + } + Spacer(modifier = Modifier.height(28.dp)) + DetailSecondaryButton( + text = if (product.isWish) { + "위시리스트 제거" + } else { + "위시리스트 추가" + }, + onClick = { onWishClick(product) } + ) + } + } +} + +@Composable +private fun ProductDetailTopBar( + title: String, + onBackClick: () -> Unit +) { + Box( + modifier = Modifier + .fillMaxWidth() + .height(40.dp), + contentAlignment = Alignment.Center + ) { + IconButton( + onClick = onBackClick, + modifier = Modifier + .align(Alignment.CenterStart) + .size(40.dp) + ) { + Icon( + painter = painterResource(id = R.drawable.ic_arrow_back), + contentDescription = "뒤로 가기", + tint = ColorTextPrimary + ) + } + Text( + text = title, + color = ColorTextPrimary, + fontSize = 20.sp, + lineHeight = 24.sp, + fontWeight = FontWeight.Bold, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + textAlign = TextAlign.Center, + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 48.dp) + ) + } +} + +@Composable +private fun DetailSecondaryButton( + text: String, + onClick: () -> Unit +) { + OutlinedButton( + onClick = onClick, + modifier = Modifier + .fillMaxWidth() + .height(54.dp), + colors = ButtonDefaults.outlinedButtonColors( + containerColor = Color.White, + contentColor = ColorTextPrimary + ), + border = BorderStroke(1.dp, ColorDivider), + shape = RoundedCornerShape(14.dp) + ) { + Text( + text = text, + fontSize = 16.sp, + fontWeight = FontWeight.Bold + ) + } +} + +@Composable +private fun ProductNotFoundScreen( + onBackClick: () -> Unit, + modifier: Modifier = Modifier +) { + Box( + modifier = modifier + .fillMaxSize() + .background(Color.White) + .padding(start = 24.dp, top = 28.dp, end = 24.dp) + ) { + ProductDetailTopBar( + title = "상품 상세", + onBackClick = onBackClick + ) + Text( + text = "상품을 찾을 수 없습니다.", + color = ColorTextSecondary, + fontSize = 16.sp, + modifier = Modifier.align(Alignment.Center) + ) + } +} + +@Preview(showBackground = true) +@Composable +private fun ProductDetailScreenPreview() { + DekuTheme { + ProductDetailScreen( + product = ProductCatalog.initialProducts().first(), + onBackClick = {}, + onWishClick = {} + ) + } +} diff --git a/Week08/Deku/app/src/main/java/com/example/deku/feature/profile/ProfileScreen.kt b/Week08/Deku/app/src/main/java/com/example/deku/feature/profile/ProfileScreen.kt new file mode 100644 index 0000000..897589c --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/feature/profile/ProfileScreen.kt @@ -0,0 +1,28 @@ +package com.example.deku.feature.profile + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.unit.sp + +@Composable +fun ProfileScreen(modifier: Modifier = Modifier) { + Box( + modifier = modifier + .fillMaxSize() + .background(Color.White), + contentAlignment = Alignment.TopStart + ) { + Text( + text = "Hello blank fragment", + color = MaterialTheme.colorScheme.onBackground, + fontSize = 16.sp + ) + } +} diff --git a/Week08/Deku/app/src/main/java/com/example/deku/feature/shop/ShopScreen.kt b/Week08/Deku/app/src/main/java/com/example/deku/feature/shop/ShopScreen.kt new file mode 100644 index 0000000..9089776 --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/feature/shop/ShopScreen.kt @@ -0,0 +1,125 @@ +package com.example.deku.feature.shop + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.lazy.grid.GridCells +import androidx.compose.foundation.lazy.grid.LazyVerticalGrid +import androidx.compose.foundation.lazy.grid.items +import androidx.compose.material3.Tab +import androidx.compose.material3.TabRow +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.example.deku.core.designsystem.ColorNavUnselected +import com.example.deku.core.designsystem.ColorTextPrimary +import com.example.deku.core.designsystem.theme.DekuTheme +import com.example.deku.data.ProductCatalog +import com.example.deku.data.ProductItem +import com.example.deku.feature.product.ProductGridCard + +@Composable +fun ShopScreen( + products: List, + onProductClick: (ProductItem) -> Unit, + onWishClick: (ProductItem) -> Unit, + modifier: Modifier = Modifier +) { + val tabs = listOf( + "전체" to null, + ProductCatalog.CATEGORY_TOPS to ProductCatalog.CATEGORY_TOPS, + ProductCatalog.CATEGORY_SHOES to ProductCatalog.CATEGORY_SHOES + ) + var selectedTabIndex by remember { mutableStateOf(0) } + val selectedCategory = tabs[selectedTabIndex].second + val filteredProducts = ProductCatalog.productsByCategory(products, selectedCategory) + + Column( + modifier = modifier + .fillMaxSize() + .background(Color.White) + .padding(horizontal = 24.dp) + .padding(top = 40.dp) + ) { + TabRow( + selectedTabIndex = selectedTabIndex, + containerColor = Color.White, + contentColor = ColorTextPrimary + ) { + tabs.forEachIndexed { index, tab -> + val title = tab.first + + Tab( + selected = selectedTabIndex == index, + onClick = { selectedTabIndex = index }, + selectedContentColor = ColorTextPrimary, + unselectedContentColor = ColorNavUnselected, + text = { + Text( + text = title, + fontSize = if (title.length > 8) 13.sp else 14.sp, + lineHeight = 18.sp, + fontWeight = if (selectedTabIndex == index) { + FontWeight.Bold + } else { + FontWeight.Normal + }, + maxLines = 1 + ) + } + ) + } + } + + LazyVerticalGrid( + columns = GridCells.Fixed(2), + modifier = Modifier + .fillMaxSize() + .padding(top = 20.dp), + contentPadding = PaddingValues( + start = 12.dp, + end = 12.dp, + bottom = 24.dp + ), + verticalArrangement = Arrangement.spacedBy(16.dp), + horizontalArrangement = Arrangement.spacedBy(6.dp) + ) { + // Grid에서도 items + key를 지정해 상품 순서가 바뀌어도 아이템 상태가 흔들리지 않게 합니다. + items( + items = filteredProducts, + key = { product -> product.id }, + contentType = { "shopProduct" } + ) { product -> + ProductGridCard( + product = product, + onClick = onProductClick, + onWishClick = onWishClick + ) + } + } + } +} + +@Preview(showBackground = true) +@Composable +private fun ShopScreenPreview() { + DekuTheme { + ShopScreen( + products = ProductCatalog.initialProducts(), + onProductClick = {}, + onWishClick = {} + ) + } +} diff --git a/Week08/Deku/app/src/main/java/com/example/deku/feature/splash/SplashScreen.kt b/Week08/Deku/app/src/main/java/com/example/deku/feature/splash/SplashScreen.kt new file mode 100644 index 0000000..6f1461c --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/feature/splash/SplashScreen.kt @@ -0,0 +1,64 @@ +package com.example.deku.feature.splash + +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.size +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.example.deku.R +import com.example.deku.core.common.SPLASH_HOME_TITLE +import com.example.deku.core.designsystem.theme.DekuTheme +import kotlinx.coroutines.delay + +@Composable +fun SplashScreen(onTimeout: () -> Unit) { + LaunchedEffect(Unit) { + delay(2_000) + onTimeout() + } + + Column( + modifier = Modifier + .fillMaxSize() + .background(Color.White), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.Center + ) { + Text( + text = SPLASH_HOME_TITLE, + color = Color(0xFF111111), + fontSize = 50.sp, + lineHeight = 58.sp, + fontWeight = FontWeight.Bold + ) + Spacer(modifier = Modifier.height(16.dp)) + Image( + painter = painterResource(id = R.drawable.splash_logo), + contentDescription = stringResource(id = R.string.splash_brand_logo), + modifier = Modifier.size(width = 100.dp, height = 80.dp) + ) + } +} + +@Preview(showBackground = true) +@Composable +private fun SplashScreenPreview() { + DekuTheme { + SplashScreen(onTimeout = {}) + } +} diff --git a/Week08/Deku/app/src/main/java/com/example/deku/feature/wishlist/WishListScreen.kt b/Week08/Deku/app/src/main/java/com/example/deku/feature/wishlist/WishListScreen.kt new file mode 100644 index 0000000..a851b63 --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/feature/wishlist/WishListScreen.kt @@ -0,0 +1,113 @@ +package com.example.deku.feature.wishlist + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.lazy.grid.GridCells +import androidx.compose.foundation.lazy.grid.LazyVerticalGrid +import androidx.compose.foundation.lazy.grid.items +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.example.deku.core.designsystem.ColorTextPrimary +import com.example.deku.core.designsystem.ColorTextSecondary +import com.example.deku.core.designsystem.theme.DekuTheme +import com.example.deku.data.ProductCatalog +import com.example.deku.data.ProductItem +import com.example.deku.feature.product.ProductGridCard + +@Composable +fun WishListScreen( + products: List, + onProductClick: (ProductItem) -> Unit, + onWishClick: (ProductItem) -> Unit, + modifier: Modifier = Modifier +) { + val wishProducts = products.filter { it.isWish } + + Column( + modifier = modifier + .fillMaxSize() + .background(Color.White) + .padding(horizontal = 24.dp) + .padding(top = 70.dp) + ) { + Text( + text = "위시리스트", + color = ColorTextPrimary, + fontSize = 30.sp, + lineHeight = 36.sp, + fontWeight = FontWeight.Bold + ) + + if (wishProducts.isEmpty()) { + Spacer(modifier = Modifier.height(120.dp)) + Box( + modifier = Modifier.fillMaxSize(), + contentAlignment = Alignment.TopCenter + ) { + Text( + text = "관심 상품이 없습니다\n마음에 드는 상품을 저장해보세요.", + color = ColorTextSecondary, + textAlign = TextAlign.Center, + fontSize = 16.sp, + lineHeight = 24.sp + ) + } + } else { + LazyVerticalGrid( + columns = GridCells.Fixed(2), + modifier = Modifier + .fillMaxSize() + .padding(top = 20.dp), + contentPadding = PaddingValues( + start = 12.dp, + end = 12.dp, + bottom = 24.dp + ), + verticalArrangement = Arrangement.spacedBy(16.dp), + horizontalArrangement = Arrangement.spacedBy(6.dp) + ) { + // 위시리스트는 원본 상품 상태에서 파생된 목록이므로 id를 key로 사용합니다. + items( + items = wishProducts, + key = { product -> product.id }, + contentType = { "wishProduct" } + ) { product -> + ProductGridCard( + product = product, + onClick = onProductClick, + onWishClick = onWishClick + ) + } + } + } + } +} + +@Preview(showBackground = true) +@Composable +private fun WishListScreenPreview() { + DekuTheme { + WishListScreen( + products = ProductCatalog.initialProducts().mapIndexed { index, product -> + if (index < 3) product.copy(isWish = true) else product + }, + onProductClick = {}, + onWishClick = {} + ) + } +} diff --git a/Week08/Deku/app/src/main/java/com/example/deku/navigation/MainNavGraph.kt b/Week08/Deku/app/src/main/java/com/example/deku/navigation/MainNavGraph.kt new file mode 100644 index 0000000..0fa1070 --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/navigation/MainNavGraph.kt @@ -0,0 +1,109 @@ +package com.example.deku.navigation + +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.navigation.NavController +import androidx.navigation.NavGraph.Companion.findStartDestination +import androidx.navigation.NavHostController +import androidx.navigation.compose.NavHost +import androidx.navigation.compose.composable +import androidx.navigation.toRoute +import com.example.deku.data.ProductItem +import com.example.deku.feature.cart.CartScreen +import com.example.deku.feature.home.HomeScreen +import com.example.deku.feature.profile.ProfileScreen +import com.example.deku.feature.product.ProductDetailScreen +import com.example.deku.feature.shop.ShopScreen +import com.example.deku.feature.wishlist.WishListScreen + +@Composable +fun MainNavGraph( + navController: NavHostController, + homeTitle: String, + products: List, + onWishClick: (ProductItem) -> Unit, + modifier: Modifier = Modifier +) { + NavHost( + navController = navController, + startDestination = MainRoute.Home(title = homeTitle), + modifier = modifier + ) { + composable { backStackEntry -> + // Type-safe Navigation으로 전달된 Home title 인자를 꺼냅니다. + val route = backStackEntry.toRoute() + HomeScreen( + title = route.title, + products = products, + onProductClick = { product -> + // 상품 id만 상세 route에 넘기고, 상세 화면에서는 현재 상품 목록에서 다시 조회합니다. + navController.navigate(MainRoute.ProductDetail(productId = product.id)) + } + ) + } + composable { + ShopScreen( + products = products, + onProductClick = { product -> + navController.navigate(MainRoute.ProductDetail(productId = product.id)) + }, + onWishClick = onWishClick + ) + } + composable { + WishListScreen( + products = products, + onProductClick = { product -> + navController.navigate(MainRoute.ProductDetail(productId = product.id)) + }, + onWishClick = onWishClick + ) + } + composable { + CartScreen( + onOrderClick = { + // 장바구니의 주문하기 버튼은 구매하기 탭으로 전환되어야 합니다. + navController.navigateToBottomTab(MainRouteName.SHOP, homeTitle) + } + ) + } + composable { + ProfileScreen() + } + composable { backStackEntry -> + val route = backStackEntry.toRoute() + ProductDetailScreen( + product = products.find { product -> product.id == route.productId }, + onBackClick = { navController.navigateUp() }, + onWishClick = onWishClick + ) + } + } +} + +fun NavController.navigateToBottomTab(routeName: String, homeTitle: String) { + when (routeName) { + MainRouteName.HOME -> navigateBottom(MainRoute.Home(title = homeTitle)) + MainRouteName.SHOP -> navigateBottom(MainRoute.Shop) + MainRouteName.WISH_LIST -> navigateBottom(MainRoute.WishList) + MainRouteName.CART -> navigateBottom(MainRoute.Cart) + MainRouteName.PROFILE -> navigateBottom(MainRoute.Profile) + } +} + +private fun NavController.navigateBottom(route: T) { + navigate(route) { + // 탭 전환 시 시작 destination까지만 남기고 각 탭의 상태는 가능한 복원합니다. + popUpTo(graph.findStartDestination().id) { + saveState = true + } + launchSingleTop = true + restoreState = true + } +} + +fun String?.currentBaseRoute(): String? { + return this + ?.substringBefore("/") + ?.substringBefore("?") +} diff --git a/Week08/Deku/app/src/main/java/com/example/deku/navigation/MainRoute.kt b/Week08/Deku/app/src/main/java/com/example/deku/navigation/MainRoute.kt new file mode 100644 index 0000000..adc7524 --- /dev/null +++ b/Week08/Deku/app/src/main/java/com/example/deku/navigation/MainRoute.kt @@ -0,0 +1,40 @@ +package com.example.deku.navigation + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +object MainRouteName { + const val HOME = "home" + const val SHOP = "shop" + const val WISH_LIST = "wish_list" + const val CART = "cart" + const val PROFILE = "profile" + const val PRODUCT_DETAIL = "product_detail" +} + +// 문자열 route 대신 Serializable 타입으로 목적지를 정의해 Navigation 인자 오타를 컴파일 단계에서 줄입니다. +sealed interface MainRoute { + @Serializable + @SerialName(MainRouteName.HOME) + data class Home(val title: String) : MainRoute + + @Serializable + @SerialName(MainRouteName.SHOP) + data object Shop : MainRoute + + @Serializable + @SerialName(MainRouteName.WISH_LIST) + data object WishList : MainRoute + + @Serializable + @SerialName(MainRouteName.CART) + data object Cart : MainRoute + + @Serializable + @SerialName(MainRouteName.PROFILE) + data object Profile : MainRoute + + @Serializable + @SerialName(MainRouteName.PRODUCT_DETAIL) + data class ProductDetail(val productId: Int) : MainRoute +} diff --git a/Week08/Deku/app/src/main/res/drawable/cart.xml b/Week08/Deku/app/src/main/res/drawable/cart.xml new file mode 100644 index 0000000..3b6e816 --- /dev/null +++ b/Week08/Deku/app/src/main/res/drawable/cart.xml @@ -0,0 +1,21 @@ + + + + + + + diff --git a/Week08/Deku/app/src/main/res/drawable/heart.xml b/Week08/Deku/app/src/main/res/drawable/heart.xml new file mode 100644 index 0000000..6597a4a --- /dev/null +++ b/Week08/Deku/app/src/main/res/drawable/heart.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/Week08/Deku/app/src/main/res/drawable/heart_filled.xml b/Week08/Deku/app/src/main/res/drawable/heart_filled.xml new file mode 100644 index 0000000..fd31096 --- /dev/null +++ b/Week08/Deku/app/src/main/res/drawable/heart_filled.xml @@ -0,0 +1,9 @@ + + + diff --git a/Week08/Deku/app/src/main/res/drawable/home.xml b/Week08/Deku/app/src/main/res/drawable/home.xml new file mode 100644 index 0000000..20cb4d6 --- /dev/null +++ b/Week08/Deku/app/src/main/res/drawable/home.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/Week08/Deku/app/src/main/res/drawable/ic_arrow_back.xml b/Week08/Deku/app/src/main/res/drawable/ic_arrow_back.xml new file mode 100644 index 0000000..ae8ecfa --- /dev/null +++ b/Week08/Deku/app/src/main/res/drawable/ic_arrow_back.xml @@ -0,0 +1,9 @@ + + + diff --git a/Week08/Deku/app/src/main/res/drawable/ic_launcher_background.xml b/Week08/Deku/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/Week08/Deku/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Week08/Deku/app/src/main/res/drawable/ic_launcher_foreground.xml b/Week08/Deku/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/Week08/Deku/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Week08/Deku/app/src/main/res/drawable/nike_item1.png b/Week08/Deku/app/src/main/res/drawable/nike_item1.png new file mode 100644 index 0000000000000000000000000000000000000000..cf18b6c347d5ecfa81b580aefd51e3bab43a94ae GIT binary patch literal 25860 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̪ z%d%&m7KND%W$j7j$*9ejI>3miV{Ex6UV;m!CW*d_J|V-8N=Kr(-2OaLCYqsKLaKA* zx5ZMnLMqc0ufY|Gy1}&|9entUvo`sc3-6?U7qw$I&{-$ZaMw^VU5kCm@l;~&U0#=& z-k`peg!+(Fe%vEx=A>b<)H`X1MaL4>qJQx^?N}bjLLWlO%ueKh-%CP!*HBKe{Pjdw z&Olwaav#XaTWVmjho^#^vtOu08CY;V5FY4y3aSqM`ENe*Z8-w;1a$FJs~4;Vs3U}A zu1&1&!n2Avt97h^2Ea*1cqEJXJhNK*F6aEeflXBLZg&`uC$qx;3jSXW(24xHBkM8kC z4N6RtNdK22vnJ!(x5@msbA4Q$Ni(_6Y%)JFDls@Fd3UWhq5XpMqt$yGdIBBZw#of4 zf@1Ait0H(*VapKRdx}1p7;WC!q%2Wp3IZXK2o91c(zvtRr76>*tssg9ON-D!#_(PI z!XGf`Rvv*LDLry)4&U}GqsG?(Z*o~71VWKm76dqnEKB1aiq487HxM}J63%yg!W(yv z61*AHEES%f4)VqxE!2=&QYCDR%E)Fkb&;$6&7Kedp01#Wu;6t5uVs>IW8RF#yy24; zVud$1U&AY#{?rDJhc?M%2Mbejf{Gs^bOM;%t1I=g)Y>bJ!_`T`ZPnR1b{@0Ebvs|dUsd~HsQxX~);o?znh zW~30meENvUD%z}-KzQF+B^fX>J`fO3CCVv}uZky`+2V|T-hhNEOPM!LDngI^MhrcF z9NnljsPwWb7mLV{Q}%)m$Di#^;H={}avx0YqCLwt4K>X0_$xV8FUpAs zJ}gzjg}PQ`ZLrO|S?_8^{+RrzStz<4-0e-0RjLgV-Dx}l?~YqxO@dXnF~dkFnwe>y zo;hXYhkTuenN2H*jDTtWV0#ouj^sqjr>cD!mvH?UAi^%?c*h zBRWlNAWyy}bgL~KlXAHoRf;8@@Q++DE@M|JU5~qfLQ{`XIZqTg_Yd)L1 za+l^QBHd9ZXqhUesGQxr+M~R#2_|?(gXd7Ia;=@FKCW!yGyY2BfcD{vBKYu~(FdD3 zfq$}H{CF8SSfep_#N{`CF>7)tepV`dd)&y)ftW-rWWL>Xb^Y^`B(z;Jri7cKGeiOhxS5Z z?$D?V8Qk)kc(&LN{LU1YJpD*)G6nJHc=iOS9j(#n(v0R+GQ925?Z2G!CRD-;1?XW* zLD!x!0kJXP(wN9cT^g{BQeip42^*m+KC$KtPZ%D5>lq9}h1TG!59c%5>f)6dKhuMd zT|3+@qZkPlj3Yu1XB`5t6xPGRC}Vk05`^J^O)*v2QgHP(1~r*-_gk<12^;*Qbs zm%N7qMeWR*P0?Ln&J>I5B7B~#XhcjZ(rUjYq$?{HCb-yYm9W!1D=2bbbP2mRy4ULQ zerM&su4`b4gY||MMrp8My-Mlk7DJmyqNPZoyLYV;)_U4w)lZq}Fs28m+Gv63O@bv6 z#GRT^DpvO<7>hHGUO0hywKhkqom;TlppjL;z{~}^&3~WrJddm)7C2J_q?sUR&o?#} zUmr`NFF5)82cM66-C8*lf|T`2V>kK9*SEGQqwraP6dY@P93JNm-HG;mirx$ex-A!jj5RduNu$bwcg7MDNyHiLA+0dJg&VFmR z)bzTLz~sJ50h>+%c%tIB<1a{(=JX)%>4{3BfC2v}@tA(M%kCO?H~X+$1M^`g14b)% zhSUa&VOj=hB3vj|a-*e@%6wuJ$(y&mVW5J3D-i;7YHW9R8t(3u`F1pX*cB{DI1&z@ z6xE7kA+0N?BK>?$?KB*s##px#e-Nz`qriUN*b2zYVdX;2He?4fOj}KSJ7xKSeRJKp zG5j9KX~a2sTi(g2i*DLdz$T99xRyq+$`rT~lD(s$bz$v9oKe(Dum7=5Kk}5CzzI_a z$5lY2@C?TocZ-n~yG6)&9F7UO$k(pGBnC@mjOl}ZG6&X<4QM$0{@_fS=j$G z#oM3h!m^?*npQ8eRcXj!I0>ns84haOh(}}43M0F*SVgjQ5)S%^41&#f{Ef#)lZMe2 zMle6@#A*CiS$adW*#3rqkctPbuaQWDb|cMe=$+kBtBa-ozn0rSZw?hh84fmLeG7mY&t?)rr*Q?yM z3X#hUXHX4bCR`WwUj?MKti)8fB|Bd?a-fUcMHkdmuN!MeX20mw)0;~c8CJu6Hbvbx z_mjRh88szQy|C9&{&(Qo@;N8b9Bh(=7EkC?ret^*7ms{34t@a_8U2zb4GA6Ti-Psz zU<)sfW%3z0`i3=jH9-JNV>heTw$_@=kA-oF43R=wZ*5tya&m9O)?~^k0yY)9?P)6j zPI1?ZId()pf|hO|yNYq6EFyoYb2nSClo@qBF-mm3GgK9p`Pu~#M+ZOZjd~DU6lw~w zKbTweY`L&Uc$lCq*4?Jfk7d$hM}MEwzovbSKjYa1Z3CRq+-}j}6B2E5evXi(O;~)S@W}xXH zP0Rkk?-04aX~5bvt&u{IiUV$y8s|f0n_T5TidY3!a{yH2M(&v~6N0c`2g4!aAKqFh zn+KuYg5-bAqL_XLr(2k{f5&=rXEZLM=HCom&F(*k0k-A|)%H(|wIorT^>z~&T?DB~ zH8eJ9S(u(gVz+@;%FTu&Lr`5mBq$^}L5^=Iw3n|VzGyR91&{OX)v%DLgVPjVVj zS1E)Y2zg=A37XyBNQPTMIoWfNxu($9ihO+g!S#NOj#6O82diw6xyq)BtnPPuusKUH z1*R_AXA*%}p<`WJc4dYNr@Tn|PYvl3_?zH?JV{8=k#E{!)5WMYDf zpn!^;&T9(liV8m{h_N$^^hWLMN<9O&`Qfx~L%U^R@n63Ylp0>z zVY6t`w@w#wz&f=f%7~eh|BSF#W)XlRDp#D+=EZnQks13(YGvo!6Iu76_hI&z)S};} zKH60k(F`R+q1R_fh{Y2*TJ$y%+8ga7Ya1%DlcO~hEmNxe)-bxK$WQhwF2fD4}%K9uQD(KKhcc4jF?unL$6%*RK0Sw|f-WC=z z#3)uQ%vy}`bSngBTxkM|xWcD@G+rW#uZ(B@)|2f5tKY2GBETMHn--$$bgHP~>{KrXS1s+$%OB()&5_!ekT}PtZz>(}~BMJ~r35p%d(gh`Jpz@SkD-A>6H~rYq z7@YKU>OAe!`XH^2OJk9kQjN(SGn5HBlj=A@NP>)f$yRAD^c|D0gE-8*i z#v3Ba+YB+fw5JX<+j&9m?2#N+`1|Qsm-6$DapbVsG39e`x8&2I`u|2wFw7CwsbsLn z%SC;eqH#@D?r^nv=$2~AqkJ!HaXe)5lySU`x)t-{VXSv0 zdnCSNesLHic=}Qn-zvUcSBv$erPYO}6wI+f3;Aq5FV@8IAmZTQtGJSW_o*P472t+N z*=I}Ml(EHZy+~Dc!?HM4iB4!mZ+R}X@l7F_H)kd{HCnc-EcUJB4%P<$g-D2#3i07$MMsahov-7bO65;B0F!elsco{rAuOW|5SNs(p9~P*w%?Dn z4C~z?z7xZVBF^6BY}CL046tC#ACE#+6n|rRk_wji=vf%`8c2tmSczJ}HSxCn%*FSF z4W@EbLr2f+GH&sGNjSAJi;mjQ131*G%P>iblq$t-tJ)N&B~>+!2-WIawV=w^p>BS& zzPRZMV#@^wvCO?X%Ga@KG&1(SOw6waJhS}NKB=^ncOeNq85bb1lXt;|@XnFza@tg^ zEgAHH_h)J~iM0^zy?QEd;E!m3lnnLj}s{K$y} zjKq?kaW^;ZY4tCCK{E05)hd}kdk%ZGXvgy7WF#}Eo!?n9MRJvAj!<9EU7Vpb{vj(x zQ>wDQ)N4+qC!d*|p0}mQxc@wymQRDvr{avcm)(kLpv6P6k9_FGS_v6&Uh{?xJv#O_ zZ+Iwu;1&AisK~E=1O;`n?+`OaN3WDhV%kG$&WLEdKH}a+f8B)t0v6J~WzRL5YCG?g zt?u|Yrn8ECgWM^`FE)&079Sz}>Y*8SZiSC{n5v( z+W3IbjWp||UXsqIJyEx#k)&Wu1_?O|mlxCaM`Hh-7GVC#=xs>?&CI9jPSq*Do%9?| za(mRL@e{F$smU3bC5E;!66WMsb-VPdcCqjTHIhk$q&wibUhi<5E4!GLPS%yN<3sA? zWv?U@5g{mX_-N85PRIDKC+LiS->hfh_$3?I7LD0ZXV`>O8c~Qr)^imt=W=sK(du>KKOz}x z=Z4CS^y?AhWmA$^R%wDMD^&45sp}uhNCwLBK5GH%0ye^ruNB@j-ga{~-NI+<#hoU{ zUpL}?y|746APKm#bb;#p+nh$~xSfqZSeh%bg2R%k+nPSQ7W!S_m=;b2{L@avRq(3R zj(OmEIqfP?4?uV;CZo#q(g)+bT;x7hUpc=ZOzTPBbHR!6VvlUJA9A0UsAfQ2S7-vk zcRT=SOzpMg)8$L#^U=l=(MMlB>#dQqk?`tszn5~i$NsOfyCx~8Jp(TYuIEGv#P~}$ z&MS>syYY1M!tt~-#5E%m8dmzD52@`X?d2hNI`{D+m&K2)Ty`O?>rwT-(NtK` z_eO#)`i*1H`3qv|Il1$1SQq{tk*_jycD2MyTW(2OK(Bk>)_5Cb$nBO9+S%%a=tWc4 z4Tp%&PGEnZ#iWV%oi(ZF_`t#^J^P^p)a(D;u&l)13$aA!YvXmA%T8r-9cb9p*&-ws z|E=u^w#5yY*~%}gnJZOuV6Sly%e^1sG*hZMA|AiirJky9ZXCCJJN8u0#wO#H8S-&W z6Q$h zJ~9dlby93BB#l`&Z|=VrUkbKm*;xnSL!n7$-Ta#b-+&ZIgbIWKpAQSyS~ZemZGRaS zRFr65>()0$TelviAw~P3_K;s+(x`835FV*q*o$&8|NN5ZAcdU`Qf7&kZQKlWOLJ|> z=8~rD$7S_gx&vD+E~L@@TX%z!$0=sB78-(J8LM(Ro>5>D-VB@Blr&O=^twJVYv5A) z(nI#mp$9m~Brz_qHw4+nnK_2MQ9oLn%}OL-U0qB7Z-Ljq^j>e)ryLT!jumHb@L|an z#ngGJB8(tkaO?b(BX61PyuQuhm{+F4_~*PI$?kZCM>92Hz)||Aw$06D;&1YL>rqy*nM!P0i<7 zc6$}iF~T)7{(6jIRCY{^VpLKc-&ibhuI#?i_=V-yCidGptGj8;()j;T?7{@D#G;BY zX?>HSTc>q+D9&La5>-iSKc`~%9vp+e5=KoZw=AH#V;_CHalQsO&HajPFz-N*bq|Ax z2i7i+dWww>=Az?u8pN)tSZsW@7;D-$SJzno&ztYa;pTqZgfas6x%9uY0+FS6TMbmY zC?@5f*)rnw55dJ7j7N=Q?}H@a)>#pPy1$@*PZ9cQj;{er@$Rq2_5Z7Ig-I8uY;8$9 zTz@q8f5^)Nyc3Wo+QoU~P8CV#mZXl43On!9f4_X=2>)Hjk^j0bqxIE>>)~DTdW7@; zzxdhq*~@Q87haR<3)d43iY zO?;OAUNg$jQU| zw+Zynkd*+`%@CdaGoWn5mBj&o#ze#qGw6Rdil?-$r>2Xwr;nMt6+p($#>uRpF~b4? z5HXRL64&wtUIxIY5g&OS*M6^m*0#TtlapYC&;x}vAdm3CAgzfQO9(yXx#d}ge9%+WH|hA7C3jqJS?YmH6%%k8gx zu7j%2gQw#T7_eWrbD2hQQE!?Ji^_q=#l_?kCtd^4MY%aSww9JsUogQq&tjrFLf~0*U$^Y^dZQ*6|(IAPX(3XOs`etOT%Qbab>TQG9c4jjkVZ>*bkq zR!CA&*x00tfB!HJF5TlifR@OD;dw^F0Gw6nvq=WOp-BIC_<@7NT_J|-wA zSd||XlP*UijTZKRkjqM0YOw?^^rLieL%rdo8!@Bwh1~n?76yg_s+oE8zwF1F$AFKo zuC8#9jTyfEY^{yAzIk8l?pohrQI|DfJo3}nrQA;wsQ+6WkoK<09NfeU|y5t!SQW&Flc*>3FC`QfzZDjHtX ziQ3q_zOXQbwJ#3iqvWt!TPh>6v;K3~VG&hjlKkU&7%_L}cb>hX{JiB)D*Uo1`4FwTCBu(o`GR@uErh-B}*?SA@g1KCHR1L2`x0MYOsJ?q=2K`XgcEm{t-=U z8<(B*Q=|A+LcZl=CSMQ=U^V}neJTIP^$nQJ$p3NKbGv(2xqZt$78Ep-=ci?M)50OT zv$iybDK75OmPL2$L52}4FZkO+Myl<3PyB?eP`_{h@&hT#jv2}p%Ll!+-D`pCxT(V^*%NiuB9{$uk5;$qFqjc>z>wot3 zeqFiU?X$>qJOL!K9pmwqNlx=>i*oyz+cWhw{_e;4`A{i(RDS+I74HY?Pe@UA5*{O9 zTm=DCQhUBx(pZi>;F}w3DPVuUm>)emn^yJkbWfTw_)a4HzTd26X8Nr}3_$p;VF)+N zEL%Ks{YggaK3SI3O0dVo@fP|XR}EG(($r`MCpdxx4-YV5W%b>A66gEd`pKz}OIP%W zUNve${6ZCuOK86e1R5gSE4I2E)4cAlOeVdlr#p0SBEp~5&AGw5iisk3e7#Ng*yo~K zirYquXXk(Fim@j%G+71H28j}88|5K4*b*qcx%x+GrdZxyTms@|_)m!5x^rDBP=j80 zU$2dphMzv-3eGS-_!r6j`BF=JN{FtmQ?(t!20mQ=dea6xl>RlQIq_{2Q_Nr~rbfga z58&6PNr!#;LuTz`uIKD*Z+%}vaXbu(DkS&KsnYAL6j?$>w zCJ=8<1ApOEJyiUU)Yp@e&Hk&t?zDm2z9}HIbu5z$mGxPCS>sdAotGr4v*Zl3b+t?b zvMC^17Y-J`LI{7{41VPMpO(b3l!$&V{v{`R+4+Qh(I)1C`o3b^l;GXd6H4k#2G;wr z%|AlNh@<)&Vs=B=|G7y9mG5msdU(ER(j)Pu04e`2`qb%Wk!*b*vS+_o zoH3Xi&t@9QzM-@?UZ>tzS@r8&{`*Cv?Aca0;#qUyClhx&PwYMZ5YfwjvpkKID>FpT zv!uSDuebWY`V_f^ABVK3-wUuzmBD_Hn7Zg>MI^gk%bV*Wq}YN%QBK=N-Op^zW3I9c zmw$SUEi@pvEW+8p=o{!cRJy&d%Ip>^V(Wo1S|da4)kFOUB>4)rG!yhVpzh#SdJ-xU zoEA)5Ha>q>I#`&us^(HncX_ndt+)NjhkMu{71Gz6_n97P;6Vk(s}GvNap!$~Bc`}OZfnzvRg3Wc`}Tg07an3b10IbOc+!!v9p7mGi@oABJS5< zb~@ZBop$>|iL3oe!XqOie6>-etDi}(EG90X$B%Zp9qK`i<*m`g6FP0Jt88qr)aZ!n z6YibA37jL=7Wp`*?6t0kYPu|7zO&4J_|nUk)_g{9oVJU8vA>;*ex=$Db$Xn{d@t)c=CfH@dtSne|(=>QMD_aoI?!%h3+Yd?9;8>!zFOY;>7? z2!F5u;$h*Z*SEH!;xNpR2?%q!^+!$roS&y$>*Z5Z#2*|;znw*NpYBAGl<_woH}Sg_ zu)!~GcE4W7FD*gvva8nj+#v`i8cq2L7m|>q?IaXc= z{PnIlUW3y0XK!t7Q_$`A-)ITz%43MP-5nJMmU@H%k)KXZ|D*KuyrC1mJ*3fZ*fZ4c zc@gTo;;S1|?IfbcVxZXyuhwzn^2VvRW>c>~QAWL4rPDh>|G@)55d(UDM!w^(0jJIE zQK>C*`js)Zz@ej|Nb4#EA^|zJ3;l1^f0Y?^>WZrCdi75SnzBe86Pw^esEN+;CwWM| z+MHMyp>YktsaA6CngkrfNb4);zUd5PFuukyGz3-))7jjyB)+G(4;Y%UxV2_UJ}r%< zo8(m;%snw#N-`cBmXY8fP#a6rbZ_D`N7$Z^qkp(g?-_)Ci)-`?4WN!8EXF{3Ot~fM zcsfV<#H1kxX#7Akk&UJJL&BPrgoQ*)&|&1HASfZf%cFeXdbVJ@CVoa8uqXJD%~CN^ z@Z(PYtJP&b677-`@b#xqqA_`F2S9A>#1XX{uRZ8%yq<5m^uz|vkyzqoxIx}n~g7p#@fG+P>|*L z-qa786ZsX|w6|hGGD$O8b}SENOlTpzwaQwt20mpY7I2MPPpS0t(pSMX`GLN z9w((P-{KKI8sBURkrSou1Jj=LO6Y=(}j z?C%m&cvz6xAf+uN5DuWi7a{0#T|#o4l-SS)_43~ojCkIB7}bUW4HaZP)m~MU3FvQ< z=+4}n)OF{V!1+Nsq*x-p?jOC$4C>HEvCAF~vC!W=>XB>;SHU?r$x3$=p^f0D2e`Wp zzb#eK*663}t8yD---NHP>prs7re|>Aco>q0K!KbsW`U=!S4fJIT#ZOay)yE2i_<7h zC+W*f6`*5v4>M|Gq8PFx#6}E&9d$ec8F)87y8e;HEVkBh3*YsY;}HJTRAOek^7`*< z!|8Bmvv&2l(%v^sIDM)K<9xo0a9D3D?fR)CH=c=|5=)L*4Z?RjX0bVy9 zP1=o2Wov+$7!fSG*VzekoYl~G0lUQejaQf3s;s>?DK8W*#_a{i(*>gkO!8{yi-oUT ziC*-V$6}hviQ0Ha^6Fu=#0p&Bn&{=7TmU9nKNt9F4I4vdvPDfaB1-8)wjg_C09P{f z$He6d_)CR3sJh3s6U6g_8dYMm{Wl>(Ya9+>)WAK-DU;{el|c?v@a0Z_;?;h`+X!tz zkwaZq#7@BWqqzevA~bZF>#nrO4v4P|4M5aFAhy2D%^a=v`w-Oj=Z~f_{@!SZn6!D1 z^k_V7RY$fvn-U5UYJIU5!heGLrbQ~O%{)lvWgE^LJ=v5$sok|w z7MqEs<=$i{8?bXpUG+M0TAY-}2W6}n;NkY$PZ?|(6^ zw&euGH{LdN;PU7E2%I3q*;@x7lZb!>Cr~gle%SJ40eo#6lFe94c`&-5HdI@(70;lo zRu@XRHrx9inZF+<%brF&_hqgabtOP@a1Pg9+SKAGhUL+N<+zz+&;b!wS1LeWM`s=_ zYC^Q2K|C&a`XVJ$wV7x++P=+U%=*@HJx5*8oDw>>vII~7P^V&k3MPqK(ZN*0EOt*R zEy2_=;E2SybhKN9`qZqawfhqA}Lwgw1I?*3UA9OG;jJf=HquEhvr~sm+G+I z<-~~G^8EaWd zNjh{H+nM>~5TOSkJGsEAnoGZsmK4S99+?r5cO=f&$BBrn;#%P6G@%QY^4g}4ZVPG) zhAvc=0QSm`W8mEc8yJ*G4F}nvCkDyS6d;5Tpj+$8QbMyhxPfE>2-zY7+01_M$cvNX zAXspmrTHY%^f*In2$;orjW2}p`9M0n;P9w6D3~4vV+!%`P^d7_;3b4|0hCzchG%T7 z)AK?TjT6|w`C?5Cb0j9H`kFN6@d*2uK}>sJC%?nmD$*YPDQ4{?u+!sfv!v@BqTh9<=}}h zUC+w0*xp_o!U{P+4hOxL!oz3rr9!?EN`%_nQ>x8CYno4HFsD%7MFzb@LOdAxdpDLY z)A5k~vfr6VKzF8l(HGKkvK}W$y_B6#_`o9dy#c<>6Z_0nihkNLYndvO4ksJ9zjgyG z%dm8*872p7;ZP0bxg7Dr@MBn0?n7yy66<)llZAB;;<&$2V%Q*iv#w!DQOjmq;U8Q} zP%5x{;PDw4R!7AogbYam!EFEiOUPJa9AJZFitqR!NzU2;>@$`1zsQP?re{WVYcY(Q z=+=Uio7MFoYu>Kt5T>Bl^a(+axgs#c?hRK7FX-+lflepB zHpnKL#F;Ql27+Q|b}n}MKv9lKhb^?Trgh_4%+URkf4LfjFNN?>AfD(s9G$WxK*Kb~ zF9!1BOUMsOGq7^mTUg9MXWwQ2EIp1J3zPLqSvXk?qL63S)KZZ z>RNZ(tLI_uO68fAQEw=J&xfXCuFoFViyUak-hBAJ`&Xpae2&GiLoJUucE)aBv)cNm zQ8V3xpVE~lxn7-q6hil5_vJP-@ae1sfQQmay3qJq8@tC;ITSdZ87#RlrHR@E5zOr*Py(R z(5SPlk_AF>2?QRVOImpChyB-hVv(w?%XmC$Gm}THz9U^HvIzMBWj?dK+W+O%^%e2Q zi~a=GGTwU5K}uqTeCk*zm%i4VjTE0x!NBB4bb%>~|MOJ6c67-{0b5>&v@5E)Z;CWIK; zs3QopR8nwpf{^YZ0rfBqbwX`sIy?+H#?3kAdu!~CjZI&xe?LqtQwF5+6xQ{&`Ln$- znSlrpbEer}Bdh)5L3gx46u|6Kq`h=T9Sw_S`-YWcnvGGE{luUT3p?#NvC&^v)waWT z+7Ert0ic;|L4yr+($mZI?-Qj;d;zmod@xSa`;jBoYr@i zOmIJ^sOBKdm8ZE+FpgpKCe>GtJ9z%kl0*=FIom5b`eY#pz`I4vvD1s2-|c0^BWY!k z*VZc6fh9ge=DcahWt{av@R_#z}H%kYt>c0x`$EdxpK zz6c9eL6<;hF?KPFGp$WeE+8fe-Y@e8!QUgaybF`8E|uZ2I2yFgWG^Il0?t^S5D|QFAk;9vYtUYZ4k|SK77>w%0Nu-mdD zYg;RvOI+H@=lipKl6lD;Yf=~hv&4I|&B+4CCK&M%Qg=B(Ap!QvGevo8bBIVvxVDsm zvX(F80QMY(Od1K0W@um#>w3H5OX|&)0Dp~!ReaFrL^ma;L_Sc@`us9qA^%qT0+ z2M*Awm)@;EwHcU~J!5dJh|SJE=2g<3VF0OeZ937nBy|PD5i~{;Gd93T4oWU9&P%fP zK44t3URR=ijzrr2-T7<@81;U`hV1^$d(Zr5SBdxY$wkwmFZt_r#UPxMMf!+}3%S9o z`54bS*8_!|3mgIj3uGON`MV7+3_w&LsBN*@=d9<6e(n^B>p{7dSwd9xD z>l09}bg9G=bsaKq!5(m$!=8i%z;js3b0gzLoIxcuPVO??8U2P5$1?_B6RCayvEiY; z8FHR_t^oDWjng~P8&GA#JsSp)invn{Ex5)lzR5y8f1v@LIEUt# z3#%L>Mb(1sdm0RT_Q749z2cC3AQ4L;0OtV_3_+xtr=*0^XBH)rabZ2IFC20q>U(BZ zr!Py!cRRt@ZTt1{su39OmVKGs8g#%%$g^q+-*nWV2zkc}kWmi#MdjW2hJgKq-Zpld z!D@0$QG@N~Yo=gZq9vyj0do)jP5=>?#g!!|*9MWq4u7lf8BC*zmNRN5NNXDyTh1s} z?J#>or$?N~4sEWSqEJx0)un*o`dmylp`JFW61E4$H`geYrotCv4tv4JPg94<#msQC zI{<7o$JhU2^5U4j=j8+|AqjEC(h!Kvr63W<-vDm)0GnXyX}s5pA}RZgDUyn00(yfN z1pm(7-guH9H{xfJ$TljBhD+9$htDGKyg`b8)@gz^H+L#(#Kq*lT8I(78@c}g=RC73 z2v$lrcGC1EL`Wuj8fqx$;df%D@_%OQ(V#him%1d-Eu?2>WZ)#+Ybl!zKx;Iq_#PbB@t^ zI*_z*FjU-s?;oKba7`tUog)$^Baao@S;nKBoRRiFaldJz?8G%?&y9FfCnP(@lUp;u z;`qYLa-h4*z`($k4eRBED&gm<=abJ_5^%W4(Me#Io-~ESz4^=Avm%z3{?;Qbw;}h2 z#7KyY4g(=kq&Fe7a?zrTLHq5vEgV4=9dZEDC3zUwPp-@!19)lYlwg)mgX8c;)nFz< zd8s=0&39q370hA}Auf}n+SR1>s>}kUg2QN6_uQjm*7tr5(7UlM`qP~p{t5E?!;|AP zL)7)b>{2Y@m*>7(@VlbJM>Cd7xy$mHRCDNBDg-##JfRU7tVhL!; zOG^X-*t{HHBeRebB-19}#HN5PANByWZdN2tYIx47aqZ@Bf~g9z1N2h2665LCXJyex zE(lL*VtL3ue}0va@y=nYBePy+Q3qxV+OQOssxD|SYx5aIyJ*XgLgYz#L~8JkKMT%K zJAA`o(*s$Ar@-S^e*1MxtpliQ(47sosl?9KcU2k>2!9H^9nQ3U+RFAkI&vv>;~8|n zJzTU>?Tn^ap09}?a3?a8MUcP8+l2GK)y46s`vzO$Tr%xJMYgm+&0D<xWB^#&dPyJB)*T5-*caPDcK!%B=G!y0JF^yDLgt2hi#!nB|{n8$KfVPpm|fKQ0W zM=>wMS17z#DgPyh;0$eI̢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 literal 0 HcmV?d00001 diff --git a/Week08/Deku/app/src/main/res/drawable/nike_item3.png b/Week08/Deku/app/src/main/res/drawable/nike_item3.png new file mode 100644 index 0000000000000000000000000000000000000000..d2791e496f468f769924691a2e59a4b9f7936426 GIT binary patch literal 16435 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 PA0R8KC{ZhB5cGcleP^0e literal 0 HcmV?d00001 diff --git a/Week08/Deku/app/src/main/res/drawable/nike_item4.png b/Week08/Deku/app/src/main/res/drawable/nike_item4.png new file mode 100644 index 0000000000000000000000000000000000000000..1dea905f21cc4156f87bc621f32376582c0df9d7 GIT binary patch literal 45867 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 literal 0 HcmV?d00001 diff --git a/Week08/Deku/app/src/main/res/drawable/nike_item5.png b/Week08/Deku/app/src/main/res/drawable/nike_item5.png new file mode 100644 index 0000000000000000000000000000000000000000..93bca59f23b90159ed9f196503af226ff726bd76 GIT binary patch literal 23125 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 literal 0 HcmV?d00001 diff --git a/Week08/Deku/app/src/main/res/drawable/nike_item6.png b/Week08/Deku/app/src/main/res/drawable/nike_item6.png new file mode 100644 index 0000000000000000000000000000000000000000..21fa5d1c321b9ea2ab9f4b7325c1e0f97d613238 GIT binary patch literal 37665 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 P#d(%ycBVCudvX5-Yh9j5 literal 0 HcmV?d00001 diff --git a/Week08/Deku/app/src/main/res/drawable/nike_logo.png b/Week08/Deku/app/src/main/res/drawable/nike_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d73dd962356bd4666c6639307563dc2b2bddeec6 GIT binary patch literal 1027 zcmeAS@N?(olHy`uVBq!ia0vp^4?&oN8Ax*GDtQ2@>Hwb*S0MfW|Nr&t*B?KA{PE+* z7cXA?`Sa(LDN_y~KAe$}QCL{`;lqcOD_1^v@Zj6GZ_dunv9Yn*+S+YxZ5|#T3l=Ph zh={m-`?j8*p1i!gu(0r+J$o))x@2o>TVG$lZQHifr%y{sN%i&hRa8`%nwt9g`K6?! zL`6l-nl+1;m)BEsaW(@3v$Lm*V@SoEx3@Br7dh}WJnUPfanIxGquMRs{{KJp^?iObVEK6ip`5h>JQ}$em`@6f+>1Ce{^R}E>eCAe} zd)i$Qx92mZI^L>y`!1Pw&1lnXFU{~5-(r2HYH$1IJ-PYz?kU$d?`KWk5*q5CxIKTx z>bJ`?X3UG~S|^|U=1ktzm5KF=(l3RUe+k=Y6#cfkGHb&$zGrcZJdShRSUcPH>jlfs z756Ua36P2+U=7aG5ZJm`+c^jbL$-Q6sBI$ zH@!dquVYc^Q}g``Vhv`Nt+KZ}`lWb(Vtm?~)oTU4RxJG8KKZZNy2n3H@Tb-~Y8*{(I~KZllD3Z6N1>h;s#?}UWwQcthyI@mJLPx0$i z)2Zi`K2DDDuMGa_Q*{6EDK_CwPb^dr!-t^x8~PfERlBmEpD=3BI>>Av3;*h zJ{QDKHDB|2_10;{Nwv3c)k!Wb=&}u*eQp1z-G4uRs?0wp^HZLCTIQyE5{G}=8@BBY uJ1loK<5}c_qght5fA=lp! + + + + + + diff --git a/Week08/Deku/app/src/main/res/drawable/shop.xml b/Week08/Deku/app/src/main/res/drawable/shop.xml new file mode 100644 index 0000000..483d117 --- /dev/null +++ b/Week08/Deku/app/src/main/res/drawable/shop.xml @@ -0,0 +1,38 @@ + + + + + + + + + diff --git a/Week08/Deku/app/src/main/res/drawable/splash_logo.png b/Week08/Deku/app/src/main/res/drawable/splash_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d6215d10a92951f597a971648ddf9c5d6ec68c1d GIT binary patch literal 2058 zcmV+l2=(`gP)gww9^78if_PDsX!NI}d;o-!@#Pjp>l$4ay)6?DE-JYJFNJvP`%*?2$ zsB3F$PEJmFd3kYhagL6TBqSsV2nejKtUEh9h=_=@v$IxKRxd9vV`F0$78W@>3Xs{5P(k*P$*Wx ztx~B=?Psg^e}6}XR@4NtOg7;CZ!*k-li4!-_a6^l!1c2ZQC=3hC1@*0SGNSV6NFq= zV|s!Xq*Zu>{U+o3zd)?~bJRnq#|%m7&D zkIO=-_&N<{7>&zXM@vyNbLHxfE`|R%jU~9mNp~D!Le9l?u`Wr85G(&OWV$*Y+y1$vLS0c=bx+)XJ6W+T`dQ0Hvg0jH)=^u#2H3MlCJN}j0A7y5AQDXIhVMTAvi&Lc*^!-fy~WdxQ`ov z17qU|vPre?cw;2l@UHH+YqB?g_Sh+vj?h%5nYj`^?AX*ir5~==)N1GMMrFW#*s_@i zY+RX&d1RZ&^JZ>5x>e0PU|(+?U{rjlsSE8N_ia{g-s{gvId%f_f~I>OjXXk$nvE6U zhct209cs+X1@C$DW;C*T@q*zvEl^};u6#Ui4_$9jkJB5m9H+lXNdc2cFapT;rlj)R z0Y=A2r0JbqN}LE5-#uoDlkONx51JmpW{fP&RMMp#vCNf6?IWxlst$KRoOo4JPpaSq z+BZW5*47}TUJx;Yge^|G1F$`h0m5ryleO`(IiUlL3iW2@N=gvN7T?AT_v{{fiRDPs zzZ(-n<=EiQ`@?7_qIDH1U?N1X*Z4N#Uh+X#Pa>lr1xzF+N;T3aR6VZ=Uz}9tM`A&n z0~KQWo`xsE^SaS)hii+;fdd4FQGIygX5)2I^(K=K{|oZI{HeK=4P-w zl|#xH<=nX0d<&v>bTA?P{aAXv$CxA5AM6Ev#~Ul%W+tcFKQLm{gdZ=cI>4xSPYto4 zuQh_|em$HZ;i+tp*qCEJ>pGSrox-t~tgBfVl!xloN~=pUcR;+1$H&pEPDM=Z^#L92 z2YxJ?ig^NRAORGFw0s%m7m?#gAjeJsY#;#`G^I+F-A<&t?Lv$Vy!S%P4&R~3z47j* zQGsEanaMd($*y2X=*wUa=dqW8zbOoYQ-2#P7hkRv!j%mYCYqU?e!cKH(y|L03-<#;mc z4}IsiZsIt8FdSs7&6p`n5X3GslLHpd{H)){yElL)M`rBtX3F>)GzE)I-b@*CprM8O&~U~!tAB%^iV@s0Ser5%)c{nMM=Wo82S#1m%=V^ta5%4lGjg=Q=^Y$L zfxT&Ij-U>T5v^i$W`+dUzzv7$8YUd~8ZNZtIn%;RWoj$v{ z|C;r+eqXgQ#7qrPo1}AO;P9zFZu5Cqgk3HS94CyX#Bq~9yGasy-Ek@pcbG==kMZv9 oZHt!6&!6346(wQdb~+d1f1vMg8*NuVE&u=k07*qoM6N<$f@pEr%m4rY literal 0 HcmV?d00001 diff --git a/Week08/Deku/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/Week08/Deku/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/Week08/Deku/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Week08/Deku/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/Week08/Deku/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/Week08/Deku/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Week08/Deku/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/Week08/Deku/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..c209e78ecd372343283f4157dcfd918ec5165bb3 GIT binary patch literal 1404 zcmV-?1%vuhNk&F=1pok7MM6+kP&il$0000G0000-002h-06|PpNX!5L00Dqw+t%{r zzW2vH!KF=w&cMnnN@{whkTw+#mAh0SV?YL=)3MimFYCWp#fpdtz~8$hD5VPuQgtcN zXl<@<#Cme5f5yr2h%@8TWh?)bSK`O z^Z@d={gn7J{iyxL_y_%J|L>ep{dUxUP8a{byupH&!UNR*OutO~0{*T4q5R6@ApLF! z5{w?Z150gC7#>(VHFJZ-^6O@PYp{t!jH(_Z*nzTK4 zkc{fLE4Q3|mA2`CWQ3{8;gxGizgM!zccbdQoOLZc8hThi-IhN90RFT|zlxh3Ty&VG z?Fe{#9RrRnxzsu|Lg2ddugg7k%>0JeD+{XZ7>Z~{=|M+sh1MF7~ zz>To~`~LVQe1nNoR-gEzkpe{Ak^7{{ZBk2i_<+`Bq<^GB!RYG+z)h;Y3+<{zlMUYd zrd*W4w&jZ0%kBuDZ1EW&KLpyR7r2=}fF2%0VwHM4pUs}ZI2egi#DRMYZPek*^H9YK zay4Iy3WXFG(F14xYsoDA|KXgGc5%2DhmQ1gFCkrgHBm!lXG8I5h*uf{rn48Z!_@ z4Bk6TJAB2CKYqPjiX&mWoW>OPFGd$wqroa($ne7EUK;#3VYkXaew%Kh^3OrMhtjYN?XEoY`tRPQsAkH-DSL^QqyN0>^ zmC>{#F14jz4GeW{pJoRpLFa_*GI{?T93^rX7SPQgT@LbLqpNA}<@2wH;q493)G=1Y z#-sCiRNX~qf3KgiFzB3I>4Z%AfS(3$`-aMIBU+6?gbgDb!)L~A)je+;fR0jWLL-Fu z4)P{c7{B4Hp91&%??2$v9iRSFnuckHUm}or9seH6 z>%NbT+5*@L5(I9j@06@(!{ZI?U0=pKn8uwIg&L{JV14+8s2hnvbRrU|hZCd}IJu7*;;ECgO%8_*W Kmw_-CKmY()leWbG literal 0 HcmV?d00001 diff --git a/Week08/Deku/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/Week08/Deku/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..b2dfe3d1ba5cf3ee31b3ecc1ced89044a1f3b7a9 GIT binary patch literal 2898 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 literal 0 HcmV?d00001 diff --git a/Week08/Deku/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/Week08/Deku/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..4f0f1d64e58ba64d180ce43ee13bf9a17835fbca GIT binary patch literal 982 zcmV;{11bDcNk&G_0{{S5MM6+kP&il$0000G0000l001ul06|PpNU8t;00Dqo+t#w^ z^1csucXz7-Qrhzl9HuHB%l>&>1tG2^vb*E&k^T3$FG1eQZ51g$uv4V+kI`0<^1Z@N zk?Jjh$olyC%l>)Xq;7!>{iBj&BjJ`P&$fsCfpve_epJOBkTF?nu-B7D!hO=2ZR}

C%4 zc_9eOXvPbC4kzU8YowIA8cW~Uv|eB&yYwAObSwL2vY~UYI7NXPvf3b+c^?wcs~_t{ ze_m66-0)^{JdOMKPwjpQ@Sna!*?$wTZ~su*tNv7o!gXT!GRgivP}ec?5>l1!7<(rT zds|8x(qGc673zrvYIz;J23FG{9nHMnAuP}NpAED^laz3mAN1sy+NXK)!6v1FxQ;lh zOBLA>$~P3r4b*NcqR;y6pwyhZ3_PiDb|%n1gGjl3ZU}ujInlP{eks-#oA6>rh&g+!f`hv#_%JrgYPu z(U^&XLW^QX7F9Z*SRPpQl{B%x)_AMp^}_v~?j7 zapvHMKxSf*Mtyx8I}-<*UGn3)oHd(nn=)BZ`d$lDBwq_GL($_TPaS{UeevT(AJ`p0 z9%+hQb6z)U9qjbuXjg|dExCLjpS8$VKQ55VsIC%@{N5t{NsW)=hNGI`J=x97_kbz@ E0Of=7!TQj4N+cqN`nQhxvX7dAV-`K|Ub$-q+H-5I?Tx0g9jWxd@A|?POE8`3b8fO$T))xP* z(X?&brZw({`)WU&rdAs1iTa0x6F@PIxJ&&L|dpySV!ID|iUhjCcKz(@mE z!x@~W#3H<)4Ae(4eQJRk`Iz3<1)6^m)0b_4_TRZ+cz#eD3f8V;2r-1fE!F}W zEi0MEkTTx}8i1{`l_6vo0(Vuh0HD$I4SjZ=?^?k82R51bC)2D_{y8mi_?X^=U?2|F{Vr7s!k(AZC$O#ZMyavHhlQ7 zUR~QXuH~#o#>(b$u4?s~HLF*3IcF7023AlwAYudn0FV~|odGH^05AYPEfR)8p`i{n zwg3zPVp{+wOsxKc>)(pMupKF!Y2HoUqQ3|Yu|8lwR=?5zZuhG6J?H`bSNk_wPoM{u zSL{c@pY7+c2kck>`^q1^^gR0QB7Y?KUD{vz-uVX~;V-rW)PDcI)$_UjgVV?S?=oLR zf4}zz{#*R_{LkiJ#0RdQLNC^2Vp%JPEUvG9ra2BVZ92(p9h7Ka@!yf9(lj#}>+|u* z;^_?KWdzkM`6gqPo9;;r6&JEa)}R3X{(CWv?NvgLeOTq$cZXqf7|sPImi-7cS8DCN zGf;DVt3Am`>hH3{4-WzH43Ftx)SofNe^-#|0HdCo<+8Qs!}TZP{HH8~z5n`ExcHuT zDL1m&|DVpIy=xsLO>8k92HcmfSKhflQ0H~9=^-{#!I1g(;+44xw~=* zxvNz35vfsQE)@)Zsp*6_GjYD};Squ83<_?^SbALb{a`j<0Gn%6JY!zhp=Fg}Ga2|8 z52e1WU%^L1}15Ex0fF$e@eCT(()_P zvV?CA%#Sy08_U6VPt4EtmVQraWJX` zh=N|WQ>LgrvF~R&qOfB$!%D3cGv?;Xh_z$z7k&s4N)$WYf*k=|*jCEkO19{h_(%W4 zPuOqbCw`SeAX*R}UUsbVsgtuG?xs(#Ikx9`JZoQFz0n*7ZG@Fv@kZk`gzO$HoA9kN z8U5{-yY zvV{`&WKU2$mZeoBmiJrEdzUZAv1sRxpePdg1)F*X^Y)zp^Y*R;;z~vOv-z&)&G)JQ{m!C9cmziu1^nHA z`#`0c>@PnQ9CJKgC5NjJD8HM3|KC(g5nnCq$n0Gsu_DXk36@ql%npEye|?%RmG)

FJ$wK}0tWNB{uH;AM~i literal 0 HcmV?d00001 diff --git a/Week08/Deku/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/Week08/Deku/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..948a3070fe34c611c42c0d3ad3013a0dce358be0 GIT binary patch literal 1900 zcmV-y2b1_xNk&Fw2LJ$9MM6+kP&il$0000G0001A003VA06|PpNH75a00DqwTbm-~ zullQTcXxO9ki!OCRx^i?oR|n!<8G0=kI^!JSjFi-LL*`V;ET0H2IXfU0*i>o6o6Gy zRq6Ap5(_{XLdXcL-MzlN`ugSdZY_`jXhcENAu)N_0?GhF))9R;E`!bo9p?g?SRgw_ zEXHhFG$0{qYOqhdX<(wE4N@es3VIo$%il%6xP9gjiBri+2pI6aY4 zJbgh-Ud|V%3O!IcHKQx1FQH(_*TK;1>FQWbt^$K1zNn^cczkBs=QHCYZ8b&l!UV{K z{L0$KCf_&KR^}&2Fe|L&?1I7~pBENnCtCuH3sjcx6$c zwqkNkru);ie``q+_QI;IYLD9OV0ZxkuyBz|5<$1BH|vtey$> z5oto4=l-R-Aaq`Dk0}o9N0VrkqW_#;!u{!bJLDq%0092{Ghe=F;(kn} z+sQ@1=UlX30+2nWjkL$B^b!H2^QYO@iFc0{(-~yXj2TWz?VG{v`Jg zg}WyYnwGgn>{HFaG7E~pt=)sOO}*yd(UU-D(E&x{xKEl6OcU?pl)K%#U$dn1mDF19 zSw@l8G!GNFB3c3VVK0?uyqN&utT-D5%NM4g-3@Sii9tSXKtwce~uF zS&Jn746EW^wV~8zdQ1XC28~kXu8+Yo9p!<8h&(Q({J*4DBglPdpe4M_mD8AguZFn~ ztiuO~{6Bx?SfO~_ZV(GIboeR9~hAym{{fV|VM=77MxDrbW6`ujX z<3HF(>Zr;#*uCvC*bpoSr~C$h?_%nXps@A)=l_;({Fo#6Y1+Zv`!T5HB+)#^-Ud_; zBwftPN=d8Vx)*O1Mj+0oO=mZ+NVH*ptNDC-&zZ7Hwho6UQ#l-yNvc0Cm+2$$6YUk2D2t#vdZX-u3>-Be1u9gtTBiMB^xwWQ_rgvGpZ6(C@e23c!^K=>ai-Rqu zhqT`ZQof;9Bu!AD(i^PCbYV%yha9zuoKMp`U^z;3!+&d@Hud&_iy!O-$b9ZLcSRh? z)R|826w}TU!J#X6P%@Zh=La$I6zXa#h!B;{qfug}O%z@K{EZECu6zl)7CiNi%xti0 zB{OKfAj83~iJvmpTU|&q1^?^cIMn2RQ?jeSB95l}{DrEPTW{_gmU_pqTc)h@4T>~& zluq3)GM=xa(#^VU5}@FNqpc$?#SbVsX!~RH*5p0p@w z;~v{QMX0^bFT1!cXGM8K9FP+=9~-d~#TK#ZE{4umGT=;dfvWi?rYj;^l_Zxywze`W z^Cr{55U@*BalS}K%Czii_80e0#0#Zkhlij4-~I@}`-JFJ7$5{>LnoJSs??J8kWVl6|8A}RCGAu9^rAsfCE=2}tHwl93t0C?#+jMpvr7O3`2=tr{Hg$=HlnjVG^ewm|Js0J*kfPa6*GhtB>`fN!m#9J(sU!?(OSfzY*zS(FJ<-Vb zfAIg+`U)YaXv#sY(c--|X zEB+TVyZ%Ie4L$gi#Fc++`h6%vzsS$pjz9aLt+ZL(g;n$Dzy5=m=_TV(3H8^C{r0xd zp#a%}ht55dOq?yhwYPrtp-m1xXp;4X;)NhxxUpgP%XTLmO zcjaFva^}dP3$&sfFTIR_jC=2pHh9kpI@2(6V*GQo7Ws)`j)hd+tr@P~gR*2gO@+1? zG<`_tB+LJuF|SZ9tIec;h%}}6WClT`L>HSW?E{Hp1h^+mlbf_$9zA>!ug>NALJsO{ mU%z=YwVD?}XMya)Bp;vlyE5&E_6!fzx9pwrdz474!~g(M6R?N? literal 0 HcmV?d00001 diff --git a/Week08/Deku/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/Week08/Deku/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..1b9a6956b3acdc11f40ce2bb3f6efbd845cc243f GIT binary patch literal 3918 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�(p-{x$&=IACIfoAR!za)F-^da-t3#0Dycnp zwO~NVXwXCl;jE<}>%@xz|=8fIJAB?>+E{7)|4l${4ngA3G|=r z2Dyv;VVWSgZx9Wj>qUjleGl3Ei9K4>h!(lPS%8VOG>Xu0%6VDz^O=bjJmuP7>DeUv zrbI}MlHB^^d?{zv6d=@_ZD2lg1&G7UjnVN{1}9WkaM3H~btX0GtSzB+tZ^qRgWo4m z!GmimlG$=wgXCnr6j@m<1gAL46#T~5Bnm=2{^@>|t&`9mkEPddj zAvG~@Tv~TAm2i%VW}R-g(Z0)z-Y|szHr@rk>4MAyG*Ma*7Yh#H7(!-5>DZ@8r;_dx z{prSe<>~099F8vsYd2xff7uAS%7{S)f(|@me3t2$iy&NEc7OUEchp@9A|X;;IA>8!oX+y(BKJ$EzV* znR$z;!L$s7uy@{OT~nG#B!NRraT8(X##Ho!0r_o@gg0CA-9H^;-uE&?$2$nHv_00o z%cbuUc-tCx$Uh&EZ4Nf4Zgqv)Y6>usG3>GeQnxx_Z6+PcbX-+ysbt1hQ`K1LDpOE? zrAhIZhSN9yVIAOa22gn577tbc&i3|3V8NWy&!tw##`}9*x}gtI^h1DzZRA>UuaJG) zaZ7j)dq!O}{?#8Y7~7i6fHh4{`pL?>-18|p!S75Y#^DM>-S3)vuZG+Q7l@ek zQP~#cBpWgg#mApc_sPYjpw8odQuRokmTkzcNl`^CcKB7e&;zViV;{Y{o^Y$%7i0m# z62%#1Lq!RC?}lK>%mp}T!3Xv;L*0v*>USLm``N%>w>@fwC+#T&Tx2bN4w(20JB}oU zuSa6v^kXi0xPs?pbaOHnyiqq6By1EZY9OZ^^QA>{q-Hsd&m`pbQ%8121aWG-F5xf zlZ%;B{;C>X19|`^_?dVyCq>n+41w7|!tUS!{9rHlbhX=SZO5CQ^;!Du_E7*`GiR^Q w)2!4MKjfSAeNo!9>IaV6aUZ*?W>} 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

UmY2RIYtNPVDpE$%vda+HD#3m z&VuXJ{BK&Qe+rBa7eq}Q(bq|tn(RrJAk|ztj2(i{d>nmQnM?;HF2k&9sA6up5tmjl z7lySlzMbifH17-m-Lwa_F&e7nOH?ESi3#ckR3tsM+jsck3`oG!uMS}|eAwVXv>}qxwq?QY%QJ0}r@^;fhuUA9W z*BVl>TGo&N004@xSiwDUXUvp51sVmqO3m)=B55aPwf@0=e}cN+$-BdKxY`YrT_4)0 z_d10#i44Q*rFr8MC>*)v$EJvz``(pb{e&*6k+b zsMz%($|1+8hn8c2?P(l@;Rb&CsZeYoCI3?2!LqjbwPXW3z4G$Qfj=cT5Yb%vY0(AX oeb?AaKtwrnc|$|zzw9vfvn^aJJ!zd)XFXqqy0000001=f@-~a#s literal 0 HcmV?d00001 diff --git a/Week08/Deku/app/src/main/res/values/colors.xml b/Week08/Deku/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..f8c6127 --- /dev/null +++ b/Week08/Deku/app/src/main/res/values/colors.xml @@ -0,0 +1,10 @@ + + + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 + #FF000000 + #FFFFFFFF + \ No newline at end of file diff --git a/Week08/Deku/app/src/main/res/values/strings.xml b/Week08/Deku/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..193be95 --- /dev/null +++ b/Week08/Deku/app/src/main/res/values/strings.xml @@ -0,0 +1,5 @@ + + Deku + NIKE logo + NIKE splash logo + diff --git a/Week08/Deku/app/src/main/res/values/themes.xml b/Week08/Deku/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..2356cbe --- /dev/null +++ b/Week08/Deku/app/src/main/res/values/themes.xml @@ -0,0 +1,5 @@ + + + +