Skip to content

Commit

Permalink
Merge pull request #107 from thomaskioko/feature/voyager-navigation
Browse files Browse the repository at this point in the history
Navigation Migration
  • Loading branch information
thomaskioko committed Dec 9, 2023
2 parents c77cb49 + 3c2a18c commit 625b1bb
Show file tree
Hide file tree
Showing 300 changed files with 4,915 additions and 6,049 deletions.
12 changes: 4 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ This is my playground for learning Kotlin Multiplatform. With that said, I'm sur

| Android | iOS |
| -- | -- |
| <video src="https://user-images.githubusercontent.com/841885/223576880-c7391d14-63b8-47cd-a7f9-97aee5e47892.mp4" width=350/> | <video src="https://github.com/c0de-wizard/tv-maniac/assets/841885/c26f3857-9b4e-409d-9bfb-6be32cd5111b" width=350/> |

| <video src="https://github.com/c0de-wizard/tv-maniac/assets/841885/7ad4abd7-bba1-4afa-9e0a-61023269e868" width=350/> | <video src="https://github.com/thomaskioko/tv-maniac/assets/841885/a28f0cde-b5a6-42f0-ab56-80e4a2877a15" width=350/> |

## 🖥 Project Setup & Environment

Expand Down Expand Up @@ -113,26 +112,23 @@ traktRedirectUri: "PUT_CALLBACK_URI_HERE"
* [Compose Lints](https://slackhq.github.io/compose-lints/) - Custom lint checks for Jetpack Compose.
* [Jetpack Compose](https://developer.android.com/jetpack/compose)
* [Coil](https://coil-kt.github.io/coil/compose/) - Image loading
* [Navigation](https://developer.android.com/jetpack/compose/navigation) - Navigation
* [KenBurnsView](https://github.com/flavioarfaria/KenBurnsView) - Immersive image.
* [Leakcanary](https://github.com/square/leakcanary) - Memory leak detection.
* [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) UI-related data holder, lifecycle
aware.
* [WorkManager](https://developer.android.com/topic/libraries/architecture/workmanager?gclsrc=ds&gclsrc=ds) Handle persistent work

### Kmp - Common
* [Kotlinx Serialization](https://ktor.io/docs/kotlin-serialization.html) - De/Serializing JSON
* [Coroutines](https://github.com/Kotlin/kotlinx.coroutines#multiplatform) - Concurrency & Threading
* [DataStore Preferences](https://android-developers.googleblog.com/2022/10/announcing-experimental-preview-of-jetpack-multiplatform-libraries.html) - Data storage
* [DateTime](https://github.com/Kotlin/kotlinx-datetime) - Date & Time
* [Flow-Redux](https://github.com/freeletics/FlowRedux)
* [Decompose](https://arkivanov.github.io/Decompose/) - Kotlin Multiplatform library for breaking down your code into lifecycle-aware business logic components (aka BLoC).
* [Kermit](https://kermit.touchlab.co/) - Logging
* [kotlin-inject](https://github.com/evant/kotlin-inject) - Injection library.
* [Kotlinx Serialization](https://ktor.io/docs/kotlin-serialization.html) - De/Serializing JSON
* [Ktor](https://ktor.io/) - Networking
* [Kotest Assertions](https://kotest.io/docs/assertions/assertions.html) - Testing
* [SQLDelight](https://github.com/cashapp/sqldelight/) - Local storage
- [Coroutines Extensions](https://cashapp.github.io/sqldelight/js_sqlite/coroutines/) Consume queries as Flow


### iOS
* [Kingfisher](https://github.com/onevcat/Kingfisher) - Image library.
* [OAuthSwift](https://github.com/OAuthSwift/OAuthSwift) Swift-based OAuth library for iOS and macOS.
Expand Down
5 changes: 3 additions & 2 deletions android-core/designsystem/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
id("tvmaniac.compose.library")
id("plugin.tvmaniac.compose.library")
}

android {
Expand All @@ -17,8 +17,9 @@ dependencies {

implementation(projects.androidCore.resources)

implementation(libs.kenburns)
implementation(libs.androidx.core)
implementation(libs.androidx.compose.foundation)
implementation(libs.androidx.compose.material.icons)
implementation(libs.kenburns)
implementation(libs.kotlinx.collections)
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,23 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import com.thomaskioko.tvmaniac.compose.extensions.copy
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf

@Composable
fun <T> LazyGridItems(
listState: LazyListState,
paddingValues: PaddingValues,
modifier: Modifier = Modifier,
items: List<T> = listOf(),
items: ImmutableList<T> = persistentListOf(),
rows: Int = 3,
hPadding: Int = 8,
hPadding: Int = 0,
itemContent: @Composable (LazyItemScope.(T) -> Unit),
) {
val chunkedList = items.chunked(rows)
LazyColumn(
state = listState,
contentPadding = paddingValues.copy(copyTop = false),
contentPadding = paddingValues,
modifier = modifier
.padding(horizontal = hPadding.dp),
verticalArrangement = Arrangement.spacedBy(4.dp),
Expand Down
23 changes: 0 additions & 23 deletions android-core/navigation/build.gradle.kts

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

3 changes: 2 additions & 1 deletion android-core/resources/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<string name="menu_item_discover">Discover</string>
<string name="menu_item_search">Search</string>
<string name="menu_item_follow">Following</string>
<string name="menu_item_library">Library</string>
<string name="menu_item_settings">Settings</string>
<string name="menu_item_profile">Profile</string>

Expand All @@ -28,7 +29,7 @@
<string name="tab_episodes">Episodes</string>
<string name="tab_casts">Casts</string>

<string name="msg_empty_favorites">You haven\'t added any favorites.</string>
<string name="error_empty_library">Looks like your library is empty</string>
<string name="empty_list">Could\'nt load seasons.</string>
<string name="msg_empty_category">Could not load show category data!</string>
<string name="msg_search_show_hint">Search TV Shows</string>
Expand Down
21 changes: 0 additions & 21 deletions android-core/workmanager/build.gradle.kts

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading

0 comments on commit 625b1bb

Please sign in to comment.