From c3db347da6eb16d412f908a942c8fa5fe5a46024 Mon Sep 17 00:00:00 2001 From: Ultradesu Date: Mon, 29 Jun 2026 21:13:50 +0300 Subject: [PATCH] Changed server widget status texzt --- src/i18n/phrases.rs | 2 +- src/vpn.rs | 6 +++--- templates/configs.html | 12 ++++++++---- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/i18n/phrases.rs b/src/i18n/phrases.rs index 8f0a7a5..72b0885 100644 --- a/src/i18n/phrases.rs +++ b/src/i18n/phrases.rs @@ -108,7 +108,7 @@ translations! { configs_config_hash: "Config hash" , "Хэш конфига"; configs_status_applied: "applied" , "применён"; configs_status_starting: "starting" , "стартует"; - configs_status_pending_restart: "pending restart" , "ждёт рестарт"; + configs_status_pending_apply: "pending apply" , "ждёт применения"; configs_status_error: "reload error" , "ошибка reload"; configs_status_unknown: "unknown" , "неизвестно"; configs_never: "n/a" , "н/д"; diff --git a/src/vpn.rs b/src/vpn.rs index cf7062b..5183dae 100644 --- a/src/vpn.rs +++ b/src/vpn.rs @@ -820,10 +820,10 @@ fn rollout_status( let effective_applied_at_ms = started_at_ms.into_iter().chain(config_applied_at_ms).max(); match (config_updated_at_ms, effective_applied_at_ms) { (None, _) => "unknown".to_owned(), - (Some(_), None) => "pending_restart".to_owned(), + (Some(_), None) => "pending_apply".to_owned(), (Some(updated), Some(started)) if started >= updated && ready => "applied".to_owned(), (Some(updated), Some(started)) if started >= updated => "starting".to_owned(), - (Some(_), Some(_)) => "pending_restart".to_owned(), + (Some(_), Some(_)) => "pending_apply".to_owned(), } } @@ -1088,7 +1088,7 @@ mod tests { ); assert_eq!( rollout_status(Some(2_000), Some(1_000), None, None, true), - "pending_restart" + "pending_apply" ); } diff --git a/templates/configs.html b/templates/configs.html index 9e77d5c..8a72c65 100644 --- a/templates/configs.html +++ b/templates/configs.html @@ -51,21 +51,24 @@ .rollout-tile:hover::after, .rollout-tile:focus-within::after { opacity: 1; transform: translateY(0); } .rollout-tile-applied { border-left-color: #2f8f4e; } .rollout-tile-starting { border-left-color: #d39a00; } - .rollout-tile-pending_restart { border-left-color: #c83f31; } + .rollout-tile-pending_apply { border-left-color: #d39a00; } + .rollout-tile-pending_restart { border-left-color: #d39a00; } .rollout-tile-error { border-left-color: #c83f31; } .rollout-tile-unknown { border-left-color: #7b8793; } .rollout-tile-head { display: flex; align-items: center; min-width: 0; gap: .45rem; } .rollout-dot { width: .55rem; height: .55rem; border-radius: 999px; flex: 0 0 auto; background: #7b8793; } .rollout-dot-applied { background: #2f8f4e; } .rollout-dot-starting { background: #d39a00; } - .rollout-dot-pending_restart { background: #c83f31; } + .rollout-dot-pending_apply { background: #d39a00; } + .rollout-dot-pending_restart { background: #d39a00; } .rollout-dot-error { background: #c83f31; } .rollout-dot-unknown { background: #7b8793; } .rollout-server { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; color: #1d252d; } .rollout-badge { display: inline-flex; align-items: center; min-height: 24px; padding: .15rem .45rem; border-radius: 4px; font-size: .82rem; font-weight: 700; white-space: nowrap; } .rollout-applied { background: #dcefe4; color: #175c31; } .rollout-starting { background: #fff0c2; color: #6f4e00; } - .rollout-pending_restart { background: #ffe3df; color: #8b2116; } + .rollout-pending_apply { background: #fff0c2; color: #6f4e00; } + .rollout-pending_restart { background: #fff0c2; color: #6f4e00; } .rollout-error { background: #ffe3df; color: #8b2116; } .rollout-unknown { background: #e8ecef; color: #53606d; } .rollout-foot { display: flex; align-items: center; justify-content: space-between; gap: .5rem; color: #53606d; font-size: .82rem; } @@ -602,7 +605,8 @@ function configsPage() { const labels = { applied: '{{ t.configs_status_applied }}', starting: '{{ t.configs_status_starting }}', - pending_restart: '{{ t.configs_status_pending_restart }}', + pending_apply: '{{ t.configs_status_pending_apply }}', + pending_restart: '{{ t.configs_status_pending_apply }}', error: '{{ t.configs_status_error }}', unknown: '{{ t.configs_status_unknown }}', };