Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 64a516d6 authored by Wolf-Martell Montwé's avatar Wolf-Martell Montwé
Browse files

Add TopAppBar to contribution screen

parent bea5fcfa
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.TopAppBarDefaults.topAppBarColors
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.testTag
import app.k9mail.core.ui.compose.designsystem.atom.button.ButtonIcon
import app.k9mail.core.ui.compose.designsystem.atom.icon.Icons
import app.k9mail.core.ui.compose.designsystem.atom.text.TextTitleLarge
@@ -44,6 +45,7 @@ fun TopAppBarWithMenuButton(
            ButtonIcon(
                onClick = onMenuClick,
                imageVector = Icons.Outlined.Menu,
                modifier = Modifier.testTag("TopAppBarMenuButton"),
            )
        },
        actions = actions,
@@ -64,6 +66,7 @@ fun TopAppBarWithBackButton(
            ButtonIcon(
                onClick = onBackClick,
                imageVector = Icons.Outlined.ArrowBack,
                modifier = Modifier.testTag("TopAppBarBackButton"),
            )
        },
        actions = actions,
+23 −0
Original line number Diff line number Diff line
package app.k9mail.feature.funding.googleplay.ui.contribution

import androidx.compose.runtime.Composable
import app.k9mail.core.ui.compose.common.annotation.PreviewDevicesWithBackground
import app.k9mail.core.ui.compose.designsystem.PreviewWithTheme
import app.k9mail.feature.funding.googleplay.ui.contribution.ContributionContract.State

@Composable
@PreviewDevicesWithBackground
fun ContributionScreenPreview() {
    PreviewWithTheme {
        ContributionScreen(
            onBack = {},
            viewModel = FakeContributionViewModel(
                initialState = State(
                    recurringContributions = FakeData.recurringContributions,
                    oneTimeContributions = FakeData.oneTimeContributions,
                    selectedContribution = FakeData.recurringContributions.first(),
                ),
            ),
        )
    }
}
+21 −0
Original line number Diff line number Diff line
package app.k9mail.feature.funding.googleplay.ui.contribution

import app.k9mail.core.ui.compose.common.mvi.BaseViewModel
import app.k9mail.feature.funding.googleplay.ui.contribution.ContributionContract.Event
import app.k9mail.feature.funding.googleplay.ui.contribution.ContributionContract.State
import app.k9mail.feature.funding.googleplay.ui.contribution.ContributionContract.ViewModel

internal class FakeContributionViewModel(
    initialState: State,
) : BaseViewModel<State, Event, Nothing>(initialState = initialState), ViewModel {

    val events = mutableListOf<Event>()

    override fun event(event: Event) {
        events.add(event)
    }

    fun applyState(state: State) {
        updateState { state }
    }
}
+9 −0
Original line number Diff line number Diff line
@@ -3,8 +3,11 @@ package app.k9mail.feature.funding.googleplay.ui.contribution
import androidx.activity.compose.BackHandler
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import app.k9mail.core.ui.compose.common.mvi.observe
import app.k9mail.core.ui.compose.designsystem.organism.TopAppBarWithBackButton
import app.k9mail.core.ui.compose.designsystem.template.Scaffold
import app.k9mail.feature.funding.googleplay.R
import app.k9mail.feature.funding.googleplay.ui.contribution.ContributionContract.ViewModel
import org.koin.androidx.compose.koinViewModel

@@ -22,6 +25,12 @@ internal fun ContributionScreen(

    Scaffold(
        modifier = modifier,
        topBar = {
            TopAppBarWithBackButton(
                title = stringResource(R.string.funding_googleplay_contribution_title),
                onBackClick = onBack,
            )
        },
    ) { innerPadding ->
        ContributionContent(
            state = state.value,
+2 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="funding_googleplay_contribution_title">Settings</string>

    <string name="funding_googleplay_contribution_header_title">Support Thunderbird</string>
    <string name="funding_googleplay_contribution_header_description">We never show advertisements or sell your data. We are fully funded by financial contributions from our users. If you’re enjoying Thunderbird, please help support it.  We can’t do this without you!</string>

Loading