From 79ad3c0a844eb4d2e3720d6777ed0773a87c46ce Mon Sep 17 00:00:00 2001 From: Donald Zou Date: Thu, 26 Jun 2025 17:56:55 +0800 Subject: [PATCH] Reconstruct Client App UI --- src/client.py | 8 ++ src/modules/DashboardClientsPeerAssignment.py | 1 - src/requirements.txt | 3 +- .../configurationComponents/peer.vue | 1 + .../Configuration/configuration.vue | 79 +++++++++++++++---- src/static/client/src/main.js | 14 +++- src/static/client/src/stores/clientStore.js | 16 +--- src/static/client/src/views/index.vue | 4 + 8 files changed, 88 insertions(+), 38 deletions(-) diff --git a/src/client.py b/src/client.py index 1333f33..1312805 100644 --- a/src/client.py +++ b/src/client.py @@ -1,3 +1,5 @@ +from tzlocal import get_localzone + from functools import wraps from flask import Blueprint, render_template, abort, request, Flask, current_app, session @@ -91,6 +93,12 @@ def createClientBlueprint(wireguardConfigurations: dict[WireguardConfiguration], def ClientIndex(): return render_template('client.html') + @client.get(f'{prefix}/api/serverInformation') + def ClientAPI_ServerInformation(): + return ResponseObject(data={ + "ServerTimezone": str(get_localzone()) + }) + @client.get(f'{prefix}/api/validateAuthentication') @login_required def ClientAPI_ValidateAuthentication(): diff --git a/src/modules/DashboardClientsPeerAssignment.py b/src/modules/DashboardClientsPeerAssignment.py index b53ccdd..9e1e663 100644 --- a/src/modules/DashboardClientsPeerAssignment.py +++ b/src/modules/DashboardClientsPeerAssignment.py @@ -3,7 +3,6 @@ import uuid from .ConnectionString import ConnectionString from .DashboardLogger import DashboardLogger import sqlalchemy as db - from .WireguardConfiguration import WireguardConfiguration diff --git a/src/requirements.txt b/src/requirements.txt index 586867f..91905af 100644 --- a/src/requirements.txt +++ b/src/requirements.txt @@ -11,4 +11,5 @@ tcconfig sqlalchemy sqlalchemy_utils psycopg2 -mysqlclient \ No newline at end of file +mysqlclient +tzlocal \ No newline at end of file diff --git a/src/static/app/src/components/configurationComponents/peer.vue b/src/static/app/src/components/configurationComponents/peer.vue index 1ecc1fa..38ace56 100644 --- a/src/static/app/src/components/configurationComponents/peer.vue +++ b/src/static/app/src/components/configurationComponents/peer.vue @@ -6,6 +6,7 @@ import PeerSettingsDropdown from "@/components/configurationComponents/peerSetti import LocaleText from "@/components/text/localeText.vue"; import {DashboardConfigurationStore} from "@/stores/DashboardConfigurationStore.js"; import {GetLocale} from "../../utilities/locale.js"; + export default { name: "peer", methods: {GetLocale}, diff --git a/src/static/client/src/components/Configuration/configuration.vue b/src/static/client/src/components/Configuration/configuration.vue index e1a22d8..c06a69f 100644 --- a/src/static/client/src/components/Configuration/configuration.vue +++ b/src/static/client/src/components/Configuration/configuration.vue @@ -1,12 +1,50 @@