mirror of
https://github.com/donaldzou/WGDashboard.git
synced 2025-10-04 08:16:17 +00:00
Adjusted styles
This commit is contained in:
@@ -1491,7 +1491,11 @@ def peerInformationBackgroundThread():
|
|||||||
time.sleep(10)
|
time.sleep(10)
|
||||||
while True:
|
while True:
|
||||||
with app.app_context():
|
with app.app_context():
|
||||||
for c in WireguardConfigurations.values():
|
try:
|
||||||
|
curKeys = list(WireguardConfigurations.keys())
|
||||||
|
for name in curKeys:
|
||||||
|
if name in WireguardConfigurations.keys() and WireguardConfigurations.get(name) is not None:
|
||||||
|
c = WireguardConfigurations.get(name)
|
||||||
if c.getStatus():
|
if c.getStatus():
|
||||||
c.getPeersLatestHandshake()
|
c.getPeersLatestHandshake()
|
||||||
c.getPeersTransfer()
|
c.getPeersTransfer()
|
||||||
@@ -1500,6 +1504,9 @@ def peerInformationBackgroundThread():
|
|||||||
if delay == 6:
|
if delay == 6:
|
||||||
c.logPeersTraffic()
|
c.logPeersTraffic()
|
||||||
c.getRestrictedPeersList()
|
c.getRestrictedPeersList()
|
||||||
|
except Exception as e:
|
||||||
|
print(f"[WGDashboard] Background Thread #1 Error: {str(e)}", flush=True)
|
||||||
|
|
||||||
if delay == 6:
|
if delay == 6:
|
||||||
delay = 1
|
delay = 1
|
||||||
else:
|
else:
|
||||||
|
@@ -30,7 +30,6 @@ Chart.register(
|
|||||||
PointElement,
|
PointElement,
|
||||||
Filler
|
Filler
|
||||||
);
|
);
|
||||||
import {Line} from "vue-chartjs";
|
|
||||||
import PeerSessions from "@/components/peerDetailsModalComponents/peerSessions.vue";
|
import PeerSessions from "@/components/peerDetailsModalComponents/peerSessions.vue";
|
||||||
import PeerTraffics from "@/components/peerDetailsModalComponents/peerTraffics.vue";
|
import PeerTraffics from "@/components/peerDetailsModalComponents/peerTraffics.vue";
|
||||||
const props = defineProps(['selectedPeer'])
|
const props = defineProps(['selectedPeer'])
|
||||||
@@ -39,10 +38,10 @@ defineEmits(['close'])
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll">
|
<div class="peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll ">
|
||||||
<div class=" d-flex h-100 w-100">
|
<div class="d-flex h-100 w-100 pb-2">
|
||||||
<div class="w-100 p-2">
|
<div class="m-auto w-100 p-2">
|
||||||
<div class="card rounded-3 shadow" style="width: 100%">
|
<div class="card rounded-3 shadow h-100" >
|
||||||
<div class="card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2">
|
<div class="card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2">
|
||||||
<h4 class="mb-0 fw-normal">
|
<h4 class="mb-0 fw-normal">
|
||||||
<LocaleText t="Peer Details"></LocaleText>
|
<LocaleText t="Peer Details"></LocaleText>
|
||||||
@@ -102,7 +101,7 @@ defineEmits(['close'])
|
|||||||
<LocaleText t="Latest Handshake Time"></LocaleText>
|
<LocaleText t="Latest Handshake Time"></LocaleText>
|
||||||
</small></p>
|
</small></p>
|
||||||
<strong class="h4">
|
<strong class="h4">
|
||||||
<LocaleText :t="selectedPeer.latest_handshake + ' ago'"></LocaleText>
|
<LocaleText :t="selectedPeer.latest_handshake !== 'No Handshake' ? selectedPeer.latest_handshake + ' ago': 'No Handshake'"></LocaleText>
|
||||||
</strong>
|
</strong>
|
||||||
</div>
|
</div>
|
||||||
<i class="bi bi-person-raised-hand ms-auto h2 text-muted"></i>
|
<i class="bi bi-person-raised-hand ms-auto h2 text-muted"></i>
|
||||||
@@ -150,19 +149,18 @@ defineEmits(['close'])
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-12">
|
||||||
|
<PeerTraffics
|
||||||
|
:selectedDate="selectedDate"
|
||||||
|
:selectedPeer="selectedPeer"></PeerTraffics>
|
||||||
|
</div>
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<PeerSessions
|
<PeerSessions
|
||||||
:selectedDate="selectedDate"
|
:selectedDate="selectedDate"
|
||||||
@selectDate="args => selectedDate = args"
|
@selectDate="args => selectedDate = args"
|
||||||
:selectedPeer="selectedPeer"></PeerSessions>
|
:selectedPeer="selectedPeer"></PeerSessions>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12">
|
|
||||||
<PeerTraffics
|
|
||||||
:selectedDate="selectedDate"
|
|
||||||
:selectedPeer="selectedPeer"></PeerTraffics>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
@@ -42,7 +42,7 @@ defineEmits(['openDetails'])
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="d-flex gap-1 flex-column" @click="$emit('openDetails', sessionsOfToday)">
|
<div class="d-flex gap-1 flex-column session-list" @click="$emit('openDetails', sessionsOfToday)">
|
||||||
<small v-if="sessionsOfToday.length > 0" class="sessions-label">
|
<small v-if="sessionsOfToday.length > 0" class="sessions-label">
|
||||||
<LocaleText :t="sessionsOfToday.length + ' Session' + (sessionsOfToday.length > 1 ? 's':'')"></LocaleText>
|
<LocaleText :t="sessionsOfToday.length + ' Session' + (sessionsOfToday.length > 1 ? 's':'')"></LocaleText>
|
||||||
</small>
|
</small>
|
||||||
@@ -50,7 +50,7 @@ defineEmits(['openDetails'])
|
|||||||
<div class="bg-warning"
|
<div class="bg-warning"
|
||||||
style="height: 5px; width: 5px; border-radius: 100%; vertical-align: top" v-for="_ in sessionsOfToday.length"></div>
|
style="height: 5px; width: 5px; border-radius: 100%; vertical-align: top" v-for="_ in sessionsOfToday.length"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-1 badge text-bg-warning text-start session-list" v-for="s in sessionsOfToday">
|
<div class="p-1 badge text-bg-warning text-start session-badge-list" v-for="s in sessionsOfToday">
|
||||||
<div>
|
<div>
|
||||||
<i class="bi bi-stopwatch me-1"></i>{{ s.timestamps[0].format("HH:mm:ss") }}<i class="bi bi-arrow-right mx-1"></i>{{ s.timestamps[s.timestamps.length - 1].format("HH:mm:ss") }}
|
<i class="bi bi-stopwatch me-1"></i>{{ s.timestamps[0].format("HH:mm:ss") }}<i class="bi bi-arrow-right mx-1"></i>{{ s.timestamps[s.timestamps.length - 1].format("HH:mm:ss") }}
|
||||||
</div>
|
</div>
|
||||||
@@ -63,7 +63,7 @@ defineEmits(['openDetails'])
|
|||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
@media screen and (max-width: 992px) {
|
@media screen and (max-width: 992px) {
|
||||||
.calendar-day .session-list{
|
.calendar-day .session-badge-list{
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,10 +71,21 @@ defineEmits(['openDetails'])
|
|||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.session-list{
|
||||||
|
aspect-ratio: 1 / 1;
|
||||||
|
}
|
||||||
@media screen and (min-width: 992px) {
|
@media screen and (min-width: 992px) {
|
||||||
.session-dot{
|
.session-dot{
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.session-list{
|
||||||
|
height: calc(100vh / 8);
|
||||||
|
overflow: scroll;
|
||||||
|
aspect-ratio: auto !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</style>
|
</style>
|
@@ -29,6 +29,14 @@ const calendarDays = computed(() => {
|
|||||||
dates.push(cur)
|
dates.push(cur)
|
||||||
cur = cur.add(1, 'day')
|
cur = cur.add(1, 'day')
|
||||||
}
|
}
|
||||||
|
if (dates.length < 42){
|
||||||
|
let q = 42 - dates.length
|
||||||
|
for (let i = 0; i < q; i++){
|
||||||
|
console.log('push')
|
||||||
|
dates.push(cur)
|
||||||
|
cur = cur.add(1, 'day')
|
||||||
|
}
|
||||||
|
}
|
||||||
return dates
|
return dates
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -43,7 +51,7 @@ const getSessions = async () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
await getSessions()
|
getSessions()
|
||||||
interval.value = setInterval(async () => {
|
interval.value = setInterval(async () => {
|
||||||
await getSessions()
|
await getSessions()
|
||||||
}, 60000)
|
}, 60000)
|
||||||
@@ -92,10 +100,10 @@ const emits = defineEmits(['selectDate'])
|
|||||||
'border-bottom': index < calendarDays.length - 7,
|
'border-bottom': index < calendarDays.length - 7,
|
||||||
'extra-day': !day.isSame(today, 'month')}"
|
'extra-day': !day.isSame(today, 'month')}"
|
||||||
v-for="(day, index) in calendarDays">
|
v-for="(day, index) in calendarDays">
|
||||||
<h5 class="d-flex">
|
<h6 class="d-flex day-label">
|
||||||
{{ day.format('D')}}
|
{{ day.format('D')}}
|
||||||
<i class="bi bi-check-circle-fill ms-auto" v-if="selectedDate && selectedDate.isSame(day, 'D')"></i>
|
<i class="bi bi-check-circle-fill ms-auto" v-if="selectedDate && selectedDate.isSame(day, 'D')"></i>
|
||||||
</h5>
|
</h6>
|
||||||
<PeerSessionCalendarDay
|
<PeerSessionCalendarDay
|
||||||
class="flex-grow-1"
|
class="flex-grow-1"
|
||||||
@openDetails="args => {dayDetailsData = {day: day, details: args}; dayDetails = true}"
|
@openDetails="args => {dayDetailsData = {day: day, details: args}; dayDetails = true}"
|
||||||
@@ -163,7 +171,7 @@ const emits = defineEmits(['selectDate'])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.extra-day h5{
|
.extra-day .day-label{
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
@@ -24,7 +24,7 @@ const getTraffic = async () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
const interval = ref(undefined)
|
const interval = ref(undefined)
|
||||||
await getTraffic()
|
getTraffic()
|
||||||
interval.value = setInterval(async () => {
|
interval.value = setInterval(async () => {
|
||||||
await getTraffic()
|
await getTraffic()
|
||||||
}, 60000)
|
}, 60000)
|
||||||
|
Reference in New Issue
Block a user