Skip to content

Commit b2ea2cb

Browse files
committed
mew
1 parent 78f9cbc commit b2ea2cb

21 files changed

Lines changed: 650 additions & 489 deletions

File tree

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ jobs:
7171
$env:PATH = "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin;$env:PATH"
7272
mkdir dist -Force
7373
cd cmd/volter-client
74-
rsrc -manifest app.manifest -o rsrc.syso
74+
rsrc -ico volter.ico -manifest app.manifest -o rsrc.syso
7575
$version = $env:GITHUB_REF -replace 'refs/tags/', ''
7676
go build -trimpath -ldflags "-s -w -X main.version=$version" -o ../../dist/volter-client-windows-amd64.exe .
7777
- name: fetch wintun

android/app/src/main/java/dev/c0redev/volter/theme/VolterSpacing.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ package dev.c0redev.volter.theme
33
import androidx.compose.ui.unit.dp
44

55
object VolterSpacing {
6-
val screenHorizontal = 18.dp
7-
val screenVertical = 14.dp
8-
val cardInner = 18.dp
9-
val sectionGap = 14.dp
6+
val screenHorizontal = 20.dp
7+
val screenVertical = 16.dp
8+
val cardInner = 20.dp
9+
val sectionGap = 16.dp
1010
val minTouch = 48.dp
1111
}

android/app/src/main/java/dev/c0redev/volter/theme/VolterTheme.kt

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,27 +11,27 @@ import androidx.compose.ui.text.font.FontWeight
1111
import androidx.compose.ui.unit.sp
1212

1313
private val VolterDarkColors = darkColorScheme(
14-
primary = Color(0xFF8DA8FF),
15-
onPrimary = Color(0xFF111A38),
16-
primaryContainer = Color(0xFF253262),
17-
onPrimaryContainer = Color(0xFFE1E8FF),
18-
secondary = Color(0xFF67D6C2),
19-
onSecondary = Color(0xFF003932),
20-
tertiary = Color(0xFF9EBCFF),
21-
onTertiary = Color(0xFF172347),
22-
background = Color(0xFF090D16),
14+
primary = Color(0xFF7CE7D2),
15+
onPrimary = Color(0xFF002D28),
16+
primaryContainer = Color(0xFF123E45),
17+
onPrimaryContainer = Color(0xFFD3FFF5),
18+
secondary = Color(0xFFA9B8FF),
19+
onSecondary = Color(0xFF171D48),
20+
tertiary = Color(0xFFFFB86B),
21+
onTertiary = Color(0xFF3D2200),
22+
background = Color(0xFF070B12),
2323
onBackground = Color(0xFFEAF0FF),
24-
surface = Color(0xFF0F1524),
24+
surface = Color(0xFF0C1320),
2525
onSurface = Color(0xFFEAF0FF),
26-
surfaceVariant = Color(0xFF1A2438),
27-
onSurfaceVariant = Color(0xFFB8C7E6),
28-
surfaceDim = Color(0xFF070B12),
29-
surfaceBright = Color(0xFF1B2435),
30-
surfaceContainerLowest = Color(0xFF0C1220),
31-
surfaceContainerLow = Color(0xFF111A2B),
32-
surfaceContainer = Color(0xFF162236),
33-
surfaceContainerHigh = Color(0xFF1D2B43),
34-
surfaceContainerHighest = Color(0xFF263653),
26+
surfaceVariant = Color(0xFF182334),
27+
onSurfaceVariant = Color(0xFFC3CBE0),
28+
surfaceDim = Color(0xFF05080E),
29+
surfaceBright = Color(0xFF1D293C),
30+
surfaceContainerLowest = Color(0xFF090F19),
31+
surfaceContainerLow = Color(0xFF0F1726),
32+
surfaceContainer = Color(0xFF142033),
33+
surfaceContainerHigh = Color(0xFF1A2940),
34+
surfaceContainerHighest = Color(0xFF263852),
3535
error = Color(0xFFFF8FA2),
3636
onError = Color(0xFF410002),
3737
errorContainer = Color(0xFF93000A),

android/app/src/main/java/dev/c0redev/volter/ui/AppNavGraph.kt

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import androidx.compose.foundation.layout.Box
77
import androidx.compose.foundation.layout.Row
88
import androidx.compose.foundation.layout.fillMaxHeight
99
import androidx.compose.foundation.layout.fillMaxSize
10+
import androidx.compose.foundation.shape.RoundedCornerShape
1011
import androidx.compose.material.icons.Icons
1112
import androidx.compose.material.icons.automirrored.outlined.ReceiptLong
1213
import androidx.compose.material.icons.outlined.Dns
@@ -23,6 +24,8 @@ import androidx.compose.material3.Scaffold
2324
import androidx.compose.material3.SnackbarHost
2425
import androidx.compose.material3.SnackbarHostState
2526
import androidx.compose.material3.Text
27+
import androidx.compose.material3.NavigationBarItemDefaults
28+
import androidx.compose.material3.NavigationRailItemDefaults
2629
import androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSizeClassApi
2730
import androidx.compose.material3.windowsizeclass.WindowWidthSizeClass
2831
import androidx.compose.material3.windowsizeclass.calculateWindowSizeClass
@@ -105,8 +108,8 @@ fun AppNavGraph(vm: ConnectionViewModel) {
105108
bottomBar = {
106109
if (!useRail) {
107110
NavigationBar(
108-
containerColor = MaterialTheme.colorScheme.surface,
109-
tonalElevation = 0.dp,
111+
containerColor = MaterialTheme.colorScheme.surfaceContainer.copy(alpha = 0.96f),
112+
tonalElevation = 8.dp,
110113
) {
111114
navItems.forEach { item ->
112115
val cd = stringResource(R.string.common_cd_nav, stringResource(item.labelRes))
@@ -121,6 +124,13 @@ fun AppNavGraph(vm: ConnectionViewModel) {
121124
},
122125
icon = { item.icon(cd) },
123126
label = { Text(stringResource(item.labelRes)) },
127+
colors = NavigationBarItemDefaults.colors(
128+
selectedIconColor = MaterialTheme.colorScheme.onPrimaryContainer,
129+
selectedTextColor = MaterialTheme.colorScheme.primary,
130+
indicatorColor = MaterialTheme.colorScheme.primaryContainer,
131+
unselectedIconColor = MaterialTheme.colorScheme.onSurfaceVariant,
132+
unselectedTextColor = MaterialTheme.colorScheme.onSurfaceVariant,
133+
),
124134
)
125135
}
126136
}
@@ -130,7 +140,7 @@ fun AppNavGraph(vm: ConnectionViewModel) {
130140
Row(Modifier.fillMaxSize()) {
131141
if (useRail) {
132142
NavigationRail(
133-
containerColor = MaterialTheme.colorScheme.surface,
143+
containerColor = MaterialTheme.colorScheme.surfaceContainer.copy(alpha = 0.96f),
134144
) {
135145
navItems.forEach { item ->
136146
val cd = stringResource(R.string.common_cd_nav, stringResource(item.labelRes))
@@ -146,6 +156,13 @@ fun AppNavGraph(vm: ConnectionViewModel) {
146156
icon = { item.icon(cd) },
147157
label = { Text(stringResource(item.labelRes)) },
148158
alwaysShowLabel = true,
159+
colors = NavigationRailItemDefaults.colors(
160+
selectedIconColor = MaterialTheme.colorScheme.onPrimaryContainer,
161+
selectedTextColor = MaterialTheme.colorScheme.primary,
162+
indicatorColor = MaterialTheme.colorScheme.primaryContainer,
163+
unselectedIconColor = MaterialTheme.colorScheme.onSurfaceVariant,
164+
unselectedTextColor = MaterialTheme.colorScheme.onSurfaceVariant,
165+
),
149166
)
150167
}
151168
}

android/app/src/main/java/dev/c0redev/volter/ui/components/ConfigProfileCard.kt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ fun ConfigProfileCard(
8181
val hostLine = serverHostFromField(item.config.server)
8282
val geo = item.geo
8383

84-
val cardShape = RoundedCornerShape(22.dp)
84+
val cardShape = RoundedCornerShape(26.dp)
8585
val borderMod = if (isActive) {
8686
Modifier.border(1.5.dp, scheme.primary.copy(alpha = 0.65f), cardShape)
8787
} else {
@@ -93,21 +93,21 @@ fun ConfigProfileCard(
9393
.then(borderMod),
9494
shape = cardShape,
9595
elevation = CardDefaults.elevatedCardElevation(
96-
defaultElevation = if (isActive) 7.dp else 4.dp,
96+
defaultElevation = if (isActive) 10.dp else 6.dp,
9797
),
9898
colors = CardDefaults.elevatedCardColors(
9999
containerColor = if (isActive) {
100-
scheme.primaryContainer.copy(alpha = 0.52f)
100+
scheme.primaryContainer.copy(alpha = 0.68f)
101101
} else {
102-
scheme.surfaceContainerHigh
102+
scheme.surfaceContainer.copy(alpha = 0.98f)
103103
},
104104
),
105105
) {
106106
Column(
107107
modifier = Modifier
108108
.fillMaxWidth()
109-
.padding(18.dp),
110-
verticalArrangement = Arrangement.spacedBy(12.dp),
109+
.padding(20.dp),
110+
verticalArrangement = Arrangement.spacedBy(14.dp),
111111
) {
112112
Row(
113113
modifier = Modifier.fillMaxWidth(),
@@ -116,9 +116,9 @@ fun ConfigProfileCard(
116116
) {
117117
Box(
118118
modifier = Modifier
119-
.size(52.dp)
120-
.clip(RoundedCornerShape(16.dp))
121-
.background(scheme.primaryContainer.copy(alpha = 0.62f)),
119+
.size(56.dp)
120+
.clip(RoundedCornerShape(18.dp))
121+
.background(scheme.primaryContainer.copy(alpha = 0.8f)),
122122
contentAlignment = Alignment.Center,
123123
) {
124124
Text(

android/app/src/main/java/dev/c0redev/volter/ui/components/UiKit.kt

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@ import androidx.compose.foundation.layout.fillMaxSize
1010
import androidx.compose.foundation.layout.fillMaxWidth
1111
import androidx.compose.foundation.layout.padding
1212
import androidx.compose.foundation.shape.RoundedCornerShape
13+
import androidx.compose.foundation.background
1314
import androidx.compose.material3.Card
1415
import androidx.compose.material3.CardDefaults
1516
import androidx.compose.material3.MaterialTheme
1617
import androidx.compose.material3.Text
1718
import androidx.compose.runtime.Composable
1819
import androidx.compose.ui.Modifier
1920
import androidx.compose.ui.draw.shadow
21+
import androidx.compose.ui.graphics.Brush
2022
import androidx.compose.ui.tooling.preview.Preview
2123
import androidx.compose.ui.unit.dp
2224
import dev.c0redev.volter.theme.VolterSpacing
@@ -30,6 +32,14 @@ fun ScreenContainer(
3032
Column(
3133
modifier = Modifier
3234
.fillMaxSize()
35+
.background(
36+
Brush.verticalGradient(
37+
listOf(
38+
MaterialTheme.colorScheme.background,
39+
MaterialTheme.colorScheme.surfaceContainerLowest,
40+
),
41+
),
42+
)
3343
.padding(padding)
3444
.padding(horizontal = VolterSpacing.screenHorizontal, vertical = VolterSpacing.screenVertical),
3545
verticalArrangement = Arrangement.spacedBy(VolterSpacing.sectionGap),
@@ -48,15 +58,15 @@ fun SectionCard(
4858
.fillMaxWidth()
4959
.then(if (expandHeight) Modifier.fillMaxHeight() else Modifier)
5060
.shadow(
51-
elevation = 8.dp,
52-
shape = RoundedCornerShape(20.dp),
53-
ambientColor = MaterialTheme.colorScheme.primary.copy(alpha = 0.14f),
54-
spotColor = MaterialTheme.colorScheme.primary.copy(alpha = 0.1f),
61+
elevation = 12.dp,
62+
shape = RoundedCornerShape(24.dp),
63+
ambientColor = MaterialTheme.colorScheme.primary.copy(alpha = 0.18f),
64+
spotColor = MaterialTheme.colorScheme.secondary.copy(alpha = 0.12f),
5565
),
5666
colors = CardDefaults.cardColors(
57-
containerColor = MaterialTheme.colorScheme.surfaceContainerHigh,
67+
containerColor = MaterialTheme.colorScheme.surfaceContainer.copy(alpha = 0.96f),
5868
),
59-
shape = RoundedCornerShape(20.dp),
69+
shape = RoundedCornerShape(24.dp),
6070
) {
6171
Box(
6272
modifier = Modifier

0 commit comments

Comments
 (0)