diff --git a/app/src/main/java/eu/gaudian/translator/view/home/HomeScreen.kt b/app/src/main/java/eu/gaudian/translator/view/home/HomeScreen.kt
index cea118a..d50bb6c 100644
--- a/app/src/main/java/eu/gaudian/translator/view/home/HomeScreen.kt
+++ b/app/src/main/java/eu/gaudian/translator/view/home/HomeScreen.kt
@@ -1,5 +1,6 @@
package eu.gaudian.translator.view.home
+import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
@@ -20,7 +21,6 @@ import androidx.compose.material.icons.filled.AddCircle
import androidx.compose.material.icons.filled.CheckCircle
import androidx.compose.material.icons.filled.ChevronRight
import androidx.compose.material.icons.filled.LocalFireDepartment
-import androidx.compose.material.icons.filled.Person
import androidx.compose.material.icons.filled.Psychology
import androidx.compose.material.icons.filled.Settings
import androidx.compose.material.icons.filled.TrendingUp
@@ -33,16 +33,19 @@ import androidx.compose.material3.TextButton
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.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
import androidx.navigation.NavHostController
+import eu.gaudian.translator.R
import eu.gaudian.translator.utils.findActivity
import eu.gaudian.translator.view.composable.AppCard
import eu.gaudian.translator.view.composable.Screen
@@ -99,33 +102,37 @@ fun HomeScreen(
@Composable
fun TopProfileSection(navController: NavHostController) {
+ val context = LocalContext.current
+ val motivationalPhrases = remember {
+ context.resources.getStringArray(R.array.motivational_phrases)
+ }
+ val randomPhrase = remember { motivationalPhrases.random() }
+
Row(
verticalAlignment = Alignment.CenterVertically,
- modifier = Modifier.fillMaxWidth()
+ modifier = Modifier.fillMaxWidth().padding(8.dp)
) {
- // Dummy Avatar
+ // Parrot App Icon
Box(
modifier = Modifier
.size(56.dp)
.clip(CircleShape)
- .background(MaterialTheme.colorScheme.surfaceVariant),
+ .background(MaterialTheme.colorScheme.primaryContainer),
contentAlignment = Alignment.Center
) {
- Icon(Icons.Default.Person, contentDescription = "Profile", tint = MaterialTheme.colorScheme.onSurfaceVariant)
+ Image(
+ painter = painterResource(id = R.mipmap.ic_launcher_foreground),
+ contentDescription = "Polly Parrot",
+ )
}
Spacer(modifier = Modifier.width(16.dp))
Column(modifier = Modifier.weight(1f)) {
Text(
- text = "Welcome back,",
- style = MaterialTheme.typography.bodyMedium,
- color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.7f)
- )
- Text(
- text = "Alex Rivera 👋",
- style = MaterialTheme.typography.titleLarge,
- fontWeight = FontWeight.Bold,
+ text = randomPhrase,
+ style = MaterialTheme.typography.titleMedium,
+ fontWeight = FontWeight.SemiBold,
color = MaterialTheme.colorScheme.onSurface
)
}
diff --git a/app/src/main/java/eu/gaudian/translator/view/vocabulary/VocabularyHeatMapScreen.kt b/app/src/main/java/eu/gaudian/translator/view/vocabulary/VocabularyHeatMapScreen.kt
index 82755b7..84a60a0 100644
--- a/app/src/main/java/eu/gaudian/translator/view/vocabulary/VocabularyHeatMapScreen.kt
+++ b/app/src/main/java/eu/gaudian/translator/view/vocabulary/VocabularyHeatMapScreen.kt
@@ -22,8 +22,6 @@ import androidx.compose.foundation.lazy.LazyRow
import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
-import androidx.compose.material3.Card
-import androidx.compose.material3.CardDefaults
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.LinearProgressIndicator
@@ -53,6 +51,7 @@ import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
import androidx.navigation.NavController
import eu.gaudian.translator.R
import eu.gaudian.translator.utils.findActivity
+import eu.gaudian.translator.view.composable.AppCard
import eu.gaudian.translator.view.composable.AppIcons
import eu.gaudian.translator.view.composable.AppScaffold
import eu.gaudian.translator.view.composable.AppTopAppBar
@@ -68,6 +67,7 @@ import kotlinx.datetime.plus
import kotlinx.datetime.todayIn
import java.time.YearMonth
import java.time.format.DateTimeFormatter
+import java.util.Locale.getDefault
import kotlin.math.log2
import kotlin.time.Clock
import kotlin.time.ExperimentalTime
@@ -263,7 +263,8 @@ private fun MonthHeader(
Icon(AppIcons.ArrowLeft, contentDescription = stringResource(R.string.previous_month))
}
Text(
- text = month.format(formatter),
+ text = month.format(formatter)
+ .replaceFirstChar { if (it.isLowerCase()) it.titlecase(getDefault()) else it.toString() },
style = MaterialTheme.typography.titleMedium,
fontWeight = FontWeight.Bold,
modifier = Modifier.padding(horizontal = 16.dp)
@@ -385,7 +386,7 @@ private fun Legend(modifier: Modifier = Modifier) {
Row(
modifier = modifier,
verticalAlignment = Alignment.CenterVertically,
- horizontalArrangement = Arrangement.End
+ horizontalArrangement = Arrangement.Center
) {
Text(
text = stringResource(R.string.less),
@@ -467,12 +468,11 @@ fun StatsOverview(
@Composable
private fun StatCard(title: String, value: String, modifier: Modifier = Modifier) {
- Card(
- modifier = modifier,
- elevation = CardDefaults.cardElevation(defaultElevation = 2.dp)
+ AppCard(
+ modifier = modifier.padding(0.dp),
) {
Column(
- modifier = Modifier.padding(16.dp),
+ modifier = Modifier.padding(8.dp),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 632beb7..b188d0f 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -58,6 +58,17 @@
+
+ - Your inner parrot is learning new words! Keep talking! 🦜
+ - Even parrots start with one word. You\'re doing great! 🌟
+ - Time to spread your wings and learn something new! 🪶
+ - Your feathered friend is proud of your progress! 💚
+ - Repeat after me: You\'re getting better every day! 🗣️
+ - Fly high! Every new word is a new trick! 🎯
+ - Your vocabulary is taking flight! Keep it up! 🦜
+ - Sing a new song! Learn a new word today! 🎵
+
+
- Version 0.3.0 \n• Enabled CSV Import for Vocabulary\n• Option to use a translation server for translations instead of AI models for some supported langugaes\n• UI bug fixes \n• Show word frequency \n• Performance optimizations \n• Improved translations (German and Portuguese)
- Version 0.4.0 \n• Added dictionary download (beta) \n• UI enhancements \n• Bugfixes \n• Re-designed vocabulary card with improved UI \n• More pre-configured providers \n• Improved performance