Skip to content

Commit

Permalink
app: UI tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
Lastaapps committed Feb 12, 2022
1 parent 625a971 commit 0e43d3a
Show file tree
Hide file tree
Showing 23 changed files with 294 additions and 122 deletions.
3 changes: 2 additions & 1 deletion PRIVACY_POLICY
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
Menza app doesn't collect any personal data, everything you do stays on your device.
Menza app doesn't collect any personal data, everything you do in this app stays on your device.
It is provided with no warranty what so ever.
2 changes: 1 addition & 1 deletion app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ dependencies {
implementation(Libs.KOTLINX_DATETIME)
implementation(Libs.SKRAPE_IT)
implementation(Libs.COIL_COMPOSE_COMPLETE)
implementation("com.github.Lastaapps:OssLicenseAccess:1.0")
implementation(Libs.OSS_LICENSE_ACCESSOR)

}

Expand Down
24 changes: 24 additions & 0 deletions app/src/debug/res/values/launcher_colors.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Copyright 2022, Petr Laštovička as Lasta apps, All rights reserved
~
~ This file is part of Menza.
~
~ Menza is free software: you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ Menza is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
~
~ You should have received a copy of the GNU General Public License
~ along with Menza. If not, see <https://www.gnu.org/licenses/>.
-->

<!-- Used to differentiate debug/release versions -->
<resources>
<color name="ic_launcher_foreground">#FFFFFF</color>
<color name="ic_launcher_background">#2196F3</color>
</resources>
8 changes: 8 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,14 @@
</intent>
</queries>

<supports-screens
android:resizeable="true"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />

<application
android:name=".App"
android:allowBackup="true"
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/kotlin/cz/lastaapps/menza/init/InitUI.kt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ package cz.lastaapps.menza.init
import androidx.compose.animation.animateContentSize
import androidx.compose.animation.core.animateFloatAsState
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Refresh
import androidx.compose.material3.*
Expand Down Expand Up @@ -91,6 +92,7 @@ private fun InitContent(viewModel: InitViewModel, modifier: Modifier = Modifier)
)
Surface(
color = MaterialTheme.colorScheme.primaryContainer,
shape = RoundedCornerShape(16.dp),
modifier = Modifier
.animateContentSize()
.fillMaxWidth(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ fun ContactList(
}
}

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun ContactUI(
contact: Contact,
Expand All @@ -69,9 +70,9 @@ fun ContactUI(
if (contact.name == null && contact.role == null)
return

Surface(
Card(
modifier,
color = MaterialTheme.colorScheme.primaryContainer,
containerColor = MaterialTheme.colorScheme.primaryContainer,
) {
val context = LocalContext.current
val snackbar = LocalSnackbarProvider.current
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,9 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Card
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
Expand All @@ -51,9 +52,10 @@ fun MessageList(
}
}

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun Message(message: Message, modifier: Modifier = Modifier) {
Surface(color = MaterialTheme.colorScheme.primaryContainer, modifier = modifier) {
Card(containerColor = MaterialTheme.colorScheme.primaryContainer, modifier = modifier) {
Text(message.message, modifier = Modifier.padding(8.dp))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,9 @@ package cz.lastaapps.menza.ui.dests.info
import android.os.Build
import android.text.format.DateFormat
import androidx.compose.foundation.layout.*
import androidx.compose.material3.Card
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
Expand Down Expand Up @@ -57,6 +58,7 @@ fun OpeningHoursList(
}
}

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun OpeningHoursLocationUI(
data: OpeningLocation,
Expand All @@ -72,7 +74,7 @@ fun OpeningHoursLocationUI(
DateTimeFormatter.ofPattern(patter)
}

Surface(color = MaterialTheme.colorScheme.primaryContainer, modifier = modifier) {
Card(containerColor = MaterialTheme.colorScheme.primaryContainer, modifier = modifier) {
Column(
verticalArrangement = Arrangement.spacedBy(8.dp),
modifier = Modifier.padding(8.dp),
Expand Down
94 changes: 49 additions & 45 deletions app/src/main/kotlin/cz/lastaapps/menza/ui/dests/others/About.kt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import androidx.annotation.StringRes
import androidx.compose.foundation.*
import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Code
import androidx.compose.material.icons.filled.Description
import androidx.compose.material.icons.filled.Language
import androidx.compose.material.icons.filled.LocalFireDepartment
Expand All @@ -46,6 +47,7 @@ import cz.lastaapps.common.R
import cz.lastaapps.menza.BuildConfig
import cz.lastaapps.menza.navigation.Dest

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun AboutUi(
navController: NavController,
Expand All @@ -71,61 +73,25 @@ fun AboutUi(
}
}

Surface(
modifier = Modifier.fillMaxWidth(),
color = MaterialTheme.colorScheme.primaryContainer
) {
ElevatedCard {
Column(
Modifier
.padding(16.dp)
.width(IntrinsicSize.Max),
.align(Alignment.CenterHorizontally),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.spacedBy(8.dp),
) {
DataSource(Modifier.fillMaxWidth())

OutlinedButton(
modifier = Modifier.fillMaxWidth(),
onClick = {
navController.navigate(Dest.R.license)
}
) {
IconAndText({
Icon(Icons.Default.Description, null)
}, {
Text(
text = stringResource(cz.lastaapps.menza.R.string.about_license_notices),
textAlign = TextAlign.Center
)
})
}
OutlinedButton(
modifier = Modifier.fillMaxWidth(),
onClick = {
navController.navigate(Dest.R.osturak)
}
) {
IconAndText({
Icon(Icons.Default.LocalFireDepartment, null)
}, {
Text(
text = stringResource(cz.lastaapps.menza.R.string.about_osturak),
textAlign = TextAlign.Center,
maxLines = 1
)
})
}
LicenseButton(navController, Modifier.fillMaxWidth())
OsturakButton(navController, Modifier.fillMaxWidth())
ViewSource(Modifier.fillMaxWidth())
}
}
Surface(
modifier = Modifier.fillMaxWidth(),
color = MaterialTheme.colorScheme.tertiaryContainer
) {
ElevatedCard(Modifier.fillMaxWidth()) {
Socials(Modifier.padding(16.dp))
}
Surface(modifier = Modifier.fillMaxWidth()) {
AppInfo(modifier = Modifier.padding(8.dp))
Surface(Modifier.fillMaxWidth()) {
AppInfo(Modifier.padding(8.dp))
}
}
}
Expand Down Expand Up @@ -165,6 +131,44 @@ private fun DataSource(modifier: Modifier = Modifier) {
}
}

@Composable
private fun LicenseButton(navController: NavController, modifier: Modifier = Modifier) {
OutlinedButton(
modifier = modifier,
onClick = {
navController.navigate(Dest.R.license)
}
) {
IconAndText({
Icon(Icons.Default.Description, null)
}, {
Text(
text = stringResource(cz.lastaapps.menza.R.string.about_license_notices),
textAlign = TextAlign.Center
)
})
}
}

@Composable
private fun OsturakButton(navController: NavController, modifier: Modifier = Modifier) {
OutlinedButton(
modifier = modifier,
onClick = {
navController.navigate(Dest.R.osturak)
}
) {
IconAndText({
Icon(Icons.Default.LocalFireDepartment, null)
}, {
Text(
text = stringResource(cz.lastaapps.menza.R.string.about_osturak),
textAlign = TextAlign.Center,
)
})
}
}

@Composable
private fun ViewSource(modifier: Modifier = Modifier) {
val context = LocalContext.current
Expand All @@ -174,8 +178,8 @@ private fun ViewSource(modifier: Modifier = Modifier) {
) {
IconAndText(
icon = {
Image(
painterResource(R.drawable.ic_github),
Icon(
Icons.Default.Code,
stringResource(R.string.content_description_github_project)
)
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,12 @@

package cz.lastaapps.menza.ui.dests.others.license

import androidx.compose.foundation.clickable
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedButton
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.material3.*
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
Expand Down Expand Up @@ -77,21 +76,23 @@ fun LicenseList(
}
}

@OptIn(ExperimentalMaterial3Api::class)
@Composable
private fun Artifact(
artifact: ArtifactLicense,
onClick: () -> Unit,
modifier: Modifier = Modifier,
) {
Surface(
modifier = modifier,
color = MaterialTheme.colorScheme.primaryContainer,
onClick = onClick,
val interaction = remember { MutableInteractionSource() }
ElevatedCard(
modifier = modifier.clickable(interaction, null, onClick = onClick),
interactionSource = interaction,
) {
Box(
Modifier
.padding(8.dp)
.defaultMinSize(minHeight = 32.dp),
.defaultMinSize(minHeight = 32.dp)
.align(Alignment.CenterHorizontally),
contentAlignment = Alignment.CenterStart
) {
Text(text = artifact.name)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,19 @@
package cz.lastaapps.menza.ui.dests.settings.modules

import androidx.annotation.StringRes
import androidx.compose.animation.animateColorAsState
import androidx.compose.foundation.clickable
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Brightness3
import androidx.compose.material.icons.filled.BrightnessMedium
import androidx.compose.material.icons.filled.WbSunny
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.material3.*
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector
Expand Down Expand Up @@ -109,6 +110,7 @@ fun DarkThemeSettings(viewModel: SettingsViewModel, modifier: Modifier = Modifie
}
}

@OptIn(ExperimentalMaterial3Api::class)
@Composable
private fun ThemeItem(
item: DarkThemeItem,
Expand All @@ -121,20 +123,22 @@ private fun ThemeItem(
else
MaterialTheme.colorScheme.tertiary

Surface(
color = color,
onClick = { onItemSelected() },
modifier = modifier,
val interaction = remember { MutableInteractionSource() }
Card(
containerColor = animateColorAsState(color).value,
contentColor = animateColorAsState(contentColorFor(color)).value,
interactionSource = interaction,
modifier = modifier.clickable(interaction, null, onClick = { onItemSelected() }),
) {
Column(
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.spacedBy(8.dp, Alignment.CenterVertically),
modifier = Modifier.padding(4.dp),
modifier = Modifier
.padding(8.dp)
.align(Alignment.CenterHorizontally),
) {
Surface(color = color) {
Box(modifier = Modifier.size(48.dp), contentAlignment = Alignment.Center) {
Icon(item.icon, stringResource(item.title))
}
Box(modifier = Modifier.size(48.dp), contentAlignment = Alignment.Center) {
Icon(item.icon, stringResource(item.title))
}
Text(stringResource(item.title))
}
Expand Down
Loading

0 comments on commit 0e43d3a

Please sign in to comment.