mirror of
https://github.com/wismna/DoNext.git
synced 2025-12-06 00:02:40 -05:00
Translate default lists
Change task list icon Improve empty tasks and task lists screens
This commit is contained in:
@@ -7,6 +7,7 @@ import androidx.room.RoomDatabase
|
||||
import androidx.room.TypeConverters
|
||||
import androidx.room.migration.Migration
|
||||
import androidx.sqlite.db.SupportSQLiteDatabase
|
||||
import com.wismna.geoffroy.donext.R
|
||||
import com.wismna.geoffroy.donext.data.Converters
|
||||
import com.wismna.geoffroy.donext.data.entities.TaskEntity
|
||||
import com.wismna.geoffroy.donext.data.entities.TaskListEntity
|
||||
@@ -137,10 +138,11 @@ abstract class AppDatabase : RoomDatabase() {
|
||||
super.onCreate(db)
|
||||
// insert default lists
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
val res = context.resources
|
||||
val dao = DB_INSTANCE?.taskListDao()
|
||||
dao?.insertTaskList(TaskListEntity(name = "Personal", order = 1))
|
||||
dao?.insertTaskList(TaskListEntity(name = "Work", order = 2))
|
||||
dao?.insertTaskList(TaskListEntity(name = "Shopping", order = 3))
|
||||
dao?.insertTaskList(TaskListEntity(name = res.getString(R.string.sample_list_personal), order = 1))
|
||||
dao?.insertTaskList(TaskListEntity(name = res.getString(R.string.sample_list_work), order = 2))
|
||||
dao?.insertTaskList(TaskListEntity(name = res.getString(R.string.sample_list_shopping), order = 3))
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -34,7 +34,7 @@ fun DueTodayTasksScreen(
|
||||
modifier = modifier.fillMaxSize(),
|
||||
contentAlignment = Alignment.Center
|
||||
) {
|
||||
Column(horizontalAlignment = Alignment.CenterHorizontally) {
|
||||
Column(modifier = Modifier.padding(start = 10.dp, end = 10.dp), horizontalAlignment = Alignment.CenterHorizontally) {
|
||||
Icon(
|
||||
Icons.Default.CalendarToday,
|
||||
contentDescription = "Due today background icon",
|
||||
|
||||
@@ -15,6 +15,7 @@ import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.itemsIndexed
|
||||
import androidx.compose.foundation.lazy.rememberLazyListState
|
||||
@@ -24,6 +25,7 @@ import androidx.compose.material.icons.filled.Close
|
||||
import androidx.compose.material.icons.filled.Delete
|
||||
import androidx.compose.material.icons.filled.DragHandle
|
||||
import androidx.compose.material.icons.filled.Edit
|
||||
import androidx.compose.material.icons.filled.EditNote
|
||||
import androidx.compose.material3.Button
|
||||
import androidx.compose.material3.Card
|
||||
import androidx.compose.material3.CardDefaults
|
||||
@@ -71,7 +73,14 @@ fun ManageListsScreen(
|
||||
modifier = modifier.fillMaxSize(),
|
||||
contentAlignment = Alignment.Center
|
||||
) {
|
||||
Text(stringResource(R.string.tasklist_no_tasks))
|
||||
Column (modifier = Modifier.padding(start = 10.dp, end = 10.dp), horizontalAlignment = Alignment.CenterHorizontally) {
|
||||
Icon(
|
||||
Icons.Default.EditNote,
|
||||
contentDescription = "Due today background icon",
|
||||
modifier = Modifier.size(60.dp),
|
||||
tint = MaterialTheme.colorScheme.secondary)
|
||||
Text(stringResource(R.string.tasklists_no_task_list), color = MaterialTheme.colorScheme.secondary)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -7,9 +7,9 @@ import androidx.compose.foundation.layout.fillMaxHeight
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.Checklist
|
||||
import androidx.compose.material.icons.filled.Delete
|
||||
import androidx.compose.material.icons.filled.EditNote
|
||||
import androidx.compose.material.icons.filled.LineWeight
|
||||
import androidx.compose.material.icons.filled.Today
|
||||
import androidx.compose.material3.Badge
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
@@ -74,7 +74,7 @@ fun MenuScreen(
|
||||
overflow = TextOverflow.Ellipsis
|
||||
)
|
||||
},
|
||||
icon = { Icon(Icons.Default.LineWeight, contentDescription = list.name) },
|
||||
icon = { Icon(Icons.Default.Checklist, contentDescription = list.name) },
|
||||
selected = currentDestination is AppDestination.TaskList &&
|
||||
currentDestination.taskListId == list.id,
|
||||
onClick = { viewModel.navigateTo("taskList/${list.id}", currentDestination.route) },
|
||||
@@ -90,13 +90,6 @@ fun MenuScreen(
|
||||
|
||||
Column {
|
||||
HorizontalDivider()
|
||||
NavigationDrawerItem(
|
||||
label = { Text(stringResource(R.string.navigation_recycle_bin)) },
|
||||
icon = { Icon(Icons.Default.Delete, contentDescription = stringResource(R.string.navigation_recycle_bin)) },
|
||||
selected = currentDestination is AppDestination.RecycleBin,
|
||||
onClick = { viewModel.navigateTo(AppDestination.RecycleBin.route, currentDestination.route) },
|
||||
modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding)
|
||||
)
|
||||
NavigationDrawerItem(
|
||||
label = { Text(stringResource(R.string.navigation_edit_lists)) },
|
||||
icon = { Icon(Icons.Default.EditNote, contentDescription = stringResource(R.string.navigation_edit_lists)) },
|
||||
@@ -104,6 +97,13 @@ fun MenuScreen(
|
||||
onClick = { viewModel.navigateTo(AppDestination.ManageLists.route, currentDestination.route) },
|
||||
modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding)
|
||||
)
|
||||
NavigationDrawerItem(
|
||||
label = { Text(stringResource(R.string.navigation_recycle_bin)) },
|
||||
icon = { Icon(Icons.Default.Delete, contentDescription = stringResource(R.string.navigation_recycle_bin)) },
|
||||
selected = currentDestination is AppDestination.RecycleBin,
|
||||
onClick = { viewModel.navigateTo(AppDestination.RecycleBin.route, currentDestination.route) },
|
||||
modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ fun RecycleBinScreen(
|
||||
modifier = modifier.fillMaxSize(),
|
||||
contentAlignment = Alignment.Center
|
||||
) {
|
||||
Column(horizontalAlignment = Alignment.CenterHorizontally) {
|
||||
Column(modifier = Modifier.padding(start = 10.dp, end = 10.dp), horizontalAlignment = Alignment.CenterHorizontally) {
|
||||
Icon(
|
||||
Icons.Default.DeleteOutline,
|
||||
contentDescription = "Recycle bin background icon",
|
||||
|
||||
@@ -2,13 +2,19 @@ package com.wismna.geoffroy.donext.presentation.screen
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.items
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.Checklist
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.remember
|
||||
@@ -33,7 +39,14 @@ fun TaskListScreen(
|
||||
modifier = modifier.fillMaxSize(),
|
||||
contentAlignment = Alignment.Center
|
||||
) {
|
||||
Text(stringResource(R.string.tasklist_no_tasks))
|
||||
Column (modifier = Modifier.padding(start = 10.dp, end = 10.dp), horizontalAlignment = Alignment.CenterHorizontally) {
|
||||
Icon(
|
||||
Icons.Default.Checklist,
|
||||
contentDescription = "Due today background icon",
|
||||
modifier = Modifier.size(60.dp),
|
||||
tint = MaterialTheme.colorScheme.secondary)
|
||||
Text(stringResource(R.string.tasklist_no_tasks), color = MaterialTheme.colorScheme.secondary)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<string name="navigation_recycle_bin">Corbeille</string>
|
||||
<string name="navigation_due_today">À faire aujourd\'hui</string>
|
||||
<string name="action_create_list">Créer une tâche</string>
|
||||
<string name="tasklist_no_tasks">Cliquez sur + pour créer un nouvelle tâche.</string>
|
||||
<string name="tasklist_no_tasks">Cliquez sur + pour créer une nouvelle tâche.</string>
|
||||
<string name="recycle_bin_no_tasks">La corbeille est vide</string>
|
||||
<string name="today_no_tasks">Rien à faire aujourd\'hui !</string>
|
||||
<string name="task_title_new">Nouvelle tâche</string>
|
||||
@@ -47,4 +47,8 @@
|
||||
<string name="snackbar_message_task_list_recycle">Liste de tâches déplacée dans la corbeille.</string>
|
||||
<string name="snackbar_message_task_restore">Tâche restaurée</string>
|
||||
<string name="snackbar_action">Annuler</string>
|
||||
<string name="sample_list_personal">Personnel</string>
|
||||
<string name="sample_list_work">Travail</string>
|
||||
<string name="sample_list_shopping">Shopping</string>
|
||||
<string name="tasklists_no_task_list">Aucune liste de tâches. Cliquez sur + pour en créer une.</string>
|
||||
</resources>
|
||||
@@ -50,6 +50,8 @@
|
||||
<string name="dialog_empty_task_cancel">Cancel</string>
|
||||
<string name="dialog_empty_task_delete">Empty</string>
|
||||
|
||||
<string name="tasklists_no_task_list">No task lists. Tap the + button to create one.</string>
|
||||
|
||||
<string name="tasklist_new_title">New list</string>
|
||||
<string name="tasklist_new_name">Title</string>
|
||||
<string name="tasklist_new_create">Create</string>
|
||||
@@ -60,4 +62,8 @@
|
||||
<string name="snackbar_message_task_list_recycle">Task list moved to recycle bin</string>
|
||||
<string name="snackbar_message_task_restore">Task restored</string>
|
||||
<string name="snackbar_action">Undo</string>
|
||||
|
||||
<string name="sample_list_personal">Personal</string>
|
||||
<string name="sample_list_work">Work</string>
|
||||
<string name="sample_list_shopping">Shopping</string>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user