├── sc ├── frame2.png ├── frame3.png └── frame4.png ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── iosApp ├── Podfile ├── iosApp │ ├── Assets.xcassets │ │ ├── Contents.json │ │ ├── AppIcon.appiconset │ │ │ ├── AppIcon~ios-marketing.png │ │ │ └── Contents.json │ │ └── AccentColor.colorset │ │ │ └── Contents.json │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ ├── iOSApp.swift │ ├── ContentView.swift │ ├── Info.plist │ ├── poem │ │ └── presentation │ │ │ ├── components │ │ │ └── ProgressButton.swift │ │ │ ├── IOSPoemViewModel.swift │ │ │ └── PoemScreen.swift │ ├── like │ │ └── presentation │ │ │ ├── IOSLikeViewModel.swift │ │ │ └── LikeScreen.swift │ └── core │ │ └── presentation │ │ └── Colors.swift ├── Pods │ ├── Target Support Files │ │ ├── Pods-iosApp │ │ │ ├── Pods-iosApp-frameworks-Debug-output-files.xcfilelist │ │ │ ├── Pods-iosApp-frameworks-Release-output-files.xcfilelist │ │ │ ├── Pods-iosApp.modulemap │ │ │ ├── Pods-iosApp-dummy.m │ │ │ ├── Pods-iosApp-acknowledgements.markdown │ │ │ ├── Pods-iosApp-frameworks-Debug-input-files.xcfilelist │ │ │ ├── Pods-iosApp-frameworks-Release-input-files.xcfilelist │ │ │ ├── Pods-iosApp-umbrella.h │ │ │ ├── Pods-iosApp.debug.xcconfig │ │ │ ├── Pods-iosApp.release.xcconfig │ │ │ ├── Pods-iosApp-acknowledgements.plist │ │ │ ├── Pods-iosApp-Info.plist │ │ │ └── Pods-iosApp-frameworks.sh │ │ └── shared │ │ │ ├── shared.debug.xcconfig │ │ │ └── shared.release.xcconfig │ ├── Manifest.lock │ ├── Pods.xcodeproj │ │ ├── xcuserdata │ │ │ └── hamidrezasahraei.xcuserdatad │ │ │ │ └── xcschemes │ │ │ │ ├── xcschememanagement.plist │ │ │ │ ├── shared.xcscheme │ │ │ │ └── Pods-iosApp.xcscheme │ │ └── project.pbxproj │ └── Local Podspecs │ │ └── shared.podspec.json ├── Podfile.lock ├── iosApp.xcworkspace │ └── contents.xcworkspacedata └── KorsiSher.xcodeproj │ ├── xcuserdata │ └── hamidrezasahraei.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ └── project.pbxproj ├── androidApp ├── src │ └── main │ │ ├── res │ │ ├── values │ │ │ └── styles.xml │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_background.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_monochrome.png │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_background.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_monochrome.png │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_background.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_monochrome.png │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_background.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_monochrome.png │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_background.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_monochrome.png │ │ └── mipmap-anydpi-v26 │ │ │ └── ic_launcher.xml │ │ ├── java │ │ └── korsi │ │ │ └── sher │ │ │ └── android │ │ │ ├── core │ │ │ └── presentation │ │ │ │ ├── Routes.kt │ │ │ │ └── components │ │ │ │ ├── ProgressButton.kt │ │ │ │ └── PoemComponent.kt │ │ │ ├── KorsiSherApp.kt │ │ │ ├── like │ │ │ └── presentation │ │ │ │ ├── AndroidLikeViewModel.kt │ │ │ │ └── LikeScreen.kt │ │ │ ├── poem │ │ │ └── presentation │ │ │ │ ├── AndroidPoemViewModel.kt │ │ │ │ └── PoemScreen.kt │ │ │ ├── MyApplicationTheme.kt │ │ │ ├── di │ │ │ └── AppModule.kt │ │ │ └── MainActivity.kt │ │ └── AndroidManifest.xml └── build.gradle.kts ├── shared ├── src │ ├── commonMain │ │ ├── kotlin │ │ │ └── korsi │ │ │ │ └── sher │ │ │ │ ├── Platform.kt │ │ │ │ ├── poem │ │ │ │ ├── data │ │ │ │ │ ├── remote │ │ │ │ │ │ └── HttpClientFactory.kt │ │ │ │ │ ├── local │ │ │ │ │ │ └── DatabaseDriverFactory.kt │ │ │ │ │ ├── poem │ │ │ │ │ │ ├── PoemDto.kt │ │ │ │ │ │ └── KtorPoemClient.kt │ │ │ │ │ ├── mapper │ │ │ │ │ │ └── PoemItemMapper.kt │ │ │ │ │ └── history │ │ │ │ │ │ └── SqlDelightHistoryDataSource.kt │ │ │ │ ├── domain │ │ │ │ │ ├── poem │ │ │ │ │ │ ├── PoemClient.kt │ │ │ │ │ │ ├── PoemError.kt │ │ │ │ │ │ └── PoemUseCase.kt │ │ │ │ │ └── history │ │ │ │ │ │ ├── PoemHistoryDataSource.kt │ │ │ │ │ │ ├── PoemItem.kt │ │ │ │ │ │ └── LikeUseCase.kt │ │ │ │ └── presentation │ │ │ │ │ ├── like │ │ │ │ │ ├── LikeEvent.kt │ │ │ │ │ ├── LikeState.kt │ │ │ │ │ └── LikeViewModel.kt │ │ │ │ │ ├── poem │ │ │ │ │ ├── PoemEvent.kt │ │ │ │ │ ├── PoemState.kt │ │ │ │ │ └── PoemViewModel.kt │ │ │ │ │ └── util │ │ │ │ │ └── ColorUtil.kt │ │ │ │ ├── Greeting.kt │ │ │ │ └── core │ │ │ │ ├── domain │ │ │ │ └── util │ │ │ │ │ ├── CommonFlow.kt │ │ │ │ │ ├── CommonStateFlow.kt │ │ │ │ │ ├── Resource.kt │ │ │ │ │ └── CommonMutableStateFlow.kt │ │ │ │ └── presentation │ │ │ │ └── Colors.kt │ │ └── sqldelight │ │ │ └── database │ │ │ └── poem.sq │ ├── iosMain │ │ └── kotlin │ │ │ └── korsi │ │ │ └── sher │ │ │ ├── core.domain.util │ │ │ ├── DisposableHandle.kt │ │ │ ├── IOSMutableStateFlow.kt │ │ │ ├── CommonStateFlow.kt │ │ │ ├── CommonFlow.kt │ │ │ └── CommonMutableStateFlow.kt │ │ │ ├── Platform.kt │ │ │ ├── poem.data │ │ │ └── local │ │ │ │ └── DatabaseDriverFactory.kt │ │ │ ├── poem.data.remote │ │ │ └── HttpClientFactory.kt │ │ │ └── di │ │ │ └── AppModule.kt │ └── androidMain │ │ └── kotlin │ │ └── korsi │ │ └── sher │ │ ├── Platform.kt │ │ ├── core │ │ └── domain │ │ │ └── util │ │ │ ├── CommonFlow.kt │ │ │ ├── CommonStateFlow.kt │ │ │ └── CommonMutableStateFlow.kt │ │ └── poem │ │ └── data │ │ ├── remote │ │ └── HttpClientFactory.kt │ │ └── local │ │ └── DatabaseDriverFactory.kt ├── shared.podspec └── build.gradle.kts ├── gradle.properties ├── settings.gradle.kts ├── .gitignore ├── gradlew.bat ├── Readme.md └── gradlew /sc/frame2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hamidrezasahraei/KorsiSher/HEAD/sc/frame2.png -------------------------------------------------------------------------------- /sc/frame3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hamidrezasahraei/KorsiSher/HEAD/sc/frame3.png -------------------------------------------------------------------------------- /sc/frame4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hamidrezasahraei/KorsiSher/HEAD/sc/frame4.png -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hamidrezasahraei/KorsiSher/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /iosApp/Podfile: -------------------------------------------------------------------------------- 1 | target 'iosApp' do 2 | use_frameworks! 3 | platform :ios, '14.1' 4 | pod 'shared', :path => '../shared' 5 | end -------------------------------------------------------------------------------- /iosApp/iosApp/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /androidApp/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 |