diff --git a/src/app.vue b/src/app.vue index d7992f08..79685756 100644 --- a/src/app.vue +++ b/src/app.vue @@ -1201,22 +1201,6 @@ const authenticating = ref(false); const password = ref(null); const requiresPassword = ref(null); -type Client = { - id: string; - name: string; - address: string; - enabled: boolean; - transferRx: number; - transferTx: number; - transferTxSeries: number; - transferRxSeries: number; - avatar?: string; - latestHandshakeAt: string | null; - createdAt: Date; - downloadableConfig: boolean; - updatedAt: Date; -} & Omit; - type ClientPersist = { transferRxHistory: number[]; transferRxPrevious: number; @@ -1230,7 +1214,7 @@ type ClientPersist = { hoverTx: unknown; }; -const clients = ref(null); +const clients = ref(null); const clientsPersist = ref>({}); const clientDelete = ref(null); const clientCreate = ref(null); @@ -1241,7 +1225,7 @@ const clientEditAddress = ref(null); const clientEditAddressId = ref(null); const qrcode = ref(null); -const currentRelease = ref(null); +const currentRelease = ref(null); const latestRelease = ref(null); const uiTrafficStats = ref(false); @@ -1522,6 +1506,7 @@ function updateClientAddress(client: Client, address: string | null) { } function restoreConfig(e) { e.preventDefault(); + console.log(e.currentTarget); const file = e.currentTarget.files.item(0); if (file) { file @@ -1601,7 +1586,7 @@ onMounted(() => { api .getChartType() .then((res) => { - uiChartType.value = parseInt(res, 10); + uiChartType.value = res; }) .catch(() => { uiChartType.value = 0; @@ -1666,7 +1651,7 @@ const updateCharts = computed(() => { return uiChartType.value > 0 && uiShowCharts.value; }); -function bytes(bytes: number, decimals? = 2, kib? = false, maxunit?: string) { +function bytes(bytes: number, decimals = 2, kib = false, maxunit?: string) { if (bytes === 0) return '0 B'; if (Number.isNaN(bytes) && !Number.isFinite(bytes)) return 'NaN'; const k = kib ? 1024 : 1000; diff --git a/src/server/api/lang.get.ts b/src/server/api/lang.get.ts index 154d05c5..274ec407 100644 --- a/src/server/api/lang.get.ts +++ b/src/server/api/lang.get.ts @@ -1,4 +1,4 @@ export default defineEventHandler((event) => { setHeader(event, 'Content-Type', 'application/json'); - return `"${LANG}"`; + return LANG; }); diff --git a/src/server/api/release.get.ts b/src/server/api/release.get.ts index a3418ba7..9734f984 100644 --- a/src/server/api/release.get.ts +++ b/src/server/api/release.get.ts @@ -1,4 +1,9 @@ export default defineEventHandler((event) => { setHeader(event, 'Content-Type', 'application/json'); - return RELEASE; + const release = Number.parseInt(RELEASE, 10); + if (isNaN(release)) { + return 0; + } + // TODO: move changelog logic here + return release; }); diff --git a/src/server/api/ui-chart-type.get.ts b/src/server/api/ui-chart-type.get.ts index aa831c9f..2d2f9d23 100644 --- a/src/server/api/ui-chart-type.get.ts +++ b/src/server/api/ui-chart-type.get.ts @@ -1,4 +1,8 @@ export default defineEventHandler((event) => { setHeader(event, 'Content-Type', 'application/json'); - return `"${UI_CHART_TYPE}"`; + const number = Number.parseInt(UI_CHART_TYPE, 10); + if (Number.isNaN(number)) { + return 0; + } + return number; }); diff --git a/src/server/api/ui-traffic-stats.get.ts b/src/server/api/ui-traffic-stats.get.ts index 00faee3b..06b61ec2 100644 --- a/src/server/api/ui-traffic-stats.get.ts +++ b/src/server/api/ui-traffic-stats.get.ts @@ -1,4 +1,4 @@ export default defineEventHandler((event) => { setHeader(event, 'Content-Type', 'application/json'); - return `"${UI_TRAFFIC_STATS}"`; + return UI_TRAFFIC_STATS === 'true' ? true : false; }); diff --git a/src/server/utils/config.ts b/src/server/utils/config.ts index ba857f50..dccbec98 100644 --- a/src/server/utils/config.ts +++ b/src/server/utils/config.ts @@ -49,7 +49,7 @@ iptables -D FORWARD -o wg0 -j ACCEPT; .join(' '); export const LANG = process.env.LANG || 'en'; export const UI_TRAFFIC_STATS = process.env.UI_TRAFFIC_STATS || 'false'; -export const UI_CHART_TYPE = process.env.UI_CHART_TYPE || 0; +export const UI_CHART_TYPE = process.env.UI_CHART_TYPE || '0'; export const REQUIRES_PASSWORD = !!PASSWORD_HASH; diff --git a/src/utils/api.ts b/src/utils/api.ts index b6619852..39a11fa4 100644 --- a/src/utils/api.ts +++ b/src/utils/api.ts @@ -117,4 +117,8 @@ class API { } } +export type WGClient = Awaited< + ReturnType +>[number]; + export default new API();