Move location summary of backup site to top level

This commit is contained in:
Girish Ramakrishnan
2025-09-26 09:46:07 +02:00
parent 9a3a78c96c
commit 40fcdb0fc0
4 changed files with 22 additions and 41 deletions
+17 -5
View File
@@ -16,6 +16,7 @@ import { TASK_TYPES } from '../constants.js';
import BackupSitesModel from '../models/BackupSitesModel.js';
import ProfileModel from '../models/ProfileModel.js';
import TasksModel from '../models/TasksModel.js';
import { mountlike, s3like } from '../utils.js';
const profileModel = ProfileModel.create();
const tasksModel = TasksModel.create();
@@ -159,14 +160,14 @@ async function waitForSiteTask(site) {
async function refresh() {
busy.value = true;
const [error, result] = await backupSitesModels.list();
const [error, results] = await backupSitesModels.list();
if (error) return console.error(error);
sites.value = [];
for (let i = 0 ; i < result.length; i++) {
for (const result of results) {
// have to make it a reactive object as we manipulate property objects
const site = reactive(result[i]);
const site = reactive(result);
site.status = { busy: true, state: '', message: '' };
const [error, status] = await backupSitesModels.status(site.id);
@@ -228,10 +229,21 @@ onMounted(async () => {
<div class="backup-site-details">
<div><b style="font-size: 16px">{{ site.name }}</b></div>
<div>
{{ $t('backups.configureBackupStorage.provider') }}: <b>{{ site.provider }}</b> - {{ $t('backups.configureBackupStorage.format') }}: <b>{{ site.format }}</b> <i v-if="site.encrypted" class="fa-solid fa-lock"></i></div>
<i v-if="site.encrypted" class="fa-solid fa-lock"></i>
{{ site.provider }}/{{ site.format }} @
<span v-if="site.provider === 'filesystem'">{{ site.config.backupDir }}{{ (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else-if="site.provider === 'disk' || site.provider === 'ext4' || site.provider === 'xfs' || site.provider === 'mountpoint'">{{ site.config.mountOptions.diskPath || site.config.mountPoint }}{{ (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else-if="site.provider === 'cifs' || site.provider === 'nfs' || site.provider === 'sshfs'">{{ site.config.mountOptions.host }}:{{ site.config.mountOptions.remoteDir }}{{ (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else-if="site.provider === 's3'">{{ site.config.region + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else-if="site.provider === 'minio'">{{ site.config.endpoint + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else-if="site.provider === 'gcs'">{{ site.config.endpoint + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-else>{{ site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
</div>
<div class="backup-site-task">
<div v-if="!site.task">Last backup: <b>Never</b></div>
<div v-if="site.task && site.task.success">Last backup: <b>{{ prettyLongDate(site.task.ts) }}</b></div>
<div v-if="site.task && site.task.error">Error: <b>{{ site.task.error }}</b></div>
<div v-if="site.task && site.task.error">Last backup error: <b>{{ site.task.error }}</b></div>
<div v-if="site.task && site.task.running">
<ProgressBar :busy="true" :show-label="false" :value="site.task.percent" :mode="site.task.percent <= 0 ? 'indeterminate' : null" />
<div style="margin-top: 3px; max-width: 100%; text-overflow: ellipsis; white-space: nowrap; overflow: hidden;">{{ site.task.percent }}% {{ site.task.message }}</div>