mirror of
https://github.com/donaldzou/WGDashboard.git
synced 2024-11-22 07:10:09 +01:00
Added notification to backup before delete
This commit is contained in:
parent
6a30cee611
commit
78b65a799e
@ -1,8 +1,8 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import LocaleText from "@/components/text/localeText.vue";
|
import LocaleText from "@/components/text/localeText.vue";
|
||||||
import {useRoute, useRouter} from "vue-router";
|
import {useRoute, useRouter} from "vue-router";
|
||||||
import {ref} from "vue";
|
import {onMounted, ref, useTemplateRef} from "vue";
|
||||||
import {fetchPost} from "@/utilities/fetch.js";
|
import {fetchGet, fetchPost} from "@/utilities/fetch.js";
|
||||||
import {WireguardConfigurationsStore} from "@/stores/WireguardConfigurationsStore.js";
|
import {WireguardConfigurationsStore} from "@/stores/WireguardConfigurationsStore.js";
|
||||||
import {DashboardConfigurationStore} from "@/stores/DashboardConfigurationStore.js";
|
import {DashboardConfigurationStore} from "@/stores/DashboardConfigurationStore.js";
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
@ -26,13 +26,37 @@ const deleteConfiguration = () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const loading = ref(true)
|
||||||
|
const backups = ref([])
|
||||||
|
let timeout = undefined;
|
||||||
|
const getBackup = () => {
|
||||||
|
loading.value = true;
|
||||||
|
fetchGet("/api/getWireguardConfigurationBackup", {
|
||||||
|
configurationName: configurationName
|
||||||
|
}, (res) => {
|
||||||
|
backups.value = res.data;
|
||||||
|
loading.value = false;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
getBackup()
|
||||||
|
})
|
||||||
|
|
||||||
|
const emits = defineEmits(["backup"])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll" ref="editConfigurationContainer">
|
<div class="peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll">
|
||||||
<div class="container d-flex h-100 w-100">
|
<div class="container d-flex h-100 w-100">
|
||||||
<div class="m-auto modal-dialog-centered dashboardModal" style="width: 700px">
|
<div class="m-auto modal-dialog-centered dashboardModal" style="width: 700px">
|
||||||
<div class="card rounded-3 shadow flex-grow-1 bg-danger-subtle border-danger-subtle">
|
<div class="card rounded-3 shadow flex-grow-1 bg-danger-subtle border-danger-subtle" id="deleteConfigurationContainer">
|
||||||
<div class="card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0">
|
<div class="card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0">
|
||||||
<h5 class="mb-0">
|
<h5 class="mb-0">
|
||||||
Are you sure to delete this configuration?
|
Are you sure to delete this configuration?
|
||||||
@ -40,11 +64,37 @@ const deleteConfiguration = () => {
|
|||||||
<button type="button" class="btn-close ms-auto" @click="$emit('close')"></button>
|
<button type="button" class="btn-close ms-auto" @click="$emit('close')"></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body px-4">
|
<div class="card-body px-4">
|
||||||
|
|
||||||
<p class="text-muted">
|
<p class="text-muted">
|
||||||
Once you deleted, all connected peers will get disconnected; Both configuration file
|
Once you deleted, all connected peers will get disconnected; Both configuration file
|
||||||
(<code>.conf</code>) and database table related to this configuration will get deleted.
|
(<code>.conf</code>) and database table related to this configuration will get deleted.
|
||||||
</p>
|
</p>
|
||||||
|
<div class="alert"
|
||||||
|
:class="[loading ? 'alert-secondary' : (backups.length > 0 ? 'alert-success' : 'alert-danger')]">
|
||||||
|
<div v-if="loading">
|
||||||
|
<i class="bi bi-search me-2"></i>
|
||||||
|
<LocaleText t="Checking backups..."></LocaleText>
|
||||||
|
</div>
|
||||||
|
<div v-else-if="backups.length > 0">
|
||||||
|
<i class="bi bi-check-circle-fill me-2"></i>
|
||||||
|
<LocaleText :t="'This configuration have ' + backups.length + ' backups'"></LocaleText>
|
||||||
|
</div>
|
||||||
|
<div v-else class="d-flex align-items-center gap-2">
|
||||||
|
<i class="bi bi-x-circle-fill me-2"></i>
|
||||||
|
<LocaleText t="This configuration have no backup."></LocaleText>
|
||||||
|
|
||||||
|
<a role="button"
|
||||||
|
@click="emits('backup')"
|
||||||
|
class="ms-auto btn btn-sm btn-primary rounded-3">
|
||||||
|
<i class="bi bi-clock-history me-2"></i>
|
||||||
|
Backup
|
||||||
|
</a>
|
||||||
|
<a role="button"
|
||||||
|
@click="getBackup()"
|
||||||
|
class="btn btn-sm btn-primary rounded-3">
|
||||||
|
<i class="bi bi-arrow-clockwise"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<p>If you're sure, please type in the configuration name below and click Delete.</p>
|
<p>If you're sure, please type in the configuration name below and click Delete.</p>
|
||||||
<input class="form-control rounded-3 mb-3"
|
<input class="form-control rounded-3 mb-3"
|
||||||
|
Loading…
Reference in New Issue
Block a user