├── .gitignore ├── .idea ├── .gitignore ├── artifacts │ └── shared_jvm.xml ├── compiler.xml ├── gradle.xml ├── jarRepositories.xml ├── misc.xml └── vcs.xml ├── README.md ├── androidApp ├── .gitignore ├── build.gradle.kts └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── example │ │ └── kmmplayground │ │ └── androidApp │ │ ├── di │ │ ├── AppModule.kt │ │ ├── CacheModule.kt │ │ ├── InteractorsModule.kt │ │ └── NetworkModule.kt │ │ └── presentation │ │ ├── BaseApplication.kt │ │ ├── MainActivity.kt │ │ ├── components │ │ ├── CircularIndeterminateProgressBar.kt │ │ ├── FoodCategoryChip.kt │ │ ├── GenericDialog.kt │ │ ├── LoadingRecipeListShimmer.kt │ │ ├── LoadingRecipeShimmer.kt │ │ ├── NothingHere.kt │ │ ├── RecipeCard.kt │ │ ├── RecipeList.kt │ │ ├── RecipeView.kt │ │ ├── SearchAppBar.kt │ │ └── ShimmerRecipeCardItem.kt │ │ ├── theme │ │ ├── Color.kt │ │ ├── Shape.kt │ │ ├── Theme.kt │ │ └── Type.kt │ │ ├── ui │ │ ├── recipe │ │ │ ├── RecipeDetailScreen.kt │ │ │ └── RecipeViewModel.kt │ │ └── recipe_list │ │ │ ├── RecipeListScreen.kt │ │ │ └── RecipeListViewModel.kt │ │ └── util │ │ └── DialogQueue.kt │ └── res │ ├── drawable │ └── empty_plate.png │ ├── font │ ├── quicksand_bold.ttf │ ├── quicksand_light.ttf │ ├── quicksand_medium.ttf │ └── quicksand_regular.ttf │ ├── layout │ └── activity_main.xml │ └── values │ ├── colors.xml │ └── styles.xml ├── extras └── clean_architecture_kmm.png ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── iosApp ├── iosApp.xcodeproj │ ├── Avenir.ttc │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── mitchtabian.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── mitchtabian.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── iosApp │ ├── AppDelegate.swift │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Contents.json │ │ └── empty_plate.imageset │ │ │ ├── Contents.json │ │ │ └── empty_plate.png │ ├── Avenir.ttc │ ├── Base.lproj │ │ └── LaunchScreen.storyboard │ ├── Info.plist │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ ├── SceneDelegate.swift │ ├── domain │ │ └── model │ │ │ └── Queue.swift │ ├── modifiers │ │ └── Color.swift │ └── presentation │ │ ├── ui │ │ ├── components │ │ │ ├── DefaultText.swift │ │ │ ├── FoodCategoryChip.swift │ │ │ ├── RecipeCard.swift │ │ │ └── SearchAppBar.swift │ │ ├── recipe │ │ │ └── RecipeScreen.swift │ │ └── recipe_list │ │ │ ├── RecipeListScreen.swift │ │ │ └── RecipeListViewModel.swift │ │ └── util │ │ ├── ApiTokenProvider.swift │ │ ├── AsyncImageView.swift │ │ ├── Constants.swift │ │ ├── DialogQueue.swift │ │ └── ImageLoader.swift ├── iosAppTests │ ├── Info.plist │ └── iosAppTests.swift └── iosAppUITests │ ├── Info.plist │ └── iosAppUITests.swift ├── settings.gradle.kts └── shared ├── .gitignore ├── build.gradle.kts └── src ├── androidMain ├── AndroidManifest.xml └── kotlin │ └── com │ └── example │ └── kmmplayground │ └── shared │ └── datasource │ └── cache │ └── RecipeDatabase.kt ├── androidTest └── kotlin │ └── com │ └── example │ └── kmmplayground │ └── shared │ └── androidTest.kt ├── commonMain ├── kotlin │ └── com │ │ └── example │ │ └── kmmplayground │ │ └── shared │ │ ├── datasource │ │ ├── cache │ │ │ ├── RecipeDatabase.kt │ │ │ └── model │ │ │ │ ├── RecipeEntity.kt │ │ │ │ └── RecipeEntityMapper.kt │ │ └── network │ │ │ ├── RecipeService.kt │ │ │ ├── RecipeServiceImpl.kt │ │ │ └── model │ │ │ ├── RecipeDto.kt │ │ │ ├── RecipeDtoMapper.kt │ │ │ └── RecipeSearchResponse.kt │ │ ├── domain │ │ ├── data │ │ │ └── DataState.kt │ │ ├── model │ │ │ ├── GenericDialogInfo.kt │ │ │ └── Recipe.kt │ │ └── util │ │ │ ├── DateUtil.kt │ │ │ ├── DomainMapper.kt │ │ │ └── FlowHelper.kt │ │ ├── interactors │ │ ├── recipe │ │ │ └── GetRecipe.kt │ │ └── recipe_list │ │ │ ├── RestoreRecipes.kt │ │ │ └── SearchRecipes.kt │ │ ├── navigation │ │ └── Screen.kt │ │ ├── presentation │ │ └── ui │ │ │ ├── recipe │ │ │ └── RecipeEvent.kt │ │ │ └── recipe_list │ │ │ ├── FoodCategory.kt │ │ │ ├── FoodCategoryUtil.kt │ │ │ └── RecipeListEvent.kt │ │ └── util │ │ └── constants.kt └── sqldelight │ └── com │ └── example │ └── kmmplayground │ └── cache │ └── RecipeDb.sq ├── iosMain └── kotlin │ └── com │ └── example │ └── kmmplayground │ └── shared │ └── datasource │ └── cache │ └── RecipeDatabase.kt └── iosTest └── kotlin └── com └── example └── kmmplayground └── shared └── iosTest.kt /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/artifacts/shared_jvm.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/.idea/artifacts/shared_jvm.xml -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/.idea/compiler.xml -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/.idea/gradle.xml -------------------------------------------------------------------------------- /.idea/jarRepositories.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/.idea/jarRepositories.xml -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/.idea/misc.xml -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/README.md -------------------------------------------------------------------------------- /androidApp/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /androidApp/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/build.gradle.kts -------------------------------------------------------------------------------- /androidApp/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/di/AppModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/di/AppModule.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/di/CacheModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/di/CacheModule.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/di/InteractorsModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/di/InteractorsModule.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/di/NetworkModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/di/NetworkModule.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/BaseApplication.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/BaseApplication.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/MainActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/MainActivity.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/CircularIndeterminateProgressBar.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/CircularIndeterminateProgressBar.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/FoodCategoryChip.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/FoodCategoryChip.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/GenericDialog.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/GenericDialog.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/LoadingRecipeListShimmer.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/LoadingRecipeListShimmer.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/LoadingRecipeShimmer.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/LoadingRecipeShimmer.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/NothingHere.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/NothingHere.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/RecipeCard.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/RecipeCard.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/RecipeList.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/RecipeList.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/RecipeView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/RecipeView.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/SearchAppBar.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/SearchAppBar.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/ShimmerRecipeCardItem.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/components/ShimmerRecipeCardItem.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/theme/Color.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/theme/Color.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/theme/Shape.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/theme/Shape.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/theme/Theme.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/theme/Theme.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/theme/Type.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/theme/Type.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/ui/recipe/RecipeDetailScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/ui/recipe/RecipeDetailScreen.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/ui/recipe/RecipeViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/ui/recipe/RecipeViewModel.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/ui/recipe_list/RecipeListScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/ui/recipe_list/RecipeListScreen.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/ui/recipe_list/RecipeListViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/ui/recipe_list/RecipeListViewModel.kt -------------------------------------------------------------------------------- /androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/util/DialogQueue.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/java/com/example/kmmplayground/androidApp/presentation/util/DialogQueue.kt -------------------------------------------------------------------------------- /androidApp/src/main/res/drawable/empty_plate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/res/drawable/empty_plate.png -------------------------------------------------------------------------------- /androidApp/src/main/res/font/quicksand_bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/res/font/quicksand_bold.ttf -------------------------------------------------------------------------------- /androidApp/src/main/res/font/quicksand_light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/res/font/quicksand_light.ttf -------------------------------------------------------------------------------- /androidApp/src/main/res/font/quicksand_medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/res/font/quicksand_medium.ttf -------------------------------------------------------------------------------- /androidApp/src/main/res/font/quicksand_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/res/font/quicksand_regular.ttf -------------------------------------------------------------------------------- /androidApp/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/res/layout/activity_main.xml -------------------------------------------------------------------------------- /androidApp/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /androidApp/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/androidApp/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /extras/clean_architecture_kmm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/extras/clean_architecture_kmm.png -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/gradlew.bat -------------------------------------------------------------------------------- /iosApp/iosApp.xcodeproj/Avenir.ttc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp.xcodeproj/Avenir.ttc -------------------------------------------------------------------------------- /iosApp/iosApp.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /iosApp/iosApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /iosApp/iosApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/mitchtabian.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/mitchtabian.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /iosApp/iosApp.xcodeproj/xcuserdata/mitchtabian.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp.xcodeproj/xcuserdata/mitchtabian.xcuserdatad/xcschemes/xcschememanagement.plist -------------------------------------------------------------------------------- /iosApp/iosApp/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/AppDelegate.swift -------------------------------------------------------------------------------- /iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /iosApp/iosApp/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /iosApp/iosApp/Assets.xcassets/empty_plate.imageset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/Assets.xcassets/empty_plate.imageset/Contents.json -------------------------------------------------------------------------------- /iosApp/iosApp/Assets.xcassets/empty_plate.imageset/empty_plate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/Assets.xcassets/empty_plate.imageset/empty_plate.png -------------------------------------------------------------------------------- /iosApp/iosApp/Avenir.ttc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/Avenir.ttc -------------------------------------------------------------------------------- /iosApp/iosApp/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /iosApp/iosApp/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/Info.plist -------------------------------------------------------------------------------- /iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /iosApp/iosApp/SceneDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/SceneDelegate.swift -------------------------------------------------------------------------------- /iosApp/iosApp/domain/model/Queue.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/domain/model/Queue.swift -------------------------------------------------------------------------------- /iosApp/iosApp/modifiers/Color.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/modifiers/Color.swift -------------------------------------------------------------------------------- /iosApp/iosApp/presentation/ui/components/DefaultText.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/presentation/ui/components/DefaultText.swift -------------------------------------------------------------------------------- /iosApp/iosApp/presentation/ui/components/FoodCategoryChip.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/presentation/ui/components/FoodCategoryChip.swift -------------------------------------------------------------------------------- /iosApp/iosApp/presentation/ui/components/RecipeCard.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/presentation/ui/components/RecipeCard.swift -------------------------------------------------------------------------------- /iosApp/iosApp/presentation/ui/components/SearchAppBar.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/presentation/ui/components/SearchAppBar.swift -------------------------------------------------------------------------------- /iosApp/iosApp/presentation/ui/recipe/RecipeScreen.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/presentation/ui/recipe/RecipeScreen.swift -------------------------------------------------------------------------------- /iosApp/iosApp/presentation/ui/recipe_list/RecipeListScreen.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/presentation/ui/recipe_list/RecipeListScreen.swift -------------------------------------------------------------------------------- /iosApp/iosApp/presentation/ui/recipe_list/RecipeListViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/presentation/ui/recipe_list/RecipeListViewModel.swift -------------------------------------------------------------------------------- /iosApp/iosApp/presentation/util/ApiTokenProvider.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/presentation/util/ApiTokenProvider.swift -------------------------------------------------------------------------------- /iosApp/iosApp/presentation/util/AsyncImageView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/presentation/util/AsyncImageView.swift -------------------------------------------------------------------------------- /iosApp/iosApp/presentation/util/Constants.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/presentation/util/Constants.swift -------------------------------------------------------------------------------- /iosApp/iosApp/presentation/util/DialogQueue.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/presentation/util/DialogQueue.swift -------------------------------------------------------------------------------- /iosApp/iosApp/presentation/util/ImageLoader.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosApp/presentation/util/ImageLoader.swift -------------------------------------------------------------------------------- /iosApp/iosAppTests/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosAppTests/Info.plist -------------------------------------------------------------------------------- /iosApp/iosAppTests/iosAppTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosAppTests/iosAppTests.swift -------------------------------------------------------------------------------- /iosApp/iosAppUITests/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosAppUITests/Info.plist -------------------------------------------------------------------------------- /iosApp/iosAppUITests/iosAppUITests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/iosApp/iosAppUITests/iosAppUITests.swift -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/settings.gradle.kts -------------------------------------------------------------------------------- /shared/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /shared/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/build.gradle.kts -------------------------------------------------------------------------------- /shared/src/androidMain/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/androidMain/AndroidManifest.xml -------------------------------------------------------------------------------- /shared/src/androidMain/kotlin/com/example/kmmplayground/shared/datasource/cache/RecipeDatabase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/androidMain/kotlin/com/example/kmmplayground/shared/datasource/cache/RecipeDatabase.kt -------------------------------------------------------------------------------- /shared/src/androidTest/kotlin/com/example/kmmplayground/shared/androidTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/androidTest/kotlin/com/example/kmmplayground/shared/androidTest.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/datasource/cache/RecipeDatabase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/datasource/cache/RecipeDatabase.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/datasource/cache/model/RecipeEntity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/datasource/cache/model/RecipeEntity.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/datasource/cache/model/RecipeEntityMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/datasource/cache/model/RecipeEntityMapper.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/datasource/network/RecipeService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/datasource/network/RecipeService.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/datasource/network/RecipeServiceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/datasource/network/RecipeServiceImpl.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/datasource/network/model/RecipeDto.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/datasource/network/model/RecipeDto.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/datasource/network/model/RecipeDtoMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/datasource/network/model/RecipeDtoMapper.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/datasource/network/model/RecipeSearchResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/datasource/network/model/RecipeSearchResponse.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/domain/data/DataState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/domain/data/DataState.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/domain/model/GenericDialogInfo.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/domain/model/GenericDialogInfo.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/domain/model/Recipe.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/domain/model/Recipe.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/domain/util/DateUtil.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/domain/util/DateUtil.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/domain/util/DomainMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/domain/util/DomainMapper.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/domain/util/FlowHelper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/domain/util/FlowHelper.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/interactors/recipe/GetRecipe.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/interactors/recipe/GetRecipe.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/interactors/recipe_list/RestoreRecipes.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/interactors/recipe_list/RestoreRecipes.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/interactors/recipe_list/SearchRecipes.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/interactors/recipe_list/SearchRecipes.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/navigation/Screen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/navigation/Screen.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/presentation/ui/recipe/RecipeEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/presentation/ui/recipe/RecipeEvent.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/presentation/ui/recipe_list/FoodCategory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/presentation/ui/recipe_list/FoodCategory.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/presentation/ui/recipe_list/FoodCategoryUtil.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/presentation/ui/recipe_list/FoodCategoryUtil.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/presentation/ui/recipe_list/RecipeListEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/presentation/ui/recipe_list/RecipeListEvent.kt -------------------------------------------------------------------------------- /shared/src/commonMain/kotlin/com/example/kmmplayground/shared/util/constants.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/kotlin/com/example/kmmplayground/shared/util/constants.kt -------------------------------------------------------------------------------- /shared/src/commonMain/sqldelight/com/example/kmmplayground/cache/RecipeDb.sq: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/commonMain/sqldelight/com/example/kmmplayground/cache/RecipeDb.sq -------------------------------------------------------------------------------- /shared/src/iosMain/kotlin/com/example/kmmplayground/shared/datasource/cache/RecipeDatabase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/iosMain/kotlin/com/example/kmmplayground/shared/datasource/cache/RecipeDatabase.kt -------------------------------------------------------------------------------- /shared/src/iosTest/kotlin/com/example/kmmplayground/shared/iosTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mitchtabian/KMM-Playground/HEAD/shared/src/iosTest/kotlin/com/example/kmmplayground/shared/iosTest.kt --------------------------------------------------------------------------------