summaryrefslogtreecommitdiff
path: root/packages/client/src
diff options
context:
space:
mode:
authorKainoa Kanter <44733677+ThatOneCalculator@users.noreply.github.com>2022-07-04 19:21:59 -0700
committerGitHub <noreply@github.com>2022-07-05 11:21:59 +0900
commit1eb504a640ea65a0e9041a6bad3144bdf0de4614 (patch)
tree5525bc63fbbf74ae3bdfa1e5854c052a0d936a1a /packages/client/src
parentfix:typo 「有効する必要…」→「有効にする必要…」 (#8936) (diff)
downloadmisskey-1eb504a640ea65a0e9041a6bad3144bdf0de4614.tar.gz
misskey-1eb504a640ea65a0e9041a6bad3144bdf0de4614.tar.bz2
misskey-1eb504a640ea65a0e9041a6bad3144bdf0de4614.zip
chore: fix client lint errors (#8934)
* Fix client lint * Hide no-v-html * Ignore banned type * Update page-editor.vue
Diffstat (limited to 'packages/client/src')
-rw-r--r--packages/client/src/components/autocomplete.vue1
-rw-r--r--packages/client/src/components/code-core.vue1
-rw-r--r--packages/client/src/components/formula-core.vue2
-rw-r--r--packages/client/src/pages/admin/emojis.vue2
-rw-r--r--packages/client/src/pages/page-editor/els/page-editor.el.radio-button.vue2
-rw-r--r--packages/client/src/pages/page-editor/page-editor.vue17
-rw-r--r--packages/client/src/pages/user-info.vue4
-rw-r--r--packages/client/src/pages/welcome.entrance.a.vue1
-rw-r--r--packages/client/src/pages/welcome.entrance.b.vue1
-rw-r--r--packages/client/src/pages/welcome.entrance.c.vue1
-rw-r--r--packages/client/src/scripts/hpml/index.ts14
-rw-r--r--packages/client/src/scripts/hpml/lib.ts80
-rw-r--r--packages/client/src/ui/visitor/a.vue12
-rw-r--r--packages/client/src/ui/visitor/kanban.vue5
14 files changed, 78 insertions, 65 deletions
diff --git a/packages/client/src/components/autocomplete.vue b/packages/client/src/components/autocomplete.vue
index ae708026e0..144281e3c3 100644
--- a/packages/client/src/components/autocomplete.vue
+++ b/packages/client/src/components/autocomplete.vue
@@ -20,6 +20,7 @@
<span v-if="emoji.isCustomEmoji" class="emoji"><img :src="defaultStore.state.disableShowingAnimatedImages ? getStaticImageUrl(emoji.url) : emoji.url" :alt="emoji.emoji"/></span>
<span v-else-if="!defaultStore.state.useOsNativeEmojis" class="emoji"><img :src="emoji.url" :alt="emoji.emoji"/></span>
<span v-else class="emoji">{{ emoji.emoji }}</span>
+ <!-- eslint-disable-next-line vue/no-v-html -->
<span class="name" v-html="emoji.name.replace(q, `<b>${q}</b>`)"></span>
<span v-if="emoji.aliasOf" class="alias">({{ emoji.aliasOf }})</span>
</li>
diff --git a/packages/client/src/components/code-core.vue b/packages/client/src/components/code-core.vue
index 65dee5cdae..a816f34807 100644
--- a/packages/client/src/components/code-core.vue
+++ b/packages/client/src/components/code-core.vue
@@ -1,3 +1,4 @@
+<!-- eslint-disable vue/no-v-html -->
<template>
<code v-if="inline" :class="`language-${prismLang}`" v-html="html"></code>
<pre v-else :class="`language-${prismLang}`"><code :class="`language-${prismLang}`" v-html="html"></code></pre>
diff --git a/packages/client/src/components/formula-core.vue b/packages/client/src/components/formula-core.vue
index 49a61ab80e..8db8932fcd 100644
--- a/packages/client/src/components/formula-core.vue
+++ b/packages/client/src/components/formula-core.vue
@@ -1,4 +1,4 @@
-
+<!-- eslint-disable vue/no-v-html -->
<template>
<div v-if="block" v-html="compiledFormula"></div>
<span v-else v-html="compiledFormula"></span>
diff --git a/packages/client/src/pages/admin/emojis.vue b/packages/client/src/pages/admin/emojis.vue
index 4d847daa54..5ed2b14789 100644
--- a/packages/client/src/pages/admin/emojis.vue
+++ b/packages/client/src/pages/admin/emojis.vue
@@ -1,7 +1,7 @@
<template>
<div>
<MkStickyContainer>
- <template #header><XHeader :actions="headerActions" :tabs="headerTabs" v-model:tab="tab"/></template>
+ <template #header><XHeader v-model:tab="tab" :actions="headerActions" :tabs="headerTabs"/></template>
<MkSpacer :content-max="900">
<div class="ogwlenmc">
<div v-if="tab === 'local'" class="local">
diff --git a/packages/client/src/pages/page-editor/els/page-editor.el.radio-button.vue b/packages/client/src/pages/page-editor/els/page-editor.el.radio-button.vue
index 183e60a69a..4b28f120a9 100644
--- a/packages/client/src/pages/page-editor/els/page-editor.el.radio-button.vue
+++ b/packages/client/src/pages/page-editor/els/page-editor.el.radio-button.vue
@@ -32,7 +32,7 @@ const props = withDefaults(defineProps<{
let values: string = $ref(props.value.values.join('\n'));
watch(values, () => {
- props.value.values = values.split('\n')
+ props.value.values = values.split('\n');
}, {
deep: true
});
diff --git a/packages/client/src/pages/page-editor/page-editor.vue b/packages/client/src/pages/page-editor/page-editor.vue
index 3ce48e89f4..aaa61e6e36 100644
--- a/packages/client/src/pages/page-editor/page-editor.vue
+++ b/packages/client/src/pages/page-editor/page-editor.vue
@@ -1,6 +1,6 @@
<template>
<MkStickyContainer>
- <template #header><MkPageHeader :actions="headerActions" :tabs="headerTabs" v-model:tab="tab"/></template>
+ <template #header><MkPageHeader v-model:tab="tab" :actions="headerActions" :tabs="headerTabs"/></template>
<MkSpacer :content-max="700">
<div class="jqqmcavi">
<MkButton v-if="pageId" class="button" inline link :to="`/@${ author.username }/pages/${ currentName }`"><i class="fas fa-external-link-square-alt"></i> {{ $ts._pages.viewPage }}</MkButton>
@@ -82,7 +82,7 @@
</template>
<script lang="ts" setup>
-import { defineComponent, defineAsyncComponent, computed, provide, watch } from 'vue';
+import { defineAsyncComponent, computed, provide, watch } from 'vue';
import 'prismjs';
import { highlight, languages } from 'prismjs/components/prism-core';
import 'prismjs/components/prism-clike';
@@ -93,7 +93,6 @@ import { v4 as uuid } from 'uuid';
import XVariable from './page-editor.script-block.vue';
import XBlocks from './page-editor.blocks.vue';
import MkTextarea from '@/components/form/textarea.vue';
-import MkContainer from '@/components/ui/container.vue';
import MkButton from '@/components/ui/button.vue';
import MkSelect from '@/components/form/select.vue';
import MkSwitch from '@/components/form/switch.vue';
@@ -168,15 +167,15 @@ function save() {
const options = getSaveOptions();
const onError = err => {
- if (err.id == '3d81ceae-475f-4600-b2a8-2bc116157532') {
- if (err.info.param == 'name') {
+ if (err.id === '3d81ceae-475f-4600-b2a8-2bc116157532') {
+ if (err.info.param === 'name') {
os.alert({
type: 'error',
title: i18n.ts._pages.invalidNameTitle,
text: i18n.ts._pages.invalidNameText,
});
}
- } else if (err.code == 'NAME_ALREADY_EXISTS') {
+ } else if (err.code === 'NAME_ALREADY_EXISTS') {
os.alert({
type: 'error',
text: i18n.ts._pages.nameAlreadyExists,
@@ -310,7 +309,7 @@ function getPageBlockList() {
function getScriptBlockList(type: string = null) {
const list = [];
- const blocks = blockDefs.filter(block => type === null || block.out === null || block.out === type || typeof block.out === 'number');
+ const blocks = blockDefs.filter(block => type == null || block.out == null || block.out === type || typeof block.out === 'number');
for (const block of blocks) {
const category = list.find(x => x.category === block.category);
@@ -345,8 +344,8 @@ function getScriptBlockList(type: string = null) {
return list;
}
-function setEyeCatchingImage(e) {
- selectFile(e.currentTarget ?? e.target, null).then(file => {
+function setEyeCatchingImage(img) {
+ selectFile(img.currentTarget ?? img.target, null).then(file => {
eyeCatchingImageId = file.id;
});
}
diff --git a/packages/client/src/pages/user-info.vue b/packages/client/src/pages/user-info.vue
index 51d224dfdd..df5d800021 100644
--- a/packages/client/src/pages/user-info.vue
+++ b/packages/client/src/pages/user-info.vue
@@ -313,10 +313,10 @@ async function applyDriveCapacityOverride() {
try {
await os.apiWithDialog('admin/drive-capacity-override', { userId: user.id, overrideMb: driveCapOrMb });
await refreshUser();
- } catch (e) {
+ } catch (err) {
os.alert({
type: 'error',
- text: e.toString(),
+ text: err.toString(),
});
}
}
diff --git a/packages/client/src/pages/welcome.entrance.a.vue b/packages/client/src/pages/welcome.entrance.a.vue
index 457e38cb23..f9d5852212 100644
--- a/packages/client/src/pages/welcome.entrance.a.vue
+++ b/packages/client/src/pages/welcome.entrance.a.vue
@@ -23,6 +23,7 @@
<span class="text">{{ instanceName }}</span>
</h1>
<div class="about">
+ <!-- eslint-disable-next-line vue/no-v-html -->
<div class="desc" v-html="meta.description || i18n.ts.headlineMisskey"></div>
</div>
<div class="action">
diff --git a/packages/client/src/pages/welcome.entrance.b.vue b/packages/client/src/pages/welcome.entrance.b.vue
index 053087fda0..344dc9aed9 100644
--- a/packages/client/src/pages/welcome.entrance.b.vue
+++ b/packages/client/src/pages/welcome.entrance.b.vue
@@ -9,6 +9,7 @@
<img v-if="meta.logoImageUrl" class="logo" :src="meta.logoImageUrl"><span v-else class="text">{{ instanceName }}</span>
</h1>
<div class="about">
+ <!-- eslint-disable-next-line vue/no-v-html -->
<div class="desc" v-html="meta.description || $ts.headlineMisskey"></div>
</div>
<div class="action">
diff --git a/packages/client/src/pages/welcome.entrance.c.vue b/packages/client/src/pages/welcome.entrance.c.vue
index 6bf487e16e..d583c5df35 100644
--- a/packages/client/src/pages/welcome.entrance.c.vue
+++ b/packages/client/src/pages/welcome.entrance.c.vue
@@ -21,6 +21,7 @@
<img v-if="meta.logoImageUrl" class="logo" :src="meta.logoImageUrl"><span v-else class="text">{{ instanceName }}</span>
</h1>
<div class="about">
+ <!-- eslint-disable-next-line vue/no-v-html -->
<div class="desc" v-html="meta.description || $ts.headlineMisskey"></div>
</div>
<div class="action">
diff --git a/packages/client/src/scripts/hpml/index.ts b/packages/client/src/scripts/hpml/index.ts
index ac81eac2d9..7cf88d5961 100644
--- a/packages/client/src/scripts/hpml/index.ts
+++ b/packages/client/src/scripts/hpml/index.ts
@@ -14,13 +14,13 @@ export type Fn = {
export type Type = 'string' | 'number' | 'boolean' | 'stringArray' | null;
export const literalDefs: Record<string, { out: any; category: string; icon: any; }> = {
- text: { out: 'string', category: 'value', icon: 'fas fa-quote-right', },
- multiLineText: { out: 'string', category: 'value', icon: 'fas fa-align-left', },
- textList: { out: 'stringArray', category: 'value', icon: 'fas fa-list', },
- number: { out: 'number', category: 'value', icon: 'fas fa-sort-numeric-up', },
- ref: { out: null, category: 'value', icon: 'fas fa-magic', },
- aiScriptVar: { out: null, category: 'value', icon: 'fas fa-magic', },
- fn: { out: 'function', category: 'value', icon: 'fas fa-square-root-alt', },
+ text: { out: 'string', category: 'value', icon: 'fas fa-quote-right', },
+ multiLineText: { out: 'string', category: 'value', icon: 'fas fa-align-left', },
+ textList: { out: 'stringArray', category: 'value', icon: 'fas fa-list', },
+ number: { out: 'number', category: 'value', icon: 'fas fa-sort-numeric-up', },
+ ref: { out: null, category: 'value', icon: 'fas fa-magic', },
+ aiScriptVar: { out: null, category: 'value', icon: 'fas fa-magic', },
+ fn: { out: 'function', category: 'value', icon: 'fas fa-square-root-alt', },
};
export const blockDefs = [
diff --git a/packages/client/src/scripts/hpml/lib.ts b/packages/client/src/scripts/hpml/lib.ts
index 558c780f44..cab467a920 100644
--- a/packages/client/src/scripts/hpml/lib.ts
+++ b/packages/client/src/scripts/hpml/lib.ts
@@ -125,54 +125,56 @@ export function initAiLib(hpml: Hpml) {
}
});
*/
- })
+ }),
};
}
export const funcDefs: Record<string, { in: any[]; out: any; category: string; icon: any; }> = {
- if: { in: ['boolean', 0, 0], out: 0, category: 'flow', icon: 'fas fa-share-alt', },
- for: { in: ['number', 'function'], out: null, category: 'flow', icon: 'fas fa-recycle', },
- not: { in: ['boolean'], out: 'boolean', category: 'logical', icon: 'fas fa-flag', },
- or: { in: ['boolean', 'boolean'], out: 'boolean', category: 'logical', icon: 'fas fa-flag', },
- and: { in: ['boolean', 'boolean'], out: 'boolean', category: 'logical', icon: 'fas fa-flag', },
- add: { in: ['number', 'number'], out: 'number', category: 'operation', icon: 'fas fa-plus', },
- subtract: { in: ['number', 'number'], out: 'number', category: 'operation', icon: 'fas fa-minus', },
- multiply: { in: ['number', 'number'], out: 'number', category: 'operation', icon: 'fas fa-times', },
- divide: { in: ['number', 'number'], out: 'number', category: 'operation', icon: 'fas fa-divide', },
- mod: { in: ['number', 'number'], out: 'number', category: 'operation', icon: 'fas fa-divide', },
- round: { in: ['number'], out: 'number', category: 'operation', icon: 'fas fa-calculator', },
- eq: { in: [0, 0], out: 'boolean', category: 'comparison', icon: 'fas fa-equals', },
- notEq: { in: [0, 0], out: 'boolean', category: 'comparison', icon: 'fas fa-not-equal', },
- gt: { in: ['number', 'number'], out: 'boolean', category: 'comparison', icon: 'fas fa-greater-than', },
- lt: { in: ['number', 'number'], out: 'boolean', category: 'comparison', icon: 'fas fa-less-than', },
- gtEq: { in: ['number', 'number'], out: 'boolean', category: 'comparison', icon: 'fas fa-greater-than-equal', },
- ltEq: { in: ['number', 'number'], out: 'boolean', category: 'comparison', icon: 'fas fa-less-than-equal', },
- strLen: { in: ['string'], out: 'number', category: 'text', icon: 'fas fa-quote-right', },
- strPick: { in: ['string', 'number'], out: 'string', category: 'text', icon: 'fas fa-quote-right', },
- strReplace: { in: ['string', 'string', 'string'], out: 'string', category: 'text', icon: 'fas fa-quote-right', },
- strReverse: { in: ['string'], out: 'string', category: 'text', icon: 'fas fa-quote-right', },
- join: { in: ['stringArray', 'string'], out: 'string', category: 'text', icon: 'fas fa-quote-right', },
- stringToNumber: { in: ['string'], out: 'number', category: 'convert', icon: 'fas fa-exchange-alt', },
- numberToString: { in: ['number'], out: 'string', category: 'convert', icon: 'fas fa-exchange-alt', },
- splitStrByLine: { in: ['string'], out: 'stringArray', category: 'convert', icon: 'fas fa-exchange-alt', },
- pick: { in: [null, 'number'], out: null, category: 'list', icon: 'fas fa-indent', },
- listLen: { in: [null], out: 'number', category: 'list', icon: 'fas fa-indent', },
- rannum: { in: ['number', 'number'], out: 'number', category: 'random', icon: 'fas fa-dice', },
- dailyRannum: { in: ['number', 'number'], out: 'number', category: 'random', icon: 'fas fa-dice', },
- seedRannum: { in: [null, 'number', 'number'], out: 'number', category: 'random', icon: 'fas fa-dice', },
- random: { in: ['number'], out: 'boolean', category: 'random', icon: 'fas fa-dice', },
- dailyRandom: { in: ['number'], out: 'boolean', category: 'random', icon: 'fas fa-dice', },
- seedRandom: { in: [null, 'number'], out: 'boolean', category: 'random', icon: 'fas fa-dice', },
- randomPick: { in: [0], out: 0, category: 'random', icon: 'fas fa-dice', },
- dailyRandomPick: { in: [0], out: 0, category: 'random', icon: 'fas fa-dice', },
- seedRandomPick: { in: [null, 0], out: 0, category: 'random', icon: 'fas fa-dice', },
- DRPWPM: { in: ['stringArray'], out: 'string', category: 'random', icon: 'fas fa-dice', }, // dailyRandomPickWithProbabilityMapping
+ if: { in: ['boolean', 0, 0], out: 0, category: 'flow', icon: 'fas fa-share-alt' },
+ for: { in: ['number', 'function'], out: null, category: 'flow', icon: 'fas fa-recycle' },
+ not: { in: ['boolean'], out: 'boolean', category: 'logical', icon: 'fas fa-flag' },
+ or: { in: ['boolean', 'boolean'], out: 'boolean', category: 'logical', icon: 'fas fa-flag' },
+ and: { in: ['boolean', 'boolean'], out: 'boolean', category: 'logical', icon: 'fas fa-flag' },
+ add: { in: ['number', 'number'], out: 'number', category: 'operation', icon: 'fas fa-plus' },
+ subtract: { in: ['number', 'number'], out: 'number', category: 'operation', icon: 'fas fa-minus' },
+ multiply: { in: ['number', 'number'], out: 'number', category: 'operation', icon: 'fas fa-times' },
+ divide: { in: ['number', 'number'], out: 'number', category: 'operation', icon: 'fas fa-divide' },
+ mod: { in: ['number', 'number'], out: 'number', category: 'operation', icon: 'fas fa-divide' },
+ round: { in: ['number'], out: 'number', category: 'operation', icon: 'fas fa-calculator' },
+ eq: { in: [0, 0], out: 'boolean', category: 'comparison', icon: 'fas fa-equals' },
+ notEq: { in: [0, 0], out: 'boolean', category: 'comparison', icon: 'fas fa-not-equal' },
+ gt: { in: ['number', 'number'], out: 'boolean', category: 'comparison', icon: 'fas fa-greater-than' },
+ lt: { in: ['number', 'number'], out: 'boolean', category: 'comparison', icon: 'fas fa-less-than' },
+ gtEq: { in: ['number', 'number'], out: 'boolean', category: 'comparison', icon: 'fas fa-greater-than-equal' },
+ ltEq: { in: ['number', 'number'], out: 'boolean', category: 'comparison', icon: 'fas fa-less-than-equal' },
+ strLen: { in: ['string'], out: 'number', category: 'text', icon: 'fas fa-quote-right' },
+ strPick: { in: ['string', 'number'], out: 'string', category: 'text', icon: 'fas fa-quote-right' },
+ strReplace: { in: ['string', 'string', 'string'], out: 'string', category: 'text', icon: 'fas fa-quote-right' },
+ strReverse: { in: ['string'], out: 'string', category: 'text', icon: 'fas fa-quote-right' },
+ join: { in: ['stringArray', 'string'], out: 'string', category: 'text', icon: 'fas fa-quote-right' },
+ stringToNumber: { in: ['string'], out: 'number', category: 'convert', icon: 'fas fa-exchange-alt' },
+ numberToString: { in: ['number'], out: 'string', category: 'convert', icon: 'fas fa-exchange-alt' },
+ splitStrByLine: { in: ['string'], out: 'stringArray', category: 'convert', icon: 'fas fa-exchange-alt' },
+ pick: { in: [null, 'number'], out: null, category: 'list', icon: 'fas fa-indent' },
+ listLen: { in: [null], out: 'number', category: 'list', icon: 'fas fa-indent' },
+ rannum: { in: ['number', 'number'], out: 'number', category: 'random', icon: 'fas fa-dice' },
+ dailyRannum: { in: ['number', 'number'], out: 'number', category: 'random', icon: 'fas fa-dice' },
+ seedRannum: { in: [null, 'number', 'number'], out: 'number', category: 'random', icon: 'fas fa-dice' },
+ random: { in: ['number'], out: 'boolean', category: 'random', icon: 'fas fa-dice' },
+ dailyRandom: { in: ['number'], out: 'boolean', category: 'random', icon: 'fas fa-dice' },
+ seedRandom: { in: [null, 'number'], out: 'boolean', category: 'random', icon: 'fas fa-dice' },
+ randomPick: { in: [0], out: 0, category: 'random', icon: 'fas fa-dice' },
+ dailyRandomPick: { in: [0], out: 0, category: 'random', icon: 'fas fa-dice' },
+ seedRandomPick: { in: [null, 0], out: 0, category: 'random', icon: 'fas fa-dice' },
+ DRPWPM: { in: ['stringArray'], out: 'string', category: 'random', icon: 'fas fa-dice' }, // dailyRandomPickWithProbabilityMapping
};
export function initHpmlLib(expr: Expr, scope: HpmlScope, randomSeed: string, visitor?: any) {
const date = new Date();
const day = `${visitor ? visitor.id : ''} ${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`;
+ // SHOULD be fine to ignore since it's intended + function shape isn't defined
+ // eslint-disable-next-line @typescript-eslint/ban-types
const funcs: Record<string, Function> = {
not: (a: boolean) => !a,
or: (a: boolean, b: boolean) => a || b,
@@ -188,7 +190,7 @@ export function initHpmlLib(expr: Expr, scope: HpmlScope, randomSeed: string, vi
const result: any[] = [];
for (let i = 0; i < times; i++) {
result.push(fn.exec({
- [fn.slots[0]]: i + 1
+ [fn.slots[0]]: i + 1,
}));
}
return result;
diff --git a/packages/client/src/ui/visitor/a.vue b/packages/client/src/ui/visitor/a.vue
index e98247cbb1..2473af549a 100644
--- a/packages/client/src/ui/visitor/a.vue
+++ b/packages/client/src/ui/visitor/a.vue
@@ -4,6 +4,7 @@
<div>
<h1 v-if="meta"><img v-if="meta.logoImageUrl" class="logo" :src="meta.logoImageUrl"><span v-else class="text">{{ instanceName }}</span></h1>
<div v-if="meta" class="about">
+ <!-- eslint-disable-next-line vue/no-v-html -->
<div class="desc" v-html="meta.description || $ts.introMisskey"></div>
</div>
<div class="action">
@@ -101,13 +102,18 @@ export default defineComponent({
},
methods: {
- setParallax(el) {
- //new simpleParallax(el);
- },
+ // @ThatOneCalculator: Are these methods even used?
+ // I can't find references to them anywhere else in the code...
+
+ // setParallax(el) {
+ // new simpleParallax(el);
+ // },
changePage(page) {
if (page == null) return;
+ // eslint-disable-next-line no-undef
if (page[symbols.PAGE_INFO]) {
+ // eslint-disable-next-line no-undef
this.pageInfo = page[symbols.PAGE_INFO];
}
},
diff --git a/packages/client/src/ui/visitor/kanban.vue b/packages/client/src/ui/visitor/kanban.vue
index ee0f11b838..44b5557259 100644
--- a/packages/client/src/ui/visitor/kanban.vue
+++ b/packages/client/src/ui/visitor/kanban.vue
@@ -1,10 +1,11 @@
+<!-- eslint-disable vue/no-v-html -->
<template>
<div class="rwqkcmrc" :style="{ backgroundImage: transparent ? 'none' : `url(${ $instance.backgroundImageUrl })` }">
<div class="back" :class="{ transparent }"></div>
<div class="contents">
<div class="wrapper">
<h1 v-if="meta" :class="{ full }">
- <MkA to="/" class="link"><img v-if="meta.logoImageUrl" class="logo" :src="meta.logoImageUrl"><span v-else class="text">{{ instanceName }}</span></MkA>
+ <MkA to="/" class="link"><img v-if="meta.logoImageUrl" class="logo" :src="meta.logoImageUrl" alt="logo"><span v-else class="text">{{ instanceName }}</span></MkA>
</h1>
<template v-if="full">
<div v-if="meta" class="about">
@@ -21,7 +22,7 @@
<div class="title">{{ announcement.title }}</div>
<div class="content">
<Mfm :text="announcement.text"/>
- <img v-if="announcement.imageUrl" :src="announcement.imageUrl"/>
+ <img v-if="announcement.imageUrl" :src="announcement.imageUrl" alt="announcement image"/>
</div>
</section>
</MkPagination>