Skip to content

Commit

Permalink
Update Vietnamese Strings
Browse files Browse the repository at this point in the history
  • Loading branch information
ZoeMeow1027 committed Apr 19, 2024
1 parent f9faa33 commit 8be8968
Show file tree
Hide file tree
Showing 11 changed files with 208 additions and 74 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ package io.zoemeow.dutschedule

class GlobalVariables {
companion object {
const val requestExpiredDuration = 1000 * 60 * 5
const val REQUEST_EXPIRED_DURATION = 1000 * 60 * 5
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ data class ProcessVariable<T>(
val onAfterRefresh: ((Boolean) -> Unit)? = null
) {
private fun isExpired(): Boolean {
return (lastRequest.longValue + GlobalVariables.requestExpiredDuration) < System.currentTimeMillis()
return (lastRequest.longValue + GlobalVariables.REQUEST_EXPIRED_DURATION) < System.currentTimeMillis()
}

private fun isSuccessfulRequestExpired(): Boolean {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ data class VariableListState<T>(
val parameters: MutableMap<String, String> = mutableMapOf()
) {
fun isExpired(): Boolean {
return (lastRequest.longValue + GlobalVariables.requestExpiredDuration) < System.currentTimeMillis()
return (lastRequest.longValue + GlobalVariables.REQUEST_EXPIRED_DURATION) < System.currentTimeMillis()
}

fun isSuccessfulRequestExpired(): Boolean {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ data class VariableState<T>(
val parameters: MutableMap<String, String> = mutableMapOf()
) {
fun isExpired(): Boolean {
return (lastRequest.longValue + GlobalVariables.requestExpiredDuration) < System.currentTimeMillis()
return (lastRequest.longValue + GlobalVariables.REQUEST_EXPIRED_DURATION) < System.currentTimeMillis()
}

fun isSuccessfulRequestExpired(): Boolean {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.zoemeow.dutschedule.ui.component.settings

import android.content.Context
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
Expand All @@ -17,11 +18,13 @@ import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import io.zoemeow.dutschedule.R
import io.zoemeow.dutschedule.activity.SettingsActivity
import io.zoemeow.dutschedule.ui.component.base.DialogBase

@Composable
fun SettingsActivity.AddNewSubjectFilterDialog(
context: Context,
isVisible: Boolean = false,
onDismiss: (() -> Unit)? = null,
onDone: ((String, String, String) -> Unit)? = null
Expand All @@ -32,7 +35,7 @@ fun SettingsActivity.AddNewSubjectFilterDialog(

DialogBase(
modifier = Modifier.fillMaxWidth().padding(25.dp),
title = "Add new filter",
title = context.getString(R.string.settings_newsnotify_newsfilter_dialogadd_title),
isVisible = isVisible,
canDismiss = false,
dismissClicked = { onDismiss?.let { it() } },
Expand All @@ -43,7 +46,7 @@ fun SettingsActivity.AddNewSubjectFilterDialog(
modifier = Modifier.fillMaxWidth(),
) {
Text(
text = "Enter your subject filter (you can view templates in sv.dut.udn.vn) and tap \"Add\" to add to filter above.\n\nExample:\n - 19 | 01 | Subject A\n - xx | 94A | Subject B\n\nNote:\n- You need to enter carefully, otherwise you won\'t received notifications exactly.",
text = context.getString(R.string.settings_newsnotify_newsfilter_dialogadd_description),
modifier = Modifier.padding(bottom = 5.dp)
)
Column(
Expand All @@ -64,7 +67,7 @@ fun SettingsActivity.AddNewSubjectFilterDialog(
OutlinedTextField(
value = schoolYearId.value,
onValueChange = { if (it.length <= 2) schoolYearId.value = it },
label = { Text("School year ID") },
label = { Text(context.getString(R.string.settings_newsnotify_newsfilter_dialogadd_schyear)) },
modifier = Modifier
.fillMaxWidth()
.wrapContentHeight()
Expand All @@ -74,7 +77,7 @@ fun SettingsActivity.AddNewSubjectFilterDialog(
OutlinedTextField(
value = classId.value,
onValueChange = { if (it.length <= 3) classId.value = it },
label = { Text("Class ID") },
label = { Text(context.getString(R.string.settings_newsnotify_newsfilter_dialogadd_class)) },
modifier = Modifier
.fillMaxWidth()
.wrapContentHeight()
Expand All @@ -85,7 +88,7 @@ fun SettingsActivity.AddNewSubjectFilterDialog(
OutlinedTextField(
value = subjectName.value,
onValueChange = { subjectName.value = it },
label = { Text("Subject name") },
label = { Text(context.getString(R.string.settings_newsnotify_newsfilter_dialogadd_schname)) },
modifier = Modifier.fillMaxWidth()
)
}
Expand All @@ -94,12 +97,12 @@ fun SettingsActivity.AddNewSubjectFilterDialog(
actionButtons = {
TextButton(
onClick = { onDismiss?.let { it() } },
content = { Text("Cancel") },
content = { Text(context.getString(R.string.action_cancel)) },
modifier = Modifier.padding(start = 8.dp),
)
TextButton(
onClick = { onDone?.let { it(schoolYearId.value, classId.value,subjectName.value) } },
content = { Text("Save") },
content = { Text(context.getString(R.string.action_save)) },
modifier = Modifier.padding(start = 8.dp),
)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.zoemeow.dutschedule.ui.component.settings

import android.content.Context
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
Expand All @@ -13,12 +14,14 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import io.zoemeow.dutschedule.R
import io.zoemeow.dutschedule.activity.SettingsActivity
import io.zoemeow.dutschedule.model.settings.SubjectCode
import io.zoemeow.dutschedule.ui.component.base.DialogBase

@Composable
fun SettingsActivity.DeleteASubjectFilterDialog(
context: Context,
subjectCode: SubjectCode = SubjectCode("", "", ""),
isVisible: Boolean = false,
onDismiss: (() -> Unit)? = null,
Expand All @@ -28,7 +31,7 @@ fun SettingsActivity.DeleteASubjectFilterDialog(
modifier = Modifier
.fillMaxWidth()
.padding(25.dp),
title = "Delete subject filter?",
title = context.getString(R.string.settings_newsnotify_newsfilter_dialogdelete_title),
isVisible = isVisible,
canDismiss = false,
dismissClicked = { onDismiss?.let { it() } },
Expand All @@ -39,11 +42,9 @@ fun SettingsActivity.DeleteASubjectFilterDialog(
modifier = Modifier.fillMaxWidth(),
) {
Text(
text = String.format(
"%s\n%s\n\n%s",
"Are you sure you want to delete this filter?",
String.format("%s [%s.Nh%s]", subjectCode.subjectName, subjectCode.studentYearId, subjectCode.classId),
"This action is undone!"
text = context.getString(
R.string.settings_newsnotify_newsfilter_dialogdelete_description,
String.format("%s [%s.Nh%s]", subjectCode.subjectName, subjectCode.studentYearId, subjectCode.classId)
),
modifier = Modifier.padding(bottom = 5.dp)
)
Expand All @@ -52,7 +53,7 @@ fun SettingsActivity.DeleteASubjectFilterDialog(
actionButtons = {
TextButton(
onClick = { onDismiss?.let { it() } },
content = { Text("No, take me back") },
content = { Text(context.getString(R.string.settings_newsnotify_newsfilter_dialogdelete_no)) },
modifier = Modifier.padding(start = 8.dp),
)
ElevatedButton(
Expand All @@ -61,7 +62,7 @@ fun SettingsActivity.DeleteASubjectFilterDialog(
contentColor = Color.White
),
onClick = { onDone?.let { it() } },
content = { Text("Yes, delete it") },
content = { Text(context.getString(R.string.settings_newsnotify_newsfilter_dialogdelete_yes)) },
modifier = Modifier.padding(start = 8.dp),
)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.zoemeow.dutschedule.ui.component.settings

import android.content.Context
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
Expand All @@ -13,18 +14,20 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import io.zoemeow.dutschedule.R
import io.zoemeow.dutschedule.activity.SettingsActivity
import io.zoemeow.dutschedule.ui.component.base.DialogBase

@Composable
fun SettingsActivity.DeleteAllSubjectFilterDialog(
context: Context,
isVisible: Boolean = false,
onDismiss: (() -> Unit)? = null,
onDone: (() -> Unit)? = null
) {
DialogBase(
modifier = Modifier.fillMaxWidth().padding(25.dp),
title = "Delete all subject filters?",
title = context.getString(R.string.settings_newsnotify_newsfilter_dialogdeleteall_title),
isVisible = isVisible,
canDismiss = false,
dismissClicked = { onDismiss?.let { it() } },
Expand All @@ -35,15 +38,15 @@ fun SettingsActivity.DeleteAllSubjectFilterDialog(
modifier = Modifier.fillMaxWidth(),
) {
Text(
text = "Are you sure you want to delete all subject filter?\n\nThis action is undone!",
text = context.getString(R.string.settings_newsnotify_newsfilter_dialogdeleteall_description),
modifier = Modifier.padding(bottom = 5.dp)
)
}
},
actionButtons = {
TextButton(
onClick = { onDismiss?.let { it() } },
content = { Text("No, take me back") },
content = { Text(context.getString(R.string.settings_newsnotify_newsfilter_dialogdelete_no)) },
modifier = Modifier.padding(start = 8.dp),
)
ElevatedButton(
Expand All @@ -52,7 +55,7 @@ fun SettingsActivity.DeleteAllSubjectFilterDialog(
contentColor = Color.White
),
onClick = { onDone?.let { it() } },
content = { Text("Yes, delete it") },
content = { Text(context.getString(R.string.settings_newsnotify_newsfilter_dialogdelete_yes)) },
modifier = Modifier.padding(start = 8.dp),
)
}
Expand Down
32 changes: 24 additions & 8 deletions app/src/main/java/io/zoemeow/dutschedule/ui/view/news/MainView.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ 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.layout.wrapContentHeight
import androidx.compose.foundation.pager.HorizontalPager
import androidx.compose.foundation.pager.rememberPagerState
import androidx.compose.material.icons.Icons
Expand Down Expand Up @@ -37,6 +38,7 @@ import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import com.google.gson.Gson
import io.dutwrapper.dutwrapper.model.news.NewsGlobalItem
Expand Down Expand Up @@ -137,25 +139,39 @@ fun NewsMainView(
horizontalArrangement = Arrangement.Center,
verticalAlignment = Alignment.CenterVertically
) {
SingleChoiceSegmentedButtonRow {
SingleChoiceSegmentedButtonRow(
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = 40.dp)
) {
SegmentedButton(
shape = SegmentedButtonDefaults.itemShape(index = 0, count = 2),
onClick = { scope.launch {
pagerState.animateScrollToPage(0)
} },
onClick = {
scope.launch {
pagerState.animateScrollToPage(0)
}
},
selected = pagerState.currentPage == 0,
label = {
Text(text = context.getString(R.string.news_tabname_global))
}
)
SegmentedButton(
modifier = Modifier.wrapContentHeight(),
shape = SegmentedButtonDefaults.itemShape(index = 1, count = 2),
onClick = { scope.launch {
pagerState.animateScrollToPage(1)
} },
onClick = {
scope.launch {
pagerState.animateScrollToPage(1)
}
},
selected = pagerState.currentPage == 1,
label = {
Text(text = context.getString(R.string.news_tabname_subject))
Text(
text = context.getString(R.string.news_tabname_subject),
overflow = TextOverflow.Visible,
softWrap = false,
maxLines = 1
)
}
)
}
Expand Down
Loading

0 comments on commit 8be8968

Please sign in to comment.