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
@@ -330,7 +330,7 @@ defineExpose({
</datalist>
</FormGroup>
<FormGroup v-if="format === 'rsync' && provider !== 'noop'">
<FormGroup v-if="format === 'rsync'">
<label for="syncConcurrencyInput">{{ $t('backups.configureBackupStorage.uploadConcurrency') }}: <b>{{ limits.syncConcurrency }}</b></label>
<div class="small">{{ $t('backups.configureBackupStorage.uploadConcurrencyDescription') }}</div>
<input type="range" id="syncConcurrencyInput" v-model="limits.syncConcurrency" step="10" min="10" max="200" />
@@ -351,7 +351,7 @@ defineExpose({
</FormGroup>
<div style="display: flex; justify-content: space-between; align-items: end; margin-top: 10px">
<Checkbox v-if="provider !== 'noop'" v-model="useEncryption" label="Use backup encryption"/>
<Checkbox v-model="useEncryption" label="Use backup encryption"/>
<div style="display: flex; gap: 6px; align-items: end;">
<Button secondary v-if="!busy" :disabled="busy" @click="onCancel()">{{ $t('main.dialog.cancel') }}</Button>
@@ -3,7 +3,7 @@
import { ref, useTemplateRef } from 'vue';
import { Checkbox, Radiobutton, MultiSelect, Dialog, FormGroup, TextInput } from '@cloudron/pankow';
import { prettyBinarySize } from '@cloudron/pankow/utils';
import { mountlike, s3like } from '../utils.js';
import { s3like } from '../utils.js';
import AppsModel from '../models/AppsModel.js';
import BackupSitesModel from '../models/BackupSitesModel.js';
import SystemModel from '../models/SystemModel.js';
@@ -151,37 +151,6 @@ defineExpose({
>
<div>
<div>
<div class="info-row">
<div class="info-label">{{ $t('backups.configureBackupStorage.provider') }}</div>
<div class="info-value">{{ site.provider }}</div>
</div>
<div class="info-row" v-if="site.provider !== 'noop'">
<div class="info-label">{{ $t('backups.configureBackupStorage.format') }}</div>
<div class="info-value">{{ site.format }} <i v-if="site.encrypted" class="fa-solid fa-lock"></i></div>
</div>
<div class="info-row" v-if="site.provider !== 'noop'">
<div class="info-label">{{ $t('backups.location.location') }}</div>
<div class="info-value" style="overflow: auto;">
<span v-if="mountlike(site.provider) || site.provider === 'filesystem'">
<span v-if="site.provider === 'filesystem'">{{ site.config.backupDir }}{{ (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-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-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>
<span v-if="site.provider !== 's3' && site.provider !== 'minio' && (s3like(site.provider) || site.provider === 'gcs')">{{ site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-if="site.provider === 's3'">{{ site.config.region + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
<span v-if="site.provider === 'minio'">{{ site.config.endpoint + ' ' + site.config.bucket + (site.config.prefix ? `/${site.config.prefix}` : '') }}</span>
</div>
</div>
<div class="info-row" v-if="site.provider !== 'minio' && site.config?.endpoint">
<div class="info-label">{{ $t('backups.location.endpoint') }}</div>
<div class="info-value">{{ site.config.endpoint || site.config.region }}</div>
</div>
<div class="info-row" v-if="site.encrypted">
<div class="info-label">{{ $t('backups.configureBackupStorage.encryptionHint') }}</div>
<div class="info-value">{{ site.encryptionPasswordHint }}</div>
</div>
<form @submit.prevent="onSubmit()" autocomplete="off" ref="form">
<fieldset :disabled="busy">
<input style="display: none;" type="submit"/>
@@ -221,7 +190,7 @@ defineExpose({
</datalist>
</FormGroup>
<FormGroup v-if="site.format === 'rsync' && site.provider !== 'noop'">
<FormGroup v-if="site.format === 'rsync'">
<label for="syncConcurrencyInput">{{ $t('backups.configureBackupStorage.uploadConcurrency') }}: <b>{{ syncConcurrency }}</b></label>
<div class="small">{{ $t('backups.configureBackupStorage.uploadConcurrencyDescription') }}</div>
<input type="range" id="syncConcurrencyInput" v-model="syncConcurrency" step="10" min="10" max="200" />
+1 -1
View File
@@ -76,7 +76,7 @@ onMounted(() => {
<br/>
<Button @click="onToggleDebugMode" :disabled="debugModeBusy || (app.error && app.error.details.installationState !== ISTATES.PENDING_DEBUG) || app.taskId">
<span v-if="app.debugMode">{{ $t('app.repair.recovery.disableAction') }}</span>
<span v-else>{{ $t('app.repair.recovery.enableAction') }}</span>
<span v-else>{{ $t('app.repair.recovery.enableAction') }}</span>
</Button>
</div>