Use SettingsItem in app update view

This commit is contained in:
Johannes Zellner
2025-06-25 21:16:59 +02:00
parent c040206d3a
commit 58bc040953
2 changed files with 18 additions and 6 deletions
+17 -6
View File
@@ -1,8 +1,9 @@
<script setup>
import { ref, watch, onMounted, useTemplateRef } from 'vue';
import { ref, onMounted, useTemplateRef } from 'vue';
import { marked } from 'marked';
import { Button, Switch, Dialog, Checkbox } from 'pankow';
import SettingsItem from '../SettingsItem.vue';
import AppsModel from '../../models/AppsModel.js';
import UpdaterModel from '../../models/UpdaterModel.js';
import ProfileModel from '../../models/ProfileModel.js';
@@ -126,15 +127,25 @@ onMounted(async () => {
</div>
</Dialog>
<label>{{ $t('app.updatesTabTitle') }}</label>
<p v-html="$t('app.updates.auto.description', { appStoreLink: 'https://www.cloudron.io/store/index.html' })"></p>
<p v-if="!app.appStoreId" class="text-danger">{{ $t('app.updates.info.customAppUpdateInfo') }}</p>
<SettingsItem>
<div>
<label>{{ $t('app.updates.auto.title') }}</label>
<div v-if="!app.appStoreId">{{ $t('app.updates.info.customAppUpdateInfo') }}</div>
<div v-else>{{ $t(autoUpdatesEnabled ? 'app.updates.auto.enabled' : 'app.updates.auto.disabled') }}</div>
</div>
<Switch v-if="app.appStoreId" v-model="autoUpdatesEnabled" :disabled="autoUpdatesEnabledBusy" @change="onAutoUpdatesEnabledChange"/>
</SettingsItem>
<Switch v-if="app.appStoreId" v-model="autoUpdatesEnabled" :disabled="autoUpdatesEnabledBusy" :label="$t(autoUpdatesEnabled ? 'app.updates.auto.enabled' : 'app.updates.auto.disabled')" @change="onAutoUpdatesEnabledChange"/>
<SettingsItem v-if="app.appStoreId">
<div>
<label>{{ $t('app.updatesTabTitle') }}</label>
<div v-html="$t('app.updates.auto.description', { appStoreLink: 'https://www.cloudron.io/store/index.html' })"></div>
</div>
<Button v-if="app.appStoreId" @click="onCheck()" :disabled="busyCheck" :loading="busyCheck">{{ $t('settings.updates.checkForUpdatesAction') }}</Button>
</SettingsItem>
<div style="display: flex; gap: 6px; margin-top: 20px">
<Button v-if="app.appStoreId" @click="onCheck()" :disabled="busyCheck" :loading="busyCheck">{{ $t('settings.updates.checkForUpdatesAction') }}</Button>
<!-- show update button only if update available -->
<Button v-if="update" :danger="update.unstable ? true : null" :success="update.unstable ? null : true" @click="onAskUpdate()" :disabled="app.taskId || app.error || app.runState === 'stopped' || app.installationState === 'pending_update'" v-tooltip="(app.error || app.taskId || app.runState === 'stopped') ? (app.error ? 'App is in error state' : 'App is not running') : ''">{{ $t('app.updateDialog.updateAction') }}</Button>