Support fallback app icons

This commit is contained in:
Johannes Zellner
2025-01-06 21:28:01 +01:00
parent 132c1a9a8b
commit 3f2c7542f8
4 changed files with 20 additions and 19 deletions

View File

@@ -20,9 +20,9 @@
"eslint-plugin-vue": "^9.32.0",
"filesize": "^10.1.6",
"jquery": "^3.7.1",
"marked": "^15.0.5",
"marked": "^15.0.6",
"moment": "^2.30.1",
"pankow": "^2.6.1",
"pankow": "^2.6.2",
"pankow-viewers": "^1.0.11",
"sass": "^1.83.1",
"vite": "^6.0.7",
@@ -2251,9 +2251,9 @@
}
},
"node_modules/marked": {
"version": "15.0.5",
"resolved": "https://registry.npmjs.org/marked/-/marked-15.0.5.tgz",
"integrity": "sha512-xN+kSuqHjxWg+Q47yhhZMUP+kO1qHobvXkkm6FX+7N6lDvanLDd8H7AQ0jWDDyq+fDt/cSrJaBGyWYHXy0KQWA==",
"version": "15.0.6",
"resolved": "https://registry.npmjs.org/marked/-/marked-15.0.6.tgz",
"integrity": "sha512-Y07CUOE+HQXbVDCGl3LXggqJDbXDP2pArc2C1N1RRMN0ONiShoSsIInMd5Gsxupe7fKLpgimTV+HOJ9r7bA+pg==",
"license": "MIT",
"bin": {
"marked": "bin/marked.js"
@@ -2395,9 +2395,9 @@
}
},
"node_modules/pankow": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/pankow/-/pankow-2.6.1.tgz",
"integrity": "sha512-6oa9JW/2LKjAItTx3brGWZquGhqMQbSG5SlEZNhnGFEcVGsi2o462phR0tqWe5ozAdIc3+LX6L+HcC0McYzNpA==",
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/pankow/-/pankow-2.6.2.tgz",
"integrity": "sha512-yhIdOM/WYf7aGz2H+vYPebqpeq9yTdt/v25MnM42l+Z6Kc8FGlf3NTZ9uT/Zcjcj4dg0sbg5E4MWMhk/V3LQuA==",
"license": "ISC",
"dependencies": {
"@fontsource/inter": "^5.1.1",
@@ -4366,9 +4366,9 @@
}
},
"marked": {
"version": "15.0.5",
"resolved": "https://registry.npmjs.org/marked/-/marked-15.0.5.tgz",
"integrity": "sha512-xN+kSuqHjxWg+Q47yhhZMUP+kO1qHobvXkkm6FX+7N6lDvanLDd8H7AQ0jWDDyq+fDt/cSrJaBGyWYHXy0KQWA=="
"version": "15.0.6",
"resolved": "https://registry.npmjs.org/marked/-/marked-15.0.6.tgz",
"integrity": "sha512-Y07CUOE+HQXbVDCGl3LXggqJDbXDP2pArc2C1N1RRMN0ONiShoSsIInMd5Gsxupe7fKLpgimTV+HOJ9r7bA+pg=="
},
"micromatch": {
"version": "4.0.8",
@@ -4464,9 +4464,9 @@
}
},
"pankow": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/pankow/-/pankow-2.6.1.tgz",
"integrity": "sha512-6oa9JW/2LKjAItTx3brGWZquGhqMQbSG5SlEZNhnGFEcVGsi2o462phR0tqWe5ozAdIc3+LX6L+HcC0McYzNpA==",
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/pankow/-/pankow-2.6.2.tgz",
"integrity": "sha512-yhIdOM/WYf7aGz2H+vYPebqpeq9yTdt/v25MnM42l+Z6Kc8FGlf3NTZ9uT/Zcjcj4dg0sbg5E4MWMhk/V3LQuA==",
"requires": {
"@fontsource/inter": "^5.1.1",
"@fortawesome/fontawesome-free": "^6.7.2",

View File

@@ -21,9 +21,9 @@
"eslint-plugin-vue": "^9.32.0",
"filesize": "^10.1.6",
"jquery": "^3.7.1",
"marked": "^15.0.5",
"marked": "^15.0.6",
"moment": "^2.30.1",
"pankow": "^2.6.1",
"pankow": "^2.6.2",
"pankow-viewers": "^1.0.11",
"sass": "^1.83.1",
"vite": "^6.0.7",

View File

@@ -19,7 +19,7 @@
<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" v-tooltip="app.fqdn">
<div class="config" v-show="isOperator(app)" @click.prevent="openAppEdit(app)"><Icon icon="fa-solid fa-cog" /></div>
<img :src="API_ORIGIN + app.iconUrl"/>
<img :src="API_ORIGIN + 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)">
@@ -32,7 +32,7 @@
<TableView :columns="listColumns" :model="filteredApps">
<template #icon="slotProps">
<a :href="'https://' + slotProps.fqdn" target="_blank">
<img class="list-icon" :src="API_ORIGIN + slotProps.iconUrl"/>
<img class="list-icon" :src="API_ORIGIN + slotProps.iconUrl" v-fallback-image="API_ORIGIN + '/img/appicon_fallback.png'"/>
</a>
</template>
<template #label="slotProps">

View File

@@ -4,7 +4,7 @@ import './style.css';
import '@fontsource/noto-sans';
import { tooltip } from 'pankow';
import { tooltip, fallbackImage } from 'pankow';
import i18n from './i18n.js';
import Index from './components/Index.vue';
@@ -15,6 +15,7 @@ import Index from './components/Index.vue';
app.use(await i18n());
app.directive('tooltip', tooltip);
app.directive('fallback-image', fallbackImage);
app.mount('#app');
})();