From 767c633afa651d0475d89d834fc8539411308360 Mon Sep 17 00:00:00 2001 From: nessi Date: Tue, 17 Mar 2026 21:49:55 +0100 Subject: [PATCH] refactor: simplify desktop client UI labels and remove local config section Replace Unix timestamp with "Just now" label in now_label helper. Update profile label from "No profile provisioned" to "Not provisioned". Change brand copy subtitle based on enrollment state. Rename "Current profile" to "Overview" and "Profile" to "Access" in status panel. Remove "Stored config" surface section showing profile path and revision. Update resources sidebar instructions and rename resource-list to resource- --- desktop-client/src-tauri/src/lib.rs | 8 ++------ desktop-client/src/App.tsx | 31 ++++++----------------------- desktop-client/src/styles.css | 18 ++++++++--------- 3 files changed, 17 insertions(+), 40 deletions(-) diff --git a/desktop-client/src-tauri/src/lib.rs b/desktop-client/src-tauri/src/lib.rs index 2751410..6b17850 100644 --- a/desktop-client/src-tauri/src/lib.rs +++ b/desktop-client/src-tauri/src/lib.rs @@ -1,6 +1,6 @@ mod tunnel_manager; -use std::{fs, path::PathBuf, sync::Mutex, time::{SystemTime, UNIX_EPOCH}}; +use std::{fs, path::PathBuf, sync::Mutex}; use base64::{engine::general_purpose::STANDARD, Engine as _}; use rand_core::OsRng; @@ -314,11 +314,7 @@ fn generate_keypair() -> (String, String) { } fn now_label() -> String { - let seconds = SystemTime::now() - .duration_since(UNIX_EPOCH) - .map(|duration| duration.as_secs()) - .unwrap_or(0); - format!("synced at {}", seconds) + "Just now".into() } fn build_fingerprint(server_url: &str, username: &str, public_key: &str) -> String { diff --git a/desktop-client/src/App.tsx b/desktop-client/src/App.tsx index 61b7f3f..2fb79fe 100644 --- a/desktop-client/src/App.tsx +++ b/desktop-client/src/App.tsx @@ -25,7 +25,7 @@ function formatInvokeError(err: unknown, fallback: string) { function currentProfileLabel(state: EnrollmentState | null) { if (!state) { - return "No profile provisioned"; + return "Not provisioned"; } if (state.resources.includes("0.0.0.0/0")) { @@ -123,7 +123,7 @@ export function App() {

NexaVPN

VPN Client

-

{state ? profileLabel : "Sign in to provision this device"}

+

{state ? "Private access client" : "Sign in to add this device"}

@@ -190,7 +190,7 @@ export function App() {

Connection

-

Current profile

+

Overview

@@ -203,7 +203,7 @@ export function App() { {state.gatewayEndpoint}
- Profile + Access {profileLabel}
@@ -213,25 +213,6 @@ export function App() {
-
-
-
-

Local

-

Stored config

-
-
-
-
- Profile path - {state.profilePath} -
-
- Revision - {state.profileRevision} -
-
-
- {error ?
{error}
: null} )} @@ -243,8 +224,8 @@ export function App() {

Resources

-

After policy changes, press Sync to refresh this device profile.

-