OpenDTU/webapp/src/views/NetworkInfoView.vue
2022-10-17 20:43:27 +02:00

61 lines
1.9 KiB
Vue

<template>
<div class="container-xxl" role="main">
<div class="page-header">
<h1>Network Info</h1>
</div>
<div class="text-center" v-if="dataLoading">
<div class="spinner-border" role="status">
<span class="visually-hidden">Loading...</span>
</div>
</div>
<template v-if="!dataLoading">
<WifiStationInfo :networkStatus="networkDataList" />
<div class="mt-5"></div>
<WifiApInfo :networkStatus="networkDataList" />
<div class="mt-5"></div>
<InterfaceNetworkInfo :networkStatus="networkDataList" />
<div class="mt-5"></div>
<InterfaceApInfo :networkStatus="networkDataList" />
<div class="mt-5"></div>
</template>
</div>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
import WifiStationInfo from "@/components/WifiStationInfo.vue";
import WifiApInfo from "@/components/WifiApInfo.vue";
import InterfaceNetworkInfo from "@/components/InterfaceNetworkInfo.vue";
import InterfaceApInfo from "@/components/InterfaceApInfo.vue";
import type { NetworkStatus } from '@/types/NetworkStatus';
export default defineComponent({
components: {
WifiStationInfo,
WifiApInfo,
InterfaceNetworkInfo,
InterfaceApInfo,
},
data() {
return {
dataLoading: true,
networkDataList: {} as NetworkStatus,
}
},
created() {
this.getNetworkInfo();
},
methods: {
getNetworkInfo() {
this.dataLoading = true;
fetch("/api/network/status")
.then((response) => response.json())
.then((data) => {
this.networkDataList = data;
this.dataLoading = false;
});
},
},
});
</script>