worked on tracking screen
This commit is contained in:
parent
c6dd2c633b
commit
45085cdba4
3 changed files with 80 additions and 12 deletions
|
|
@ -7,16 +7,23 @@ import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
|
import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.aspectRatio
|
import androidx.compose.foundation.layout.aspectRatio
|
||||||
|
import androidx.compose.foundation.layout.fillMaxHeight
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.foundation.lazy.grid.GridCells
|
import androidx.compose.foundation.lazy.grid.GridCells
|
||||||
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
|
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
|
||||||
import androidx.compose.foundation.shape.CircleShape
|
import androidx.compose.foundation.shape.CircleShape
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
|
import androidx.compose.material.icons.filled.Add
|
||||||
import androidx.compose.material.icons.filled.ChevronLeft
|
import androidx.compose.material.icons.filled.ChevronLeft
|
||||||
import androidx.compose.material.icons.filled.ChevronRight
|
import androidx.compose.material.icons.filled.ChevronRight
|
||||||
|
import androidx.compose.material3.Button
|
||||||
|
import androidx.compose.material3.Card
|
||||||
|
import androidx.compose.material3.HorizontalDivider
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
|
|
@ -27,31 +34,55 @@ import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.graphics.Color
|
|
||||||
import androidx.compose.ui.platform.LocalConfiguration
|
import androidx.compose.ui.platform.LocalConfiguration
|
||||||
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.em
|
import androidx.compose.ui.unit.em
|
||||||
|
import de.cdaut.dbtapp.R
|
||||||
import de.cdaut.dbtapp.util.weekdayListByLocale
|
import de.cdaut.dbtapp.util.weekdayListByLocale
|
||||||
import java.time.LocalDate
|
import java.time.LocalDate
|
||||||
import java.time.format.DateTimeFormatter
|
import java.time.format.DateTimeFormatter
|
||||||
import java.time.format.FormatStyle
|
import java.time.format.FormatStyle
|
||||||
import java.time.temporal.WeekFields
|
import java.time.temporal.WeekFields
|
||||||
|
|
||||||
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
fun TrackingScreen() {
|
fun TrackingScreen() {
|
||||||
TopCalendar()
|
Column(
|
||||||
}
|
modifier = Modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
.fillMaxHeight()
|
||||||
@Preview(device = "id:pixel_5", locale = "de")
|
.background(MaterialTheme.colorScheme.background),
|
||||||
@Composable
|
horizontalAlignment = Alignment.CenterHorizontally
|
||||||
private fun TopCalendarPrev() {
|
) {
|
||||||
Box(Modifier.background(Color.White)) {
|
Column(
|
||||||
TopCalendar()
|
modifier = Modifier
|
||||||
|
.fillMaxWidth(0.9f),
|
||||||
|
horizontalAlignment = Alignment.CenterHorizontally
|
||||||
|
) {
|
||||||
|
Spacer(modifier = Modifier.height(20.dp))
|
||||||
|
Card(
|
||||||
|
) {
|
||||||
|
TopCalendar()
|
||||||
|
}
|
||||||
|
Spacer(modifier = Modifier.height(10.dp))
|
||||||
|
Button(
|
||||||
|
onClick = {
|
||||||
|
//TODO: Add diary card here
|
||||||
|
},
|
||||||
|
modifier = Modifier.fillMaxWidth(),
|
||||||
|
) {
|
||||||
|
Icon(Icons.Filled.Add, stringResource(R.string.btn_add_diarycard))
|
||||||
|
Text(stringResource(R.string.btn_add_diarycard))
|
||||||
|
}
|
||||||
|
Spacer(modifier = Modifier.height(10.dp))
|
||||||
|
TitledListCard(stringResource(R.string.card_therapy_hw_heading))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
|
@ -129,7 +160,7 @@ private fun TopCalendar() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun CalendarDaysGrid(selectedDateMut: MutableState<LocalDate>, modifier: Modifier = Modifier) {
|
fun CalendarDaysGrid(selectedDateMut: MutableState<LocalDate>) {
|
||||||
val locale = LocalConfiguration.current.locales[0]
|
val locale = LocalConfiguration.current.locales[0]
|
||||||
val selectedDate = selectedDateMut.value
|
val selectedDate = selectedDateMut.value
|
||||||
|
|
||||||
|
|
@ -172,7 +203,7 @@ fun CalendarDaysGrid(selectedDateMut: MutableState<LocalDate>, modifier: Modifie
|
||||||
if (day == selectedDate.dayOfMonth) {
|
if (day == selectedDate.dayOfMonth) {
|
||||||
dayBoxModifier = dayBoxModifier.border(
|
dayBoxModifier = dayBoxModifier.border(
|
||||||
2.dp,
|
2.dp,
|
||||||
MaterialTheme.colorScheme.primaryContainer,
|
MaterialTheme.colorScheme.onPrimaryContainer,
|
||||||
CircleShape
|
CircleShape
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
@ -186,4 +217,37 @@ fun CalendarDaysGrid(selectedDateMut: MutableState<LocalDate>, modifier: Modifie
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun TitledListCard(title: String) {
|
||||||
|
Card(
|
||||||
|
modifier = Modifier.fillMaxWidth()
|
||||||
|
) {
|
||||||
|
Column {
|
||||||
|
Row(
|
||||||
|
modifier = Modifier
|
||||||
|
.padding(10.dp)
|
||||||
|
.fillMaxWidth(),
|
||||||
|
horizontalArrangement = Arrangement.SpaceBetween,
|
||||||
|
verticalAlignment = Alignment.CenterVertically
|
||||||
|
) {
|
||||||
|
Text(
|
||||||
|
text = title,
|
||||||
|
style = MaterialTheme.typography.titleMedium
|
||||||
|
)
|
||||||
|
Icon(
|
||||||
|
modifier = Modifier
|
||||||
|
.size(30.dp)
|
||||||
|
.clip(CircleShape)
|
||||||
|
.clickable(onClick = {
|
||||||
|
//TODO: Add Therapiehausaufgabe
|
||||||
|
}),
|
||||||
|
imageVector = Icons.Filled.Add,
|
||||||
|
contentDescription = "TODO: Provide"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
HorizontalDivider()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -9,4 +9,6 @@
|
||||||
<string name="emergency_button_description">Notfallknopf</string>
|
<string name="emergency_button_description">Notfallknopf</string>
|
||||||
<string name="desc_btn_fav">Favorisieren Button</string>
|
<string name="desc_btn_fav">Favorisieren Button</string>
|
||||||
<string name="desc_btn_expand">Ausklappen</string>
|
<string name="desc_btn_expand">Ausklappen</string>
|
||||||
|
<string name="btn_add_diarycard">Diary Card Hinzufügen</string>
|
||||||
|
<string name="card_therapy_hw_heading">Therapiehausaufgaben</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -8,4 +8,6 @@
|
||||||
<string name="emergency_button_description">Emergency Button</string>
|
<string name="emergency_button_description">Emergency Button</string>
|
||||||
<string name="desc_btn_fav">Favourte Button</string>
|
<string name="desc_btn_fav">Favourte Button</string>
|
||||||
<string name="desc_btn_expand">Expand</string>
|
<string name="desc_btn_expand">Expand</string>
|
||||||
|
<string name="btn_add_diarycard">Add Diary Card</string>
|
||||||
|
<string name="card_therapy_hw_heading">Therapy Assignments</string>
|
||||||
</resources>
|
</resources>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue