Commit 86b90ec7 authored by Agate's avatar Agate 💬

Fix #1121: Use semantic headers for accessibility

parent 50c3071c
......@@ -23,9 +23,9 @@
</div>
</h1>
<div class="ui small warning message" v-if="currentTrack && errored">
<div class="header">
<h3 class="header">
<translate translate-context="Sidebar/Player/Error message.Title">The track cannot be loaded</translate>
</div>
</h3>
<p v-if="hasNext && playing && $store.state.player.errorCount < $store.state.player.maxConsecutiveErrors">
<translate translate-context="Sidebar/Player/Error message.Paragraph">The next track will play automatically in a few seconds…</translate>
<i class="loading spinner icon"></i>
......@@ -190,9 +190,9 @@
<div v-if="$store.state.radios.running" class="ui info message">
<div class="content">
<div class="header">
<h3 class="header">
<i class="feed icon"></i> <translate translate-context="Sidebar/Player/Title">You have a radio playing</translate>
</div>
</h3>
<p><translate translate-context="Sidebar/Player/Paragraph">New tracks will be appended here automatically.</translate></p>
<div @click="$store.dispatch('radios/stop')" class="ui basic primary button"><translate translate-context="*/Player/Button.Label/Short, Verb">Stop radio</translate></div>
</div>
......
......@@ -2,7 +2,7 @@
<div>
<form id="remote-search" :class="['ui', {loading: isLoading}, 'form']" @submit.stop.prevent="submit">
<div v-if="errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/*/Error message.Title">Error while fetching object</translate></div>
<h3 class="header"><translate translate-context="Content/*/Error message.Title">Error while fetching object</translate></h3>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
......
<template>
<modal @update:show="$emit('update:show', $event); isError = false" :show="show">
<div class="header"><translate translate-context="Popup/Instance/Title">Choose your instance</translate></div>
<h3 class="header"><translate translate-context="Popup/Instance/Title">Choose your instance</translate></h3>
<div class="scrolling content">
<div v-if="isError" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Popup/Instance/Error message.Title">It is not possible to connect to the given URL</translate></div>
<h4 class="header"><translate translate-context="Popup/Instance/Error message.Title">It is not possible to connect to the given URL</translate></h4>
<ul class="list">
<li><translate translate-context="Popup/Instance/Error message.List item">The server might be down</translate></li>
<li><translate translate-context="Popup/Instance/Error message.List item">The given address is not a Funkwhale server</translate></li>
......
......@@ -20,9 +20,9 @@
v-if="moderationNotifications > 0"
:class="['ui', 'accent', 'mini', 'bottom floating', 'circular', 'label']">{{ moderationNotifications }}</div>
<div class="menu">
<div class="header">
<h3 class="header">
<translate translate-context="Sidebar/Admin/Title/Noun">Administration</translate>
</div>
</h3>
<div class="divider"></div>
<router-link
v-if="$store.state.auth.availablePermissions['library']"
......@@ -108,10 +108,10 @@
<section :class="['ui', 'bottom', 'attached', {active: selectedTab === 'library'}, 'tab']" :aria-label="labels.mainMenu">
<nav class="ui vertical large fluid inverted menu" role="navigation" :aria-label="labels.mainMenu">
<div :class="[{collapsed: !exploreExpanded}, 'collaspable item']">
<header class="header" @click="exploreExpanded = true" tabindex="0" @focus="exploreExpanded = true">
<h3 class="header" @click="exploreExpanded = true" tabindex="0" @focus="exploreExpanded = true">
<translate translate-context="*/*/*/Verb">Explore</translate>
<i class="angle right icon" v-if="!exploreExpanded"></i>
</header>
</h3>
<div class="menu">
<router-link class="item" :exact="true" :to="{name: 'library.index'}"><i class="music icon"></i><translate translate-context="Sidebar/Navigation/List item.Link/Verb">Browse</translate></router-link>
<router-link class="item" :to="{name: 'library.albums.browse'}"><i class="compact disc icon"></i><translate translate-context="*/*/*">Albums</translate></router-link>
......@@ -121,10 +121,10 @@
</div>
</div>
<div :class="[{collapsed: !myLibraryExpanded}, 'collaspable item']" v-if="$store.state.auth.authenticated">
<header class="header" @click="myLibraryExpanded = true" tabindex="0" @focus="myLibraryExpanded = true">
<h3 class="header" @click="myLibraryExpanded = true" tabindex="0" @focus="myLibraryExpanded = true">
<translate translate-context="*/*/*/Noun">My Library</translate>
<i class="angle right icon" v-if="!myLibraryExpanded"></i>
</header>
</h3>
<div class="menu">
<router-link class="item" :exact="true" :to="{name: 'library.me'}"><i class="music icon"></i><translate translate-context="Sidebar/Navigation/List item.Link/Verb">Browse</translate></router-link>
<router-link class="item" :to="{name: 'library.albums.me'}"><i class="compact disc icon"></i><translate translate-context="*/*/*">Albums</translate></router-link>
......@@ -138,9 +138,9 @@
<translate translate-context="*/*/*">Channels</translate>
</router-link>
<div class="item">
<header class="header">
<h3 class="header">
<translate translate-context="Footer/About/List item.Link">More</translate>
</header>
</h3>
<div class="menu">
<router-link class="item" to="/about">
<i class="info icon"></i><translate translate-context="Sidebar/*/List item.Link">About this pod</translate>
......
......@@ -3,7 +3,7 @@
<div class="ui divider" />
<h3 class="ui header">{{ group.label }}</h3>
<div v-if="errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/*/Error message.Title">Error while saving settings</translate></div>
<h4 class="header"><translate translate-context="Content/*/Error message.Title">Error while saving settings</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
......
<template>
<form class="ui form" @submit.prevent.stop="submit">
<div v-if="errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/*/Error message.Title">Error while saving channel</translate></div>
<h4 class="header"><translate translate-context="Content/*/Error message.Title">Error while saving channel</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
......
......@@ -2,7 +2,7 @@
<form class="ui form component-form" role="alert" @submit.prevent="submit()">
<div v-if="errors.length > 0" class="ui negative message">
<div class="header"><translate translate-context="Content/*/Error message.Title">We cannot save your changes</translate></div>
<h4 class="header"><translate translate-context="Content/*/Error message.Title">We cannot save your changes</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
......
......@@ -4,8 +4,8 @@
<div class="ui small text container">
<h2><i class="lock open icon"></i><translate translate-context="Content/Auth/Title/Verb">Authorize third-party app</translate></h2>
<div v-if="errors.length > 0" role="alert" class="ui negative message">
<div v-if="application" class="header"><translate translate-context="Popup/Moderation/Error message">Error while authorizing application</translate></div>
<div v-else class="header"><translate translate-context="Popup/Moderation/Error message">Error while fetching application data</translate></div>
<h4 v-if="application" class="header"><translate translate-context="Popup/Moderation/Error message">Error while authorizing application</translate></h4>
<h4 v-else class="header"><translate translate-context="Popup/Moderation/Error message">Error while fetching application data</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
......
<template>
<form class="ui form" @submit.prevent="submit()">
<div v-if="error" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/Login/Error message.Title">We cannot log you in</translate></div>
<h4 class="header"><translate translate-context="Content/Login/Error message.Title">We cannot log you in</translate></h4>
<ul class="list">
<li v-if="error == 'invalid_credentials' && $store.state.instance.settings.moderation.signup_approval_enabled.value">
<translate translate-context="Content/Login/Error message.List item/Call to action">If you signed-up recently, you may need to wait before our moderation team review your account, or verify your email.</translate>
......
......@@ -4,11 +4,11 @@
<div v-if="plugin.description" v-html="markdown.makeHtml(plugin.description)"></div>
<div class="ui clearing hidden divider"></div>
<div v-if="errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/*/Error message.Title">Error while saving plugin</translate></div>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
</div>
<h4 class="header"><translate translate-context="Content/*/Error message.Title">Error while saving plugin</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
</div>
<div class="field">
<div class="ui toggle checkbox">
<input :id="`${plugin.name}-enabled`" type="checkbox" v-model="enabled" />
......
......@@ -7,12 +7,12 @@
</h2>
<form class="ui form" @submit.prevent="submitSettings()">
<div v-if="settings.success" class="ui positive message">
<div class="header">
<h4 class="header">
<translate translate-context="Content/Settings/Message">Settings updated</translate>
</div>
</h4>
</div>
<div v-if="settings.errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/Settings/Error message.Title">Your settings can't be updated</translate></div>
<h4 class="header"><translate translate-context="Content/Settings/Error message.Title">Your settings can't be updated</translate></h4>
<ul class="list">
<li v-for="error in settings.errors">{{ error }}</li>
</ul>
......@@ -37,7 +37,7 @@
</h2>
<div class="ui form">
<div v-if="avatarErrors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/Settings/Error message.Title">Your avatar cannot be saved</translate></div>
<h4 class="header"><translate translate-context="Content/Settings/Error message.Title">Your avatar cannot be saved</translate></h4>
<ul class="list">
<li v-for="error in avatarErrors">{{ error }}</li>
</ul>
......@@ -64,9 +64,9 @@
</div>
<form class="ui form" @submit.prevent="submitPassword()">
<div v-if="passwordError" role="alert" class="ui negative message">
<div class="header">
<h4 class="header">
<translate translate-context="Content/Settings/Error message.Title">Your password cannot be changed</translate>
</div>
</h4>
<ul class="list">
<li v-if="passwordError == 'invalid_credentials'"><translate translate-context="Content/Settings/Error message.List item/Call to action">Please double-check your password is correct</translate></li>
</ul>
......@@ -287,7 +287,7 @@
</div>
<div class="ui form">
<div v-if="accountDeleteErrors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/Settings/Error message.Title">We cannot delete your account</translate></div>
<h4 class="header"><translate translate-context="Content/Settings/Error message.Title">We cannot delete your account</translate></h4>
<ul class="list">
<li v-for="error in accountDeleteErrors">{{ error }}</li>
</ul>
......
......@@ -26,7 +26,7 @@
<div class="ui hidden divider"></div>
</template>
<div v-if="errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/Signup/Form/Paragraph">Your account cannot be created.</translate></div>
<h4 class="header"><translate translate-context="Content/Signup/Form/Paragraph">Your account cannot be created.</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
......
......@@ -14,10 +14,10 @@
<translate translate-context="Content/Settings/Link">Discover how to use Funkwhale from other apps</translate>
</a></p>
<div v-if="success" class="ui positive message">
<div class="header">{{ successMessage }}</div>
<h4 class="header">{{ successMessage }}</h4>
</div>
<div v-if="subsonicEnabled && errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/*/Error message.Title">Error</translate></div>
<h4 class="header"><translate translate-context="Content/*/Error message.Title">Error</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
......
<template>
<form @submit.stop.prevent :class="['ui', {loading: isLoading}, 'form']">
<div v-if="errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/*/Error message.Title">Error while creating</translate></div>
<h4 class="header"><translate translate-context="Content/*/Error message.Title">Error while creating</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
......
<template>
<modal class="small" :show.sync="show">
<div class="header">
<h4 class="header">
<translate key="1" v-if="channel.content_category === 'podcasts'" translate-context="Popup/Channels/Title/Verb">New serie</translate>
<translate key="2" v-else translate-context="Popup/Channels/Title">New album</translate>
</div>
</h4>
<div class="scrolling content">
<channel-album-form
ref="albumForm"
......
<template>
<form @submit.stop.prevent :class="['ui', {loading: isLoadingStep1}, 'form component-file-upload']">
<div v-if="errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/*/Error message.Title">Error while publishing</translate></div>
<h4 class="header"><translate translate-context="Content/*/Error message.Title">Error while publishing</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
......
<template>
<modal class="small" @update:show="update" :show="$store.state.channels.showUploadModal">
<div class="header">
<h4 class="header">
<translate key="1" v-if="step === 1" translate-context="Popup/Channels/Title/Verb">Publish audio</translate>
<translate key="2" v-else-if="step === 2" translate-context="Popup/Channels/Title">Files to upload</translate>
<translate key="3" v-else-if="step === 3" translate-context="Popup/Channels/Title">Upload details</translate>
<translate key="4" v-else-if="step === 4" translate-context="Popup/Channels/Title">Processing uploads</translate>
</div>
</h4>
<div class="scrolling content">
<channel-upload-form
ref="uploadForm"
......
......@@ -91,7 +91,7 @@
</div>
</div>
<div v-if="actionErrors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/*/Error message/Header">Error while applying action</translate></div>
<h4 class="header"><translate translate-context="Content/*/Error message/Header">Error while applying action</translate></h4>
<ul class="list">
<li v-for="error in actionErrors">{{ error }}</li>
</ul>
......
<template>
<div class="ui form">
<div v-if="errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/*/Error message.Title">Your attachment cannot be saved</translate></div>
<h4 class="header"><translate translate-context="Content/*/Error message.Title">Your attachment cannot be saved</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
......
......@@ -3,11 +3,11 @@
<slot></slot>
<modal class="small" :show.sync="showModal">
<div class="header">
<h4 class="header">
<slot name="modal-header">
<translate translate-context="Modal/*/Title">Do you want to confirm this action?</translate>
</slot>
</div>
</h4>
<div class="scrolling content">
<div class="description">
<slot name="modal-content"></slot>
......
<template>
<div class="ui small placeholder segment component-placeholder component-empty-state">
<div class="ui header">
<h4 class="ui header">
<div class="content">
<slot name="title">
......@@ -10,7 +10,7 @@
</translate>
</slot>
</div>
</div>
</h4>
<div class="inline center aligned text">
<slot></slot>
<button v-if="refresh" class="ui button" @click="$emit('refresh')">
......
......@@ -25,7 +25,7 @@
</template>
<form v-if="isUpdating" class="ui form" @submit.prevent="submit()">
<div v-if="errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/Channels/Error message.Title">Error while updating description</translate></div>
<h4 class="header"><translate translate-context="Content/Channels/Error message.Title">Error while updating description</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
......
......@@ -10,15 +10,15 @@
<div class="scrolling content">
<template v-if="fetch && fetch.status != 'pending'">
<div v-if="fetch.status === 'skipped'" class="ui message">
<div class="header"><translate translate-context="Popup/*/Message.Title">Refresh was skipped</translate></div>
<h4 class="header"><translate translate-context="Popup/*/Message.Title">Refresh was skipped</translate></h4>
<p><translate translate-context="Popup/*/Message.Content">The remote server answered, but returned data was unsupported by Funkwhale.</translate></p>
</div>
<div v-else-if="fetch.status === 'finished'" class="ui success message">
<div class="header"><translate translate-context="Popup/*/Message.Title">Refresh successful</translate></div>
<h4 class="header"><translate translate-context="Popup/*/Message.Title">Refresh successful</translate></h4>
<p><translate translate-context="Popup/*/Message.Content">Data was refreshed successfully from remote server.</translate></p>
</div>
<div v-else-if="fetch.status === 'errored'" class="ui error message">
<div class="header"><translate translate-context="Popup/*/Message.Title">Refresh error</translate></div>
<h4 class="header"><translate translate-context="Popup/*/Message.Title">Refresh error</translate></h4>
<p><translate translate-context="Popup/*/Message.Content">An error occurred while trying to refresh data:</translate></p>
<table class="ui very basic collapsing celled table">
<tbody>
......@@ -71,13 +71,13 @@
</div>
</div>
<div v-if="errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/*/Error message.Title">Error while saving settings</translate></div>
<h4 class="header"><translate translate-context="Content/*/Error message.Title">Error while saving settings</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
</div>
<div v-else-if="fetch && fetch.status === 'pending' && pollsCount >= maxPolls" role="alert" class="ui warning message">
<div class="header"><translate translate-context="Popup/*/Message.Title">Refresh pending</translate></div>
<h4 class="header"><translate translate-context="Popup/*/Message.Title">Refresh pending</translate></h4>
<p><translate translate-context="Popup/*/Message.Content">Refresh request wasn't proceed in time by our server. It will be processed later.</translate></p>
</div>
</div>
......
......@@ -2,9 +2,9 @@
<span>
<modal v-if="isEmbedable" :show.sync="showEmbedModal">
<div class="header">
<h4 class="header">
<translate translate-context="Popup/Album/Title/Verb">Embed this album on your website</translate>
</div>
</h4>
<div class="content">
<div class="description">
<embed-wizard type="album" :id="object.id" />
......
......@@ -35,9 +35,9 @@
</div>
<modal :show.sync="showEmbedModal" v-if="publicLibraries.length > 0">
<div class="header">
<h4 class="header">
<translate translate-context="Popup/Artist/Title/Verb">Embed this artist work on your website</translate>
</div>
</h4>
<div class="content">
<div class="description">
<embed-wizard type="artist" :id="object.id" />
......
<template>
<div class="ui fluid card">
<div class="content">
<div class="header">
<h4 class="header">
<router-link :to="detailUrl">
<translate translate-context="Content/Library/Card/Short" :translate-params="{id: obj.uuid.substring(0, 8)}">Modification %{ id }</translate>
</router-link>
</div>
</h4>
<div class="meta">
<router-link
v-if="obj.target && obj.target.type === 'track'"
......
<template>
<div v-if="submittedMutation">
<div class="ui positive message">
<div class="header"><translate translate-context="Content/Library/Paragraph">Your edit was successfully submitted.</translate></div>
<h4 class="header"><translate translate-context="Content/Library/Paragraph">Your edit was successfully submitted.</translate></h4>
</div>
<edit-card :obj="submittedMutation" :current-state="currentState" />
<button class="ui button" @click.prevent="submittedMutation = null">
......@@ -44,7 +44,7 @@
<form class="ui form" @submit.prevent="submit()">
<div class="ui hidden divider"></div>
<div v-if="errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/Library/Error message.Title">Error while submitting edit</translate></div>
<h4 class="header"><translate translate-context="Content/Library/Error message.Title">Error while submitting edit</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
......
<template>
<modal :show.sync="showModal">
<div class="header">
<h4 class="header">
<translate translate-context="Popup/Import/Title">Import detail</translate>
</div>
</h4>
<div class="content" v-if="upload">
<div class="description">
<div class="ui message" v-if="upload.import_status === 'pending'">
......
......@@ -27,9 +27,9 @@
<i class="download icon"></i>
</a>
<modal v-if="publicLibraries.length > 0" :show.sync="showEmbedModal">
<div class="header">
<h4 class="header">
<translate translate-context="Popup/Track/Title">Embed this track on your website</translate>
</div>
</h4>
<div class="content">
<div class="description">
<embed-wizard type="track" :id="track.id" />
......
......@@ -8,14 +8,14 @@
<p><translate translate-context="Content/Radio/Paragraph">You can use this interface to build your own custom radio, which will play tracks according to your criteria.</translate></p>
<div class="ui form">
<div v-if="success" class="ui positive message">
<div class="header">
<h4 class="header">
<template v-if="radioName">
<translate translate-context="Content/Radio/Message">Radio updated</translate>
</template>
<template v-else>
<translate translate-context="Content/Radio/Message">Radio created</translate>
</template>
</div>
</h4>
</div>
<div class="">
<div class="field">
......
......@@ -40,9 +40,9 @@
{{ checkResult.candidates.count }} tracks matching filter
</span>
<modal v-if="checkResult" :show.sync="showCandidadesModal">
<div class="header">
<h4 class="header">
<translate translate-context="Popup/Radio/Title/Noun">Tracks matching filter</translate>
</div>
</h4>
<div class="content">
<div class="description">
<track-table v-if="checkResult.candidates.count > 0" :tracks="checkResult.candidates.sample"></track-table>
......
......@@ -5,7 +5,7 @@
<translate translate-context="Content/Moderation/Card.Button.Label/Verb" v-else key="2">Add a new moderation rule</translate>
</h3>
<div v-if="errors && errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/Moderation/Error message.Title">Error while creating rule</translate></div>
<h4 class="header"><translate translate-context="Content/Moderation/Error message.Title">Error while creating rule</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
......
......@@ -5,9 +5,9 @@
<translate translate-context="Content/Moderation/Button.Label">Moderation rules…</translate>
</slot>
<modal :show.sync="show" @show="fetchData">
<div class="header">
<h4 class="header">
<translate :translate-params="{obj: target}" translate-context="Popup/Moderation/Title/Verb">Manage moderation rules for %{ obj }</translate>
</div>
</h4>
<div class="content">
<div class="description">
<div v-if="isLoading" class="ui active loader"></div>
......
<template>
<form class="ui form" @submit.prevent="submit()">
<div v-if="errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/Moderation/Error message.Title">Error while submitting note</translate></div>
<h4 class="header"><translate translate-context="Content/Moderation/Error message.Title">Error while submitting note</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
......
<template>
<div class="ui fluid report card">
<div class="content">
<div class="header">
<h4 class="header">
<router-link :to="{name: 'manage.moderation.reports.detail', params: {id: obj.uuid}}">
<translate translate-context="Content/Moderation/Card/Short" :translate-params="{id: obj.uuid.substring(0, 8)}">Report %{ id }</translate>
</router-link>
<collapse-link class="right floated" v-model="isCollapsed"></collapse-link>
</div>
</h4>
<div class="content">
<div class="ui hidden divider"></div>
<div class="ui stackable two column grid">
......
<template>
<div class="ui fluid user-request card">
<div class="content">
<div class="header">
<h4 class="header">
<router-link :to="{name: 'manage.moderation.requests.detail', params: {id: obj.uuid}}">
<translate translate-context="Content/Moderation/Card/Short" :translate-params="{id: obj.uuid.substring(0, 8)}">Request %{ id }</translate>
</router-link>
<collapse-link class="right floated" v-model="isCollapsed"></collapse-link>
</div>
</h4>
<div class="content">
<div class="ui hidden divider"></div>
<div class="ui stackable two column grid">
......
......@@ -2,7 +2,7 @@
<div>
<form class="ui form" @submit.prevent="submit">
<div v-if="errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Content/Admin/Error message.Title">Error while creating invitation</translate></div>
<h4 class="header"><translate translate-context="Content/Admin/Error message.Title">Error while creating invitation</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
......
<template>
<modal @update:show="update" :show="$store.state.moderation.showFilterModal">
<div class="header">
<h4 class="header">
<translate
v-if="type === 'artist'"
key="1"
translate-context="Popup/Moderation/Title/Verb"
:translate-params="{name: target.name}">Do you want to hide content from artist "%{ name }"?</translate>
</div>
</h4>
<div class="scrolling content">
<div class="description">
<div v-if="errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Popup/Moderation/Error message">Error while creating filter</translate></div>
<h4 class="header"><translate translate-context="Popup/Moderation/Error message">Error while creating filter</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
......
......@@ -9,7 +9,7 @@
<div class="scrolling content">
<div class="description">
<div v-if="errors.length > 0" role="alert" class="ui negative message">
<div class="header"><translate translate-context="Popup/Moderation/Error message">Error while submitting report</translate></div>
<h4 class="header"><translate translate-context="Popup/Moderation/Error message">Error while submitting report</translate></h4>
<ul class="list">
<li v-for="error in errors">{{ e