Skip to content
This repository was archived by the owner on Sep 17, 2025. It is now read-only.

Commit d86b798

Browse files
committed
Feat: Add app-name to DrawerContent
1 parent 2518f45 commit d86b798

2 files changed

Lines changed: 18 additions & 5 deletions

File tree

app/src/main/java/com/yangdai/opennote/presentation/component/main/DrawerContent.kt

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import androidx.compose.animation.AnimatedVisibility
44
import androidx.compose.foundation.layout.Arrangement
55
import androidx.compose.foundation.layout.Column
66
import androidx.compose.foundation.layout.Row
7-
import androidx.compose.foundation.layout.Spacer
87
import androidx.compose.foundation.layout.fillMaxWidth
98
import androidx.compose.foundation.layout.padding
109
import androidx.compose.foundation.rememberScrollState
@@ -30,12 +29,14 @@ import androidx.compose.runtime.LaunchedEffect
3029
import androidx.compose.runtime.getValue
3130
import androidx.compose.runtime.key
3231
import androidx.compose.runtime.mutableStateOf
32+
import androidx.compose.runtime.remember
3333
import androidx.compose.runtime.saveable.rememberSaveable
3434
import androidx.compose.runtime.setValue
3535
import androidx.compose.ui.Alignment
3636
import androidx.compose.ui.Modifier
3737
import androidx.compose.ui.graphics.Color
3838
import androidx.compose.ui.graphics.vector.ImageVector
39+
import androidx.compose.ui.platform.LocalContext
3940
import androidx.compose.ui.res.stringResource
4041
import androidx.compose.ui.text.font.FontWeight
4142
import androidx.compose.ui.text.style.TextAlign
@@ -46,6 +47,7 @@ import com.yangdai.opennote.data.local.entity.FolderEntity
4647
import com.yangdai.opennote.presentation.navigation.Screen
4748
import com.yangdai.opennote.presentation.navigation.Screen.Folders
4849
import com.yangdai.opennote.presentation.navigation.Screen.Settings
50+
import com.yangdai.opennote.presentation.util.getAppName
4951

5052
@Composable
5153
fun DrawerContent(
@@ -60,6 +62,9 @@ fun DrawerContent(
6062
.fillMaxWidth()
6163
.verticalScroll(rememberScrollState())
6264
) {
65+
val context = LocalContext.current
66+
val appName = remember { context.getAppName() }
67+
6368

6469
Row(
6570
modifier = Modifier
@@ -68,6 +73,14 @@ fun DrawerContent(
6873
horizontalArrangement = Arrangement.SpaceBetween,
6974
verticalAlignment = Alignment.CenterVertically
7075
) {
76+
Text(
77+
text = appName,
78+
style = MaterialTheme.typography.titleLarge,
79+
color = MaterialTheme.colorScheme.onSurface,
80+
fontWeight = FontWeight.SemiBold,
81+
modifier = Modifier.weight(1f)
82+
)
83+
7184
if (showLock)
7285
IconButton(onClick = onLockClick) {
7386
Icon(
@@ -77,8 +90,6 @@ fun DrawerContent(
7790
)
7891
}
7992

80-
Spacer(modifier = Modifier.weight(1f))
81-
8293
IconButton(onClick = { navigateTo(Settings) }) {
8394
Icon(
8495
imageVector = Icons.Outlined.Settings,
@@ -183,4 +194,4 @@ private fun DrawerItem(
183194
shape = MaterialTheme.shapes.medium,
184195
selected = isSelected,
185196
onClick = onClick
186-
)
197+
)

app/src/main/java/com/yangdai/opennote/presentation/util/Utils.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,4 +132,6 @@ fun Int.toHexColor(): String {
132132

133133
fun IntRange.overlaps(other: IntRange): Boolean {
134134
return this.first <= other.last && other.first <= this.last
135-
}
135+
}
136+
137+
fun Context.getAppName(): String = applicationInfo.loadLabel(packageManager).toString()

0 commit comments

Comments
 (0)