feat(ui): clearer Сайты mode toggle («Сайты из списка: через прокси/напрямую»)

Drops misleading «Всё»; explainer states the rest, with a note that the per-app filter applies.
This commit is contained in:
heaven 2026-06-16 16:21:40 +03:00
parent 1e4796be2b
commit 7877cb49f0

View file

@ -110,15 +110,22 @@ fun SitesScreen(
} }
Spacer(Modifier.height(12.dp)) Spacer(Modifier.height(12.dp))
SectionLabel("Сайты из списка")
Spacer(Modifier.height(6.dp))
ModeToggle(routingMode, onSetMode) ModeToggle(routingMode, onSetMode)
Spacer(Modifier.height(6.dp)) Spacer(Modifier.height(6.dp))
Text( Text(
when (routingMode) { when (routingMode) {
RoutingMode.PROXY_ALL -> "Сайты из списка идут напрямую, остальной трафик — через прокси." RoutingMode.PROXY_ALL -> "Остальной трафик идёт через прокси."
RoutingMode.DIRECT_ALL -> "Сайты из списка идут через прокси, остальной трафик — напрямую." RoutingMode.DIRECT_ALL -> "Остальной трафик идёт напрямую."
}, },
color = Vojo.faint, fontSize = 12.sp, color = Vojo.faint, fontSize = 12.sp,
) )
Spacer(Modifier.height(2.dp))
Text(
"С учётом фильтра из вкладки «Приложения».",
color = Vojo.faint, fontSize = 11.sp,
)
Spacer(Modifier.height(12.dp)) Spacer(Modifier.height(12.dp))
// Manual suffix domain (example.com covers subdomains). // Manual suffix domain (example.com covers subdomains).
@ -274,8 +281,10 @@ private fun ModeToggle(mode: RoutingMode, onSet: (RoutingMode) -> Unit) {
Row( Row(
Modifier.fillMaxWidth().clip(RoundedCornerShape(12.dp)).background(Vojo.bgPanel).border(1.dp, Vojo.divider, RoundedCornerShape(12.dp)).padding(3.dp), Modifier.fillMaxWidth().clip(RoundedCornerShape(12.dp)).background(Vojo.bgPanel).border(1.dp, Vojo.divider, RoundedCornerShape(12.dp)).padding(3.dp),
) { ) {
ModePill("Всё через прокси", mode == RoutingMode.PROXY_ALL, Modifier.weight(1f)) { onSet(RoutingMode.PROXY_ALL) } // The toggle states what the LISTED sites do: «через прокси» = list proxied, rest direct
ModePill("Всё напрямую", mode == RoutingMode.DIRECT_ALL, Modifier.weight(1f)) { onSet(RoutingMode.DIRECT_ALL) } // (DIRECT_ALL); «напрямую» = list bypasses the proxy, rest proxied (PROXY_ALL).
ModePill("через прокси", mode == RoutingMode.DIRECT_ALL, Modifier.weight(1f)) { onSet(RoutingMode.DIRECT_ALL) }
ModePill("напрямую", mode == RoutingMode.PROXY_ALL, Modifier.weight(1f)) { onSet(RoutingMode.PROXY_ALL) }
} }
} }