Add app configure display view

This commit is contained in:
Johannes Zellner
2025-03-01 11:44:38 +01:00
parent d5b47ecdce
commit 31d593a529
4 changed files with 172 additions and 5 deletions
+3 -2
View File
@@ -9,6 +9,7 @@ const t = i18n.t;
import { ref, onMounted, onBeforeUnmount, computed } from 'vue';
import { Button, ButtonGroup } from 'pankow';
import Info from '../components/app/Info.vue';
import Display from '../components/app/Display.vue';
import Security from '../components/app/Security.vue';
import Cron from '../components/app/Cron.vue';
import Resources from '../components/app/Resources.vue';
@@ -140,7 +141,7 @@ onBeforeUnmount(() => {
<div class="configure-inner" v-if="!busy">
<div class="titlebar">
<div style="display: flex; flex-grow: 1;">
<img :src="API_ORIGIN + app.iconUrl" v-fallback-image="API_ORIGIN + '/img/appicon_fallback.png'" style="height: 64px; width: 64px; margin-right: 10px;"/>
<img :src="app.iconUrl" v-fallback-image="API_ORIGIN + '/img/appicon_fallback.png'" style="height: 64px; width: 64px; margin-right: 10px;"/>
<h2>
<a class="applink" :href="link || null" target="_blank">{{ app.label || app.fqdn }}</a>
<div class="statelabel">
@@ -189,7 +190,7 @@ onBeforeUnmount(() => {
</div>
<div class="configure-content">
<Info v-if="view === 'info'" :app="app"/>
<div v-if="view === 'display'"></div>
<Display :app="app" v-if="view === 'display'"/>
<div v-if="view === 'location'"></div>
<div v-if="view === 'proxy'"></div>
<div v-if="view === 'access'"></div>
+3 -3
View File
@@ -155,7 +155,7 @@ async function refreshApps() {
applink.installationState = ISTATES.INSTALLED;
applink.runState = RSTATES.RUNNING;
applink.health = HSTATES.HEALTHY;
applink.iconUrl = `/api/v1/applinks/${applink.id}/icon?access_token=${localStorage.token}&ts=${applink.ts}`;
applink.iconUrl = `${API_ORIGIN}/api/v1/applinks/${applink.id}/icon?access_token=${localStorage.token}&ts=${applink.ts}`;
applink.accessLevel = profile.value.isAtLeastAdmin ? 'admin' : 'user';
result.push(applink);
@@ -220,7 +220,7 @@ onUnmounted(() => {
<TransitionGroup name="grid-animation" tag="div" class="grid" v-if="viewType === VIEW_TYPE.GRID">
<a v-for="app in filteredApps" :key="app.id" class="grid-item" @click="onOpenApp(app, $event)" :href="'https://' + app.fqdn" target="_blank">
<a class="config" v-show="isOperator(app)" @click="openAppEdit(app, $event)" :href="`#/app/${app.id}/info`"><Icon icon="fa-solid fa-cog" /></a>
<img :src="API_ORIGIN + app.iconUrl" v-fallback-image="API_ORIGIN + '/img/appicon_fallback.png'"/>
<img :src="app.iconUrl" v-fallback-image="API_ORIGIN + '/img/appicon_fallback.png'"/>
<div class="grid-item-label">{{ app.label || app.subdomain || app.fqdn }}</div>
<div class="grid-item-task-label">{{ installationStateLabel(app) }}</div>
<div class="apps-progress" v-show="isOperator(app)">
@@ -233,7 +233,7 @@ onUnmounted(() => {
<TableView :columns="listColumns" :model="filteredApps">
<template #icon="app">
<a :href="'https://' + app.fqdn" target="_blank">
<img class="list-icon" :src="API_ORIGIN + app.iconUrl" v-fallback-image="API_ORIGIN + '/img/appicon_fallback.png'"/>
<img class="list-icon" :src="app.iconUrl" v-fallback-image="API_ORIGIN + '/img/appicon_fallback.png'"/>
</a>
</template>
<template #label="app">