Skip to content

Commit

Permalink
Pulled common compose structure into separate common component. Added…
Browse files Browse the repository at this point in the history
… a little more padding for bottom of screen contents.
  • Loading branch information
growabeard committed Dec 3, 2024
1 parent c2b9fb6 commit 8aa25ab
Show file tree
Hide file tree
Showing 4 changed files with 134 additions and 189 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
package be.scri.ui.common.components

import android.annotation.SuppressLint
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.windowInsetsBottomHeight
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import be.scri.ui.theme.ScribeTypography

@SuppressLint("UnusedMaterial3ScaffoldPaddingParameter")
@Composable
fun MainActivityComposeScreen(
bottomSpacerHeight: Int,
title: Int,
modifier: Modifier = Modifier,
content: @Composable () -> Unit,
) {
Scaffold(modifier = modifier.fillMaxSize()) {
Column(
modifier =
Modifier
.fillMaxSize()
.padding(horizontal = 16.dp)
.verticalScroll(rememberScrollState()),
) {
Text(
text = stringResource(id = title),
modifier = Modifier.padding(top = 16.dp, bottom = 4.dp),
fontSize = ScribeTypography.headlineMedium.fontSize,
style =
TextStyle.Default.copy(
fontStyle = ScribeTypography.headlineMedium.fontStyle,
fontWeight = FontWeight.Bold,
),
)
Card(
colors =
CardDefaults.cardColors(
containerColor = MaterialTheme.colorScheme.surface,
),
) {
content()
}
Spacer(
Modifier.windowInsetsBottomHeight(
WindowInsets(bottom = bottomSpacerHeight + 16),
),
)
}
}
}
66 changes: 14 additions & 52 deletions app/src/main/java/be/scri/ui/screens/PrivacyPolicyScreen.kt
Original file line number Diff line number Diff line change
@@ -1,72 +1,34 @@
package be.scri.ui.screens

import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.safeDrawing
import androidx.compose.foundation.layout.windowInsetsBottomHeight
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import be.scri.R
import be.scri.ui.common.components.MainActivityComposeScreen
import be.scri.ui.theme.ScribeTypography

@Composable
fun PrivacyPolicyScreen(
bottomSpacerHeight: Int,
modifier: Modifier = Modifier,
) {
Scaffold(modifier = modifier.fillMaxSize(), contentWindowInsets = WindowInsets.safeDrawing) { padding ->
Column(
modifier =
Modifier
.padding(horizontal = 16.dp)
.padding(padding)
.verticalScroll(rememberScrollState()),
) {
Text(
text = stringResource(id = R.string.app_about_legal_privacy_policy_caption),
modifier = Modifier.padding(top = 16.dp, bottom = 4.dp),
fontSize = ScribeTypography.headlineMedium.fontSize,
style =
TextStyle.Default.copy(
fontStyle = ScribeTypography.headlineMedium.fontStyle,
fontWeight = FontWeight.Bold,
),
)
Card(
colors =
CardDefaults.cardColors(
containerColor = MaterialTheme.colorScheme.surface,
),
) {
Text(
text = stringResource(id = R.string.app_about_legal_privacy_policy_text),
fontSize = ScribeTypography.bodyMedium.fontSize,
style =
TextStyle.Default.copy(
fontStyle = ScribeTypography.bodyMedium.fontStyle,
),
modifier = Modifier.padding(16.dp),
)
}
Spacer(
Modifier.windowInsetsBottomHeight(
WindowInsets(bottom = bottomSpacerHeight),
MainActivityComposeScreen(
bottomSpacerHeight,
R.string.app_about_legal_privacy_policy_caption,
modifier,
) {
Text(
text = stringResource(id = R.string.app_about_legal_privacy_policy_text),
fontSize = ScribeTypography.bodyMedium.fontSize,
style =
TextStyle.Default.copy(
fontStyle = ScribeTypography.bodyMedium.fontStyle,
),
)
}
modifier = Modifier.padding(16.dp),
)
}
}
66 changes: 12 additions & 54 deletions app/src/main/java/be/scri/ui/screens/ThirdPartyScreen.kt
Original file line number Diff line number Diff line change
@@ -1,81 +1,39 @@
package be.scri.ui.screens

import android.annotation.SuppressLint
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.windowInsetsBottomHeight
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.Card
import androidx.compose.material3.CardDefaults
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import be.scri.R
import be.scri.ui.common.components.MainActivityComposeScreen
import be.scri.ui.theme.ScribeTypography

@SuppressLint("UnusedMaterial3ScaffoldPaddingParameter")
@Composable
fun ThirdPartyScreen(
bottomSpacerHeight: Int,
modifier: Modifier = Modifier,
) {
Scaffold(modifier = modifier.fillMaxSize()) {
Column(
modifier =
Modifier
.fillMaxSize()
.padding(horizontal = 16.dp)
.verticalScroll(rememberScrollState()),
) {
MainActivityComposeScreen(bottomSpacerHeight, R.string.app_about_legal_third_party_caption, modifier) {
Column(modifier = Modifier.padding(16.dp)) {
Text(
text = stringResource(id = R.string.app_about_legal_third_party_caption),
modifier = Modifier.padding(top = 16.dp, bottom = 4.dp),
fontSize = ScribeTypography.headlineMedium.fontSize,
text = stringResource(id = R.string.app_about_legal_third_party_text),
fontSize = ScribeTypography.bodyMedium.fontSize,
style =
TextStyle.Default.copy(
fontStyle = ScribeTypography.headlineMedium.fontStyle,
fontWeight = FontWeight.Bold,
fontStyle = ScribeTypography.bodyMedium.fontStyle,
),
)
Card(
colors =
CardDefaults.cardColors(
containerColor = MaterialTheme.colorScheme.surface,
Text(
text = stringResource(id = R.string.app_about_legal_third_party_entry_simple_keyboard),
fontSize = ScribeTypography.bodyMedium.fontSize,
style =
TextStyle.Default.copy(
fontStyle = ScribeTypography.bodyMedium.fontStyle,
),
) {
Column(modifier = Modifier.padding(16.dp)) {
Text(
text = stringResource(id = R.string.app_about_legal_third_party_text),
fontSize = ScribeTypography.bodyMedium.fontSize,
style =
TextStyle.Default.copy(
fontStyle = ScribeTypography.bodyMedium.fontStyle,
),
)
Text(
text = stringResource(id = R.string.app_about_legal_third_party_entry_simple_keyboard),
fontSize = ScribeTypography.bodyMedium.fontSize,
style =
TextStyle.Default.copy(
fontStyle = ScribeTypography.bodyMedium.fontStyle,
),
)
}
}
Spacer(
Modifier.windowInsetsBottomHeight(
WindowInsets(bottom = bottomSpacerHeight),
),
)
}
}
Expand Down
Loading

0 comments on commit 8aa25ab

Please sign in to comment.