summaryrefslogtreecommitdiff
path: root/packages/client/src/widgets
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-12-08 17:33:04 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2022-12-08 17:33:04 +0900
commite4c2bba89a61280137c1dda2a4e72f8139346b92 (patch)
treeccdce13e1864a466595b761e70145fceb0040aef /packages/client/src/widgets
parentrefactor(server): rename AppModule to RootModule (diff)
downloadsharkey-e4c2bba89a61280137c1dda2a4e72f8139346b92.tar.gz
sharkey-e4c2bba89a61280137c1dda2a4e72f8139346b92.tar.bz2
sharkey-e4c2bba89a61280137c1dda2a4e72f8139346b92.zip
fix(client): use proxied image for instance icon
Diffstat (limited to 'packages/client/src/widgets')
-rw-r--r--packages/client/src/widgets/federation.vue7
-rw-r--r--packages/client/src/widgets/instance-cloud.vue7
2 files changed, 12 insertions, 2 deletions
diff --git a/packages/client/src/widgets/federation.vue b/packages/client/src/widgets/federation.vue
index e07cab5bfa..d0f81c1356 100644
--- a/packages/client/src/widgets/federation.vue
+++ b/packages/client/src/widgets/federation.vue
@@ -6,7 +6,7 @@
<MkLoading v-if="fetching"/>
<transition-group v-else tag="div" :name="$store.state.animation ? 'chart' : ''" class="instances">
<div v-for="(instance, i) in instances" :key="instance.id" class="instance">
- <img v-if="instance.iconUrl" :src="instance.iconUrl" alt=""/>
+ <img :src="getInstanceIcon(instance)" alt=""/>
<div class="body">
<a class="a" :href="'https://' + instance.host" target="_blank" :title="instance.host">{{ instance.host }}</a>
<p>{{ instance.softwareName || '?' }} {{ instance.softwareVersion }}</p>
@@ -27,6 +27,7 @@ import MkMiniChart from '@/components/MkMiniChart.vue';
import * as os from '@/os';
import { useInterval } from '@/scripts/use-interval';
import { i18n } from '@/i18n';
+import { getProxiedImageUrlNullable } from '@/scripts/media-proxy';
const name = 'federation';
@@ -71,6 +72,10 @@ useInterval(fetch, 1000 * 60, {
afterMounted: true,
});
+function getInstanceIcon(instance): string {
+ return getProxiedImageUrlNullable(instance.iconUrl, 'preview') ?? getProxiedImageUrlNullable(instance.faviconUrl, 'preview') ?? '/client-assets/dummy.png';
+}
+
defineExpose<WidgetComponentExpose>({
name,
configure,
diff --git a/packages/client/src/widgets/instance-cloud.vue b/packages/client/src/widgets/instance-cloud.vue
index f8e463ee33..4965616995 100644
--- a/packages/client/src/widgets/instance-cloud.vue
+++ b/packages/client/src/widgets/instance-cloud.vue
@@ -4,7 +4,7 @@
<MkTagCloud v-if="activeInstances">
<li v-for="instance in activeInstances" :key="instance.id">
<a @click.prevent="onInstanceClick(instance)">
- <img style="width: 32px;" :src="instance.iconUrl">
+ <img style="width: 32px;" :src="getInstanceIcon(instance)">
</a>
</li>
</MkTagCloud>
@@ -20,6 +20,7 @@ import MkContainer from '@/components/MkContainer.vue';
import MkTagCloud from '@/components/MkTagCloud.vue';
import * as os from '@/os';
import { useInterval } from '@/scripts/use-interval';
+import { getProxiedImageUrlNullable } from '@/scripts/media-proxy';
const name = 'instanceCloud';
@@ -64,6 +65,10 @@ useInterval(() => {
afterMounted: true,
});
+function getInstanceIcon(instance): string {
+ return getProxiedImageUrlNullable(instance.iconUrl, 'preview') ?? getProxiedImageUrlNullable(instance.faviconUrl, 'preview') ?? '/client-assets/dummy.png';
+}
+
defineExpose<WidgetComponentExpose>({
name,
configure,