Skip to content

Commit 723b13b

Browse files
authored
Feat: Migrated Finance Module to KMP (#1792)
1 parent 0121c2a commit 723b13b

File tree

13 files changed

+87
-40
lines changed

13 files changed

+87
-40
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ that can be used as a dependency in any other wallet based project. It is develo
3232
| :feature:profile | Done ||||||
3333
| :feature:settings | Done ||||||
3434
| :feature:payments | Done ||||||
35-
| :feature:account | Not started | | | | | |
36-
| :feature:finance | Not started ||||||
35+
| :feature:finance | Done | | | | | |
36+
| :feature:account | Not started ||||||
3737
| :feature:invoices | Not started ||||||
3838
| :feature:kyc | Not started ||||||
3939
| :feature:make-transfer | Not started ||||||

feature/finance/build.gradle.kts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,22 @@
88
* See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md
99
*/
1010
plugins {
11-
alias(libs.plugins.mifospay.android.feature)
12-
alias(libs.plugins.mifospay.android.library.compose)
11+
alias(libs.plugins.mifospay.cmp.feature)
12+
alias(libs.plugins.kotlin.parcelize)
1313
}
1414

1515
android {
1616
namespace = "org.mifospay.feature.finance"
1717
}
1818

19-
dependencies {
20-
implementation(libs.accompanist.pager)
19+
kotlin {
20+
sourceSets {
21+
commonMain.dependencies {
22+
implementation(compose.ui)
23+
implementation(compose.foundation)
24+
implementation(compose.material3)
25+
implementation(compose.components.resources)
26+
implementation(compose.components.uiToolingPreview)
27+
}
28+
}
2129
}

feature/finance/consumer-rules.pro

Whitespace-only changes.

feature/finance/proguard-rules.pro

Lines changed: 0 additions & 21 deletions
This file was deleted.
File renamed without changes.

feature/finance/src/main/kotlin/org/mifospay/feature/finance/FinanceScreen.kt renamed to feature/finance/src/commonMain/kotlin/org/mifospay/feature/finance/FinanceScreen.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ package org.mifospay.feature.finance
1111

1212
import androidx.compose.foundation.layout.Column
1313
import androidx.compose.foundation.layout.fillMaxSize
14+
import androidx.compose.foundation.pager.rememberPagerState
1415
import androidx.compose.runtime.Composable
1516
import androidx.compose.ui.Modifier
16-
import androidx.compose.ui.tooling.preview.Preview
17-
import com.google.accompanist.pager.rememberPagerState
17+
import org.jetbrains.compose.ui.tooling.preview.Preview
1818
import org.mifospay.core.ui.MifosScrollableTabRow
1919
import org.mifospay.core.ui.utility.TabContent
2020

@@ -23,7 +23,7 @@ internal fun FinanceRoute(
2323
tabContents: List<TabContent>,
2424
modifier: Modifier = Modifier,
2525
) {
26-
val pagerState = rememberPagerState(initialPage = 0)
26+
val pagerState = rememberPagerState(pageCount = { tabContents.size })
2727

2828
Column(modifier = modifier.fillMaxSize()) {
2929
MifosScrollableTabRow(
@@ -40,7 +40,7 @@ enum class FinanceScreenContents {
4040
KYC,
4141
}
4242

43-
@Preview(showBackground = true)
43+
@Preview
4444
@Composable
4545
private fun FinanceScreenPreview() {
4646
FinanceRoute(

feature/finance/src/main/kotlin/org/mifospay/feature/finance/navigation/FinanceNavigation.kt renamed to feature/finance/src/commonMain/kotlin/org/mifospay/feature/finance/navigation/FinanceNavigation.kt

File renamed without changes.

feature/payments/build.gradle.kts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@ kotlin {
2424
implementation(compose.material3)
2525
implementation(compose.components.resources)
2626
implementation(compose.components.uiToolingPreview)
27-
28-
implementation(libs.koin.compose.viewmodel)
29-
implementation(libs.koin.compose)
3027
}
3128
}
3229
}

mifospay-android/dependencies/prodReleaseRuntimeClasspath.tree.txt

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2161,6 +2161,37 @@
21612161
| | +--- org.jetbrains.compose.components:components-resources:1.7.0-rc01 (*)
21622162
| | +--- org.jetbrains.compose.components:components-ui-tooling-preview:1.7.0-rc01 (*)
21632163
| | \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.0.20 (*)
2164+
| +--- project :feature:finance
2165+
| | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.6 (*)
2166+
| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6 (*)
2167+
| | +--- androidx.tracing:tracing-ktx:1.3.0-alpha02 (*)
2168+
| | +--- io.insert-koin:koin-bom:4.0.0-RC2 (*)
2169+
| | +--- io.insert-koin:koin-android:4.0.0-RC2 (*)
2170+
| | +--- io.insert-koin:koin-androidx-compose:4.0.0-RC2 (*)
2171+
| | +--- io.insert-koin:koin-androidx-navigation:4.0.0-RC2 (*)
2172+
| | +--- io.insert-koin:koin-core-viewmodel:4.0.0-RC2 (*)
2173+
| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 (*)
2174+
| | +--- io.insert-koin:koin-core:4.0.0-RC2 (*)
2175+
| | +--- io.insert-koin:koin-annotations:1.4.0-RC4 (*)
2176+
| | +--- project :core:ui (*)
2177+
| | +--- project :core:designsystem (*)
2178+
| | +--- project :core:data (*)
2179+
| | +--- io.insert-koin:koin-compose:1.2.0-Beta4 -> 4.0.0-RC2 (*)
2180+
| | +--- io.insert-koin:koin-compose-viewmodel:1.2.0-Beta4 -> 4.0.0-RC2 (*)
2181+
| | +--- org.jetbrains.compose.runtime:runtime:1.7.0-rc01 (*)
2182+
| | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose:2.8.2 (*)
2183+
| | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.2 -> 2.8.3-rc01 (*)
2184+
| | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.2 (*)
2185+
| | +--- org.jetbrains.androidx.savedstate:savedstate:1.2.2 (*)
2186+
| | +--- org.jetbrains.androidx.core:core-bundle:1.0.1 (*)
2187+
| | +--- org.jetbrains.androidx.navigation:navigation-compose:2.8.0-alpha10 (*)
2188+
| | +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
2189+
| | +--- org.jetbrains.compose.ui:ui:1.7.0-rc01 (*)
2190+
| | +--- org.jetbrains.compose.foundation:foundation:1.7.0-rc01 (*)
2191+
| | +--- org.jetbrains.compose.material3:material3:1.7.0-rc01 (*)
2192+
| | +--- org.jetbrains.compose.components:components-resources:1.7.0-rc01 (*)
2193+
| | +--- org.jetbrains.compose.components:components-ui-tooling-preview:1.7.0-rc01 (*)
2194+
| | \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.0.20 (*)
21642195
| +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 (*)
21652196
| +--- io.insert-koin:koin-annotations:1.4.0-RC4 (*)
21662197
| +--- project :core:ui (*)

mifospay-android/dependencies/prodReleaseRuntimeClasspath.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
:feature:auth
1212
:feature:editpassword
1313
:feature:faq
14+
:feature:finance
1415
:feature:history
1516
:feature:home
1617
:feature:payments

0 commit comments

Comments
 (0)