Apply consistent ARIA labeling to cards across station management.
This commit is contained in:
parent
27734d700a
commit
1443b06601
|
@ -9,9 +9,13 @@
|
|||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_profile"
|
||||
>
|
||||
<b-card-header header-bg-variant="primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_profile"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Profile') }}
|
||||
</h2>
|
||||
</b-card-header>
|
||||
|
@ -80,9 +84,13 @@
|
|||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_security"
|
||||
>
|
||||
<b-card-header header-bg-variant="primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_security"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Security') }}
|
||||
</h2>
|
||||
</b-card-header>
|
||||
|
@ -133,9 +141,16 @@
|
|||
</section>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-7">
|
||||
<b-card no-body>
|
||||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_api_keys"
|
||||
>
|
||||
<b-card-header header-bg-variant="primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_api_keys"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('API Keys') }}
|
||||
</h2>
|
||||
</b-card-header>
|
||||
|
@ -181,7 +196,7 @@
|
|||
</b-button-group>
|
||||
</template>
|
||||
</data-table>
|
||||
</b-card>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
<div
|
||||
class="card-body alert-info d-flex align-items-center"
|
||||
role="alert"
|
||||
aria-live="off"
|
||||
>
|
||||
<div class="flex-shrink-0 mr-2">
|
||||
<icon icon="info" />
|
||||
|
|
|
@ -1,9 +1,16 @@
|
|||
<template>
|
||||
<div class="public-page">
|
||||
<div class="card">
|
||||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_recover_account"
|
||||
>
|
||||
<div class="card-body p-4">
|
||||
<div class="mb-3">
|
||||
<h2 class="card-title mb-0 text-center">
|
||||
<h2
|
||||
id="hdr_recover_account"
|
||||
class="card-title mb-0 text-center"
|
||||
>
|
||||
{{ $gettext('Recover Account') }}
|
||||
</h2>
|
||||
<h3 class="text-center">
|
||||
|
@ -60,7 +67,7 @@
|
|||
</b-button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
@ -3,9 +3,13 @@
|
|||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_custom_assets"
|
||||
>
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_custom_assets"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Upload Custom Assets') }}
|
||||
</h2>
|
||||
</div>
|
||||
|
|
|
@ -4,9 +4,13 @@
|
|||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_export_media"
|
||||
>
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_export_media"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Export Media to CSV') }}
|
||||
</h2>
|
||||
</div>
|
||||
|
|
|
@ -2,9 +2,13 @@
|
|||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_fallback_file"
|
||||
>
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_fallback_file"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Custom Fallback File') }}
|
||||
</h2>
|
||||
</div>
|
||||
|
|
|
@ -1,9 +1,16 @@
|
|||
<template>
|
||||
<div class="row row-of-cards">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_available_logs"
|
||||
>
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_available_logs"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Available Logs') }}
|
||||
</h2>
|
||||
</div>
|
||||
|
@ -12,14 +19,21 @@
|
|||
:url="logsUrl"
|
||||
@view="viewLog"
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<streaming-log-modal ref="$modal" />
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_need_help"
|
||||
>
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_need_help"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Need Help?') }}
|
||||
</h2>
|
||||
</div>
|
||||
|
@ -52,7 +66,7 @@
|
|||
{{ $gettext('Add New GitHub Issue') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
@ -1,7 +1,14 @@
|
|||
<template>
|
||||
<b-card no-body>
|
||||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_hls_streams"
|
||||
>
|
||||
<b-card-header header-bg-variant="primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_hls_streams"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('HLS Streams') }}
|
||||
</h2>
|
||||
</b-card-header>
|
||||
|
@ -61,7 +68,7 @@
|
|||
</b-button-group>
|
||||
</template>
|
||||
</data-table>
|
||||
</b-card>
|
||||
</section>
|
||||
|
||||
<edit-modal
|
||||
ref="$editModal"
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_edit_ls_config"
|
||||
>
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_edit_ls_config"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Edit Liquidsoap Configuration') }}
|
||||
</h2>
|
||||
</div>
|
||||
|
|
|
@ -1,246 +1,249 @@
|
|||
<template>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<b-card-header header-bg-variant="primary-dark">
|
||||
<b-row class="align-items-center">
|
||||
<b-col md="7">
|
||||
<h2 class="card-title">
|
||||
{{ $gettext('Music Files') }}
|
||||
</h2>
|
||||
</b-col>
|
||||
<b-col
|
||||
md="5"
|
||||
class="text-right text-white-50"
|
||||
>
|
||||
<stations-common-quota
|
||||
ref="$quota"
|
||||
:quota-url="quotaUrl"
|
||||
/>
|
||||
</b-col>
|
||||
</b-row>
|
||||
</b-card-header>
|
||||
|
||||
<div
|
||||
v-if="showSftp"
|
||||
class="card-body alert-info d-flex align-items-center"
|
||||
role="alert"
|
||||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_music_files"
|
||||
>
|
||||
<b-card-header header-bg-variant="primary-dark">
|
||||
<b-row class="align-items-center">
|
||||
<b-col md="7">
|
||||
<h2
|
||||
id="hdr_music_files"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Music Files') }}
|
||||
</h2>
|
||||
</b-col>
|
||||
<b-col
|
||||
md="5"
|
||||
class="text-right text-white-50"
|
||||
>
|
||||
<div class="flex-shrink-0 mr-2">
|
||||
<i
|
||||
class="material-icons"
|
||||
aria-hidden="true"
|
||||
>info</i>
|
||||
</div>
|
||||
<div class="flex-fill">
|
||||
<p class="mb-0">
|
||||
{{ $gettext('You can also upload files in bulk via SFTP.') }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex-shrink-0 ml-2">
|
||||
<a
|
||||
class="btn btn-sm btn-light"
|
||||
target="_blank"
|
||||
:href="sftpUrl"
|
||||
>
|
||||
{{ $gettext('Manage SFTP Accounts') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<breadcrumb
|
||||
:current-directory="currentDirectory"
|
||||
@change-directory="changeDirectory"
|
||||
<stations-common-quota
|
||||
ref="$quota"
|
||||
:quota-url="quotaUrl"
|
||||
/>
|
||||
</b-col>
|
||||
</b-row>
|
||||
</b-card-header>
|
||||
|
||||
<file-upload
|
||||
:upload-url="uploadUrl"
|
||||
:search-phrase="searchPhrase"
|
||||
:valid-mime-types="validMimeTypes"
|
||||
:current-directory="currentDirectory"
|
||||
@relist="onTriggerRelist"
|
||||
/>
|
||||
|
||||
<media-toolbar
|
||||
:batch-url="batchUrl"
|
||||
:selected-items="selectedItems"
|
||||
:current-directory="currentDirectory"
|
||||
:supports-immediate-queue="supportsImmediateQueue"
|
||||
:playlists="playlists"
|
||||
@add-playlist="onAddPlaylist"
|
||||
@relist="onTriggerRelist"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<data-table
|
||||
id="station_media"
|
||||
ref="$datatable"
|
||||
selectable
|
||||
paginated
|
||||
select-fields
|
||||
:fields="fields"
|
||||
:api-url="listUrl"
|
||||
:request-config="requestConfig"
|
||||
@row-selected="onRowSelected"
|
||||
@filtered="onFiltered"
|
||||
<div
|
||||
v-if="showSftp"
|
||||
class="card-body alert-info d-flex align-items-center"
|
||||
role="alert"
|
||||
>
|
||||
<div class="flex-shrink-0 mr-2">
|
||||
<i
|
||||
class="material-icons"
|
||||
aria-hidden="true"
|
||||
>info</i>
|
||||
</div>
|
||||
<div class="flex-fill">
|
||||
<p class="mb-0">
|
||||
{{ $gettext('You can also upload files in bulk via SFTP.') }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="flex-shrink-0 ml-2">
|
||||
<a
|
||||
class="btn btn-sm btn-light"
|
||||
target="_blank"
|
||||
:href="sftpUrl"
|
||||
>
|
||||
<template #cell(path)="row">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="flex-shrink-0 pr-2">
|
||||
<template v-if="row.item.media.is_playable">
|
||||
<play-button
|
||||
:url="row.item.media.links.play"
|
||||
icon-class="outlined"
|
||||
/>
|
||||
</template>
|
||||
<template v-else>
|
||||
<span
|
||||
v-if="row.item.is_dir"
|
||||
class="file-icon"
|
||||
>
|
||||
<icon icon="folder" />
|
||||
</span>
|
||||
<span
|
||||
v-else-if="row.item.is_cover_art"
|
||||
class="file-icon"
|
||||
>
|
||||
<icon icon="photo" />
|
||||
</span>
|
||||
<span
|
||||
v-else
|
||||
class="file-icon"
|
||||
>
|
||||
<icon icon="note" />
|
||||
</span>
|
||||
</template>
|
||||
</div>
|
||||
|
||||
<div class="flex-fill">
|
||||
<template v-if="row.item.is_dir">
|
||||
<a
|
||||
class="name"
|
||||
href="#"
|
||||
:title="row.item.name"
|
||||
@click.prevent="changeDirectory(row.item.path)"
|
||||
>
|
||||
{{ row.item.path_short }}
|
||||
</a>
|
||||
</template>
|
||||
<template v-else-if="row.item.media.is_playable">
|
||||
<a
|
||||
class="name"
|
||||
:href="row.item.media.links.play"
|
||||
target="_blank"
|
||||
:title="row.item.name"
|
||||
>
|
||||
{{ row.item.text }}
|
||||
</a>
|
||||
</template>
|
||||
<template v-else>
|
||||
<a
|
||||
class="name"
|
||||
:href="row.item.links.download"
|
||||
target="_blank"
|
||||
:title="row.item.text"
|
||||
>
|
||||
{{ row.item.path_short }}
|
||||
</a>
|
||||
</template>
|
||||
<br>
|
||||
<small v-if="row.item.media.is_playable">{{ row.item.path_short }}</small>
|
||||
<small v-else>{{ row.item.text }}</small>
|
||||
</div>
|
||||
|
||||
<album-art
|
||||
v-if="row.item.media.art"
|
||||
:src="row.item.media.art"
|
||||
class="flex-shrink-1 pl-2"
|
||||
/>
|
||||
<album-art
|
||||
v-else-if="row.item.is_cover_art"
|
||||
:src="row.item.links.download"
|
||||
class="flex-shrink-1 pl-2"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
<!-- eslint-disable-next-line -->
|
||||
<template #cell(media.length)="row">
|
||||
{{ row.item.media.length_text }}
|
||||
</template>
|
||||
<template #cell(size)="row">
|
||||
<template v-if="!row.item.size">
|
||||
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ formatFileSize(row.item.size) }}
|
||||
</template>
|
||||
</template>
|
||||
<template #cell(playlists)="row">
|
||||
<template
|
||||
v-for="(playlist, index) in row.item.playlists"
|
||||
:key="playlist.id"
|
||||
>
|
||||
<a
|
||||
class="btn-search"
|
||||
href="#"
|
||||
:title="$gettext('View tracks in playlist')"
|
||||
@click.prevent="filter('playlist:'+playlist.short_name)"
|
||||
>{{ playlist.name }}</a>
|
||||
<span v-if="index+1 < row.item.playlists.length">, </span>
|
||||
</template>
|
||||
</template>
|
||||
<template #cell(commands)="row">
|
||||
<template v-if="row.item.media.links.edit">
|
||||
<b-button
|
||||
size="sm"
|
||||
variant="primary"
|
||||
@click.prevent="edit(row.item.media.links.edit, row.item.media.links.art, row.item.media.links.play, row.item.media.links.waveform)"
|
||||
>
|
||||
{{ $gettext('Edit') }}
|
||||
</b-button>
|
||||
</template>
|
||||
<template v-else>
|
||||
<b-button
|
||||
size="sm"
|
||||
variant="primary"
|
||||
@click.prevent="rename(row.item.path)"
|
||||
>
|
||||
{{ $gettext('Rename') }}
|
||||
</b-button>
|
||||
</template>
|
||||
</template>
|
||||
</data-table>
|
||||
{{ $gettext('Manage SFTP Accounts') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<new-directory-modal
|
||||
:current-directory="currentDirectory"
|
||||
:mkdir-url="mkdirUrl"
|
||||
@relist="onTriggerRelist"
|
||||
/>
|
||||
<div class="card-body">
|
||||
<breadcrumb
|
||||
:current-directory="currentDirectory"
|
||||
@change-directory="changeDirectory"
|
||||
/>
|
||||
|
||||
<move-files-modal
|
||||
:selected-items="selectedItems"
|
||||
:current-directory="currentDirectory"
|
||||
:batch-url="batchUrl"
|
||||
:list-directories-url="listDirectoriesUrl"
|
||||
@relist="onTriggerRelist"
|
||||
/>
|
||||
<file-upload
|
||||
:upload-url="uploadUrl"
|
||||
:search-phrase="searchPhrase"
|
||||
:valid-mime-types="validMimeTypes"
|
||||
:current-directory="currentDirectory"
|
||||
@relist="onTriggerRelist"
|
||||
/>
|
||||
|
||||
<rename-modal
|
||||
ref="$renameModal"
|
||||
:rename-url="renameUrl"
|
||||
@relist="onTriggerRelist"
|
||||
/>
|
||||
<media-toolbar
|
||||
:batch-url="batchUrl"
|
||||
:selected-items="selectedItems"
|
||||
:current-directory="currentDirectory"
|
||||
:supports-immediate-queue="supportsImmediateQueue"
|
||||
:playlists="playlists"
|
||||
@add-playlist="onAddPlaylist"
|
||||
@relist="onTriggerRelist"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<edit-modal
|
||||
ref="$editModal"
|
||||
:custom-fields="customFields"
|
||||
:playlists="playlists"
|
||||
@relist="onTriggerRelist"
|
||||
/>
|
||||
</div>
|
||||
<data-table
|
||||
id="station_media"
|
||||
ref="$datatable"
|
||||
selectable
|
||||
paginated
|
||||
select-fields
|
||||
:fields="fields"
|
||||
:api-url="listUrl"
|
||||
:request-config="requestConfig"
|
||||
@row-selected="onRowSelected"
|
||||
@filtered="onFiltered"
|
||||
>
|
||||
<template #cell(path)="row">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="flex-shrink-0 pr-2">
|
||||
<template v-if="row.item.media.is_playable">
|
||||
<play-button
|
||||
:url="row.item.media.links.play"
|
||||
icon-class="outlined"
|
||||
/>
|
||||
</template>
|
||||
<template v-else>
|
||||
<span
|
||||
v-if="row.item.is_dir"
|
||||
class="file-icon"
|
||||
>
|
||||
<icon icon="folder" />
|
||||
</span>
|
||||
<span
|
||||
v-else-if="row.item.is_cover_art"
|
||||
class="file-icon"
|
||||
>
|
||||
<icon icon="photo" />
|
||||
</span>
|
||||
<span
|
||||
v-else
|
||||
class="file-icon"
|
||||
>
|
||||
<icon icon="note" />
|
||||
</span>
|
||||
</template>
|
||||
</div>
|
||||
|
||||
<div class="flex-fill">
|
||||
<template v-if="row.item.is_dir">
|
||||
<a
|
||||
class="name"
|
||||
href="#"
|
||||
:title="row.item.name"
|
||||
@click.prevent="changeDirectory(row.item.path)"
|
||||
>
|
||||
{{ row.item.path_short }}
|
||||
</a>
|
||||
</template>
|
||||
<template v-else-if="row.item.media.is_playable">
|
||||
<a
|
||||
class="name"
|
||||
:href="row.item.media.links.play"
|
||||
target="_blank"
|
||||
:title="row.item.name"
|
||||
>
|
||||
{{ row.item.text }}
|
||||
</a>
|
||||
</template>
|
||||
<template v-else>
|
||||
<a
|
||||
class="name"
|
||||
:href="row.item.links.download"
|
||||
target="_blank"
|
||||
:title="row.item.text"
|
||||
>
|
||||
{{ row.item.path_short }}
|
||||
</a>
|
||||
</template>
|
||||
<br>
|
||||
<small v-if="row.item.media.is_playable">{{ row.item.path_short }}</small>
|
||||
<small v-else>{{ row.item.text }}</small>
|
||||
</div>
|
||||
|
||||
<album-art
|
||||
v-if="row.item.media.art"
|
||||
:src="row.item.media.art"
|
||||
class="flex-shrink-1 pl-2"
|
||||
/>
|
||||
<album-art
|
||||
v-else-if="row.item.is_cover_art"
|
||||
:src="row.item.links.download"
|
||||
class="flex-shrink-1 pl-2"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
<!-- eslint-disable-next-line -->
|
||||
<template #cell(media.length)="row">
|
||||
{{ row.item.media.length_text }}
|
||||
</template>
|
||||
<template #cell(size)="row">
|
||||
<template v-if="!row.item.size">
|
||||
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ formatFileSize(row.item.size) }}
|
||||
</template>
|
||||
</template>
|
||||
<template #cell(playlists)="row">
|
||||
<template
|
||||
v-for="(playlist, index) in row.item.playlists"
|
||||
:key="playlist.id"
|
||||
>
|
||||
<a
|
||||
class="btn-search"
|
||||
href="#"
|
||||
:title="$gettext('View tracks in playlist')"
|
||||
@click.prevent="filter('playlist:'+playlist.short_name)"
|
||||
>{{ playlist.name }}</a>
|
||||
<span v-if="index+1 < row.item.playlists.length">, </span>
|
||||
</template>
|
||||
</template>
|
||||
<template #cell(commands)="row">
|
||||
<template v-if="row.item.media.links.edit">
|
||||
<b-button
|
||||
size="sm"
|
||||
variant="primary"
|
||||
@click.prevent="edit(row.item.media.links.edit, row.item.media.links.art, row.item.media.links.play, row.item.media.links.waveform)"
|
||||
>
|
||||
{{ $gettext('Edit') }}
|
||||
</b-button>
|
||||
</template>
|
||||
<template v-else>
|
||||
<b-button
|
||||
size="sm"
|
||||
variant="primary"
|
||||
@click.prevent="rename(row.item.path)"
|
||||
>
|
||||
{{ $gettext('Rename') }}
|
||||
</b-button>
|
||||
</template>
|
||||
</template>
|
||||
</data-table>
|
||||
</section>
|
||||
|
||||
<new-directory-modal
|
||||
:current-directory="currentDirectory"
|
||||
:mkdir-url="mkdirUrl"
|
||||
@relist="onTriggerRelist"
|
||||
/>
|
||||
|
||||
<move-files-modal
|
||||
:selected-items="selectedItems"
|
||||
:current-directory="currentDirectory"
|
||||
:batch-url="batchUrl"
|
||||
:list-directories-url="listDirectoriesUrl"
|
||||
@relist="onTriggerRelist"
|
||||
/>
|
||||
|
||||
<rename-modal
|
||||
ref="$renameModal"
|
||||
:rename-url="renameUrl"
|
||||
@relist="onTriggerRelist"
|
||||
/>
|
||||
|
||||
<edit-modal
|
||||
ref="$editModal"
|
||||
:custom-fields="customFields"
|
||||
:playlists="playlists"
|
||||
@relist="onTriggerRelist"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
|
|
|
@ -1,7 +1,14 @@
|
|||
<template>
|
||||
<b-card no-body>
|
||||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_mount_points"
|
||||
>
|
||||
<b-card-header header-bg-variant="primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_mount_points"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Mount Points') }}
|
||||
</h2>
|
||||
</b-card-header>
|
||||
|
@ -69,7 +76,7 @@
|
|||
</b-button-group>
|
||||
</template>
|
||||
</data-table>
|
||||
</b-card>
|
||||
</section>
|
||||
|
||||
<edit-modal
|
||||
ref="$editModal"
|
||||
|
|
|
@ -1,9 +1,16 @@
|
|||
<template>
|
||||
<b-card no-body>
|
||||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_playlists"
|
||||
>
|
||||
<b-card-header header-bg-variant="primary-dark">
|
||||
<b-row class="align-items-center">
|
||||
<b-col md="6">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_playlists"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Playlists') }}
|
||||
</h2>
|
||||
</b-col>
|
||||
|
@ -192,7 +199,7 @@
|
|||
/>
|
||||
</b-tab>
|
||||
</b-tabs>
|
||||
</b-card>
|
||||
</section>
|
||||
|
||||
<edit-modal
|
||||
ref="$editModal"
|
||||
|
|
|
@ -3,9 +3,13 @@
|
|||
id="profile-backend"
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_backend_disabled"
|
||||
>
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h3 class="card-title">
|
||||
<h3
|
||||
id="hdr_backend_disabled"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('AutoDJ Disabled') }}
|
||||
</h3>
|
||||
</div>
|
||||
|
|
|
@ -3,9 +3,13 @@
|
|||
id="profile-backend"
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_backend"
|
||||
>
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h3 class="card-title">
|
||||
<h3
|
||||
id="hdr_backend"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('AutoDJ Service') }}
|
||||
<running-badge :running="backendRunning" />
|
||||
<br>
|
||||
|
|
|
@ -3,9 +3,13 @@
|
|||
id="profile-frontend"
|
||||
class="card mb-4"
|
||||
role="region"
|
||||
aria-labelledby="hdr_frontend"
|
||||
>
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h3 class="card-title">
|
||||
<h3
|
||||
id="hdr_frontend"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Broadcasting Service') }}
|
||||
|
||||
<running-badge :running="frontendRunning" />
|
||||
|
|
|
@ -3,9 +3,13 @@
|
|||
id="profile-now-playing"
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_now_playing"
|
||||
>
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h3 class="card-title">
|
||||
<h3
|
||||
id="hdr_now_playing"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('On the Air') }}
|
||||
</h3>
|
||||
</div>
|
||||
|
|
|
@ -3,10 +3,14 @@
|
|||
id="profile-nowplaying"
|
||||
class="card nowplaying"
|
||||
role="region"
|
||||
aria-labelledby="hdr_now_playing"
|
||||
>
|
||||
<div class="card-header bg-primary-dark">
|
||||
<div class="d-flex align-items-center">
|
||||
<h3 class="flex-shrink card-title my-0">
|
||||
<h3
|
||||
id="hdr_now_playing"
|
||||
class="flex-shrink card-title my-0"
|
||||
>
|
||||
{{ $gettext('On the Air') }}
|
||||
</h3>
|
||||
<h6
|
||||
|
|
|
@ -2,10 +2,14 @@
|
|||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_public_pages"
|
||||
>
|
||||
<template v-if="enablePublicPage">
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h3 class="card-title">
|
||||
<h3
|
||||
id="hdr_public_pages"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Public Pages') }}
|
||||
<enabled-badge :enabled="true" />
|
||||
</h3>
|
||||
|
|
|
@ -2,10 +2,14 @@
|
|||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_song_requests"
|
||||
>
|
||||
<template v-if="enableRequests">
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h3 class="card-title">
|
||||
<h3
|
||||
id="hdr_song_requests"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Song Requests') }}
|
||||
<enabled-badge :enabled="true" />
|
||||
</h3>
|
||||
|
|
|
@ -3,9 +3,13 @@
|
|||
v-if="processedScheduleItems.length > 0"
|
||||
class="card scheduled"
|
||||
role="region"
|
||||
aria-labelledby="hdr_scheduled"
|
||||
>
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h3 class="card-title">
|
||||
<h3
|
||||
id="hdr_scheduled"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Scheduled') }}
|
||||
</h3>
|
||||
</div>
|
||||
|
|
|
@ -2,10 +2,14 @@
|
|||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_streamers"
|
||||
>
|
||||
<template v-if="enableStreamers">
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h3 class="card-title">
|
||||
<h3
|
||||
id="hdr_streamers"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Streamers/DJs') }}
|
||||
<enabled-badge :enabled="true" />
|
||||
</h3>
|
||||
|
|
|
@ -2,9 +2,13 @@
|
|||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_streams"
|
||||
>
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h3 class="card-title">
|
||||
<h3
|
||||
id="hdr_streams"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Streams') }}
|
||||
</h3>
|
||||
</div>
|
||||
|
|
|
@ -2,9 +2,13 @@
|
|||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_edit_profile"
|
||||
>
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h3 class="card-title">
|
||||
<h3
|
||||
id="hdr_edit_profile"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Edit Station Profile') }}
|
||||
</h3>
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,14 @@
|
|||
<template>
|
||||
<b-card no-body>
|
||||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_song_queue"
|
||||
>
|
||||
<b-card-header header-bg-variant="primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_song_queue"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Upcoming Song Queue') }}
|
||||
</h2>
|
||||
</b-card-header>
|
||||
|
@ -65,7 +72,7 @@
|
|||
</div>
|
||||
</template>
|
||||
</data-table>
|
||||
</b-card>
|
||||
</section>
|
||||
|
||||
<queue-logs-modal ref="$logsModal" />
|
||||
</template>
|
||||
|
|
|
@ -1,7 +1,14 @@
|
|||
<template>
|
||||
<b-card no-body>
|
||||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_remote_relays"
|
||||
>
|
||||
<b-card-header header-bg-variant="primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_remote_relays"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Remote Relays') }}
|
||||
</h2>
|
||||
</b-card-header>
|
||||
|
@ -70,7 +77,7 @@
|
|||
</b-button-group>
|
||||
</template>
|
||||
</data-table>
|
||||
</b-card>
|
||||
</section>
|
||||
|
||||
<remote-edit-modal
|
||||
ref="$editModal"
|
||||
|
|
|
@ -1,9 +1,16 @@
|
|||
<template>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<b-card no-body>
|
||||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_sftp_users"
|
||||
>
|
||||
<b-card-header header-bg-variant="primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_sftp_users"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('SFTP Users') }}
|
||||
</h2>
|
||||
</b-card-header>
|
||||
|
@ -44,12 +51,19 @@
|
|||
</b-button-group>
|
||||
</template>
|
||||
</data-table>
|
||||
</b-card>
|
||||
</section>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_connection_info"
|
||||
>
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_connection_info"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Connection Information') }}
|
||||
</h2>
|
||||
</div>
|
||||
|
@ -71,7 +85,7 @@
|
|||
<dd><code>{{ connectionInfo.port }}</code></dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<sftp-users-edit-modal
|
||||
|
|
|
@ -2,9 +2,13 @@
|
|||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_upload_stereotool_config"
|
||||
>
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_upload_stereotool_config"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Upload Stereo Tool Configuration') }}
|
||||
</h2>
|
||||
</div>
|
||||
|
|
|
@ -1,11 +1,18 @@
|
|||
<template>
|
||||
<div class="row row-of-cards">
|
||||
<div class="col-md-8">
|
||||
<b-card no-body>
|
||||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_streamer_accounts"
|
||||
>
|
||||
<b-card-header header-bg-variant="primary-dark">
|
||||
<b-row class="align-items-center">
|
||||
<b-col md="6">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_streamer_accounts"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Streamer/DJ Accounts') }}
|
||||
</h2>
|
||||
</b-col>
|
||||
|
@ -101,7 +108,7 @@
|
|||
/>
|
||||
</b-tab>
|
||||
</b-tabs>
|
||||
</b-card>
|
||||
</section>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<connection-info :connection-info="connectionInfo" />
|
||||
|
|
|
@ -1,7 +1,14 @@
|
|||
<template>
|
||||
<div class="card">
|
||||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_connection_info"
|
||||
>
|
||||
<div class="card-header bg-primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_connection_info"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Connection Information') }}
|
||||
</h2>
|
||||
</div>
|
||||
|
@ -79,7 +86,7 @@
|
|||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
|
|
|
@ -1,7 +1,14 @@
|
|||
<template>
|
||||
<b-card no-body>
|
||||
<section
|
||||
class="card"
|
||||
role="region"
|
||||
aria-labelledby="hdr_web_hooks"
|
||||
>
|
||||
<b-card-header header-bg-variant="primary-dark">
|
||||
<h2 class="card-title">
|
||||
<h2
|
||||
id="hdr_web_hooks"
|
||||
class="card-title"
|
||||
>
|
||||
{{ $gettext('Web Hooks') }}
|
||||
</h2>
|
||||
</b-card-header>
|
||||
|
@ -82,7 +89,7 @@
|
|||
</b-button-group>
|
||||
</template>
|
||||
</data-table>
|
||||
</b-card>
|
||||
</section>
|
||||
|
||||
<streaming-log-modal ref="$logModal" />
|
||||
<edit-modal
|
||||
|
|
|
@ -151,7 +151,7 @@ endif; ?>">
|
|||
<?php
|
||||
if ($sections->has('sidebar')): ?>
|
||||
<div class="navdrawer navdrawer-permanent-lg navdrawer-permanent-clipped" id="sidebar" tabindex="-1">
|
||||
<nav class="navdrawer-content">
|
||||
<nav class="navdrawer-content" aria-label="<?= __('Sidebar') ?>">
|
||||
<?= $sections->get('sidebar') ?>
|
||||
</nav>
|
||||
</div>
|
||||
|
@ -159,19 +159,19 @@ if ($sections->has('sidebar')): ?>
|
|||
endif; ?>
|
||||
|
||||
<section id="main">
|
||||
<section id="content" <?php
|
||||
<main id="content" <?php
|
||||
if (!$sections->has('sidebar')): ?>class="content-alt"<?php
|
||||
endif; ?> role="main">
|
||||
endif; ?>>
|
||||
<div class="container">
|
||||
<?php
|
||||
if ($manual): ?>
|
||||
<?=$this->section('content')?>
|
||||
<?= $this->section('content') ?>
|
||||
<?php
|
||||
else: ?>
|
||||
<?php
|
||||
if ($header): ?>
|
||||
<div class="block-header">
|
||||
<h2><?=$header?></h2>
|
||||
<h2><?= $header ?></h2>
|
||||
</div>
|
||||
<?php
|
||||
endif; ?>
|
||||
|
@ -186,7 +186,7 @@ endif; ?>
|
|||
<?php
|
||||
endif; ?>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
</section>
|
||||
|
||||
<footer id="footer" <?php
|
||||
|
|
|
@ -48,12 +48,14 @@ $hide_footer ??= false;
|
|||
|
||||
<?= $sections->get('station_bodyjs') ?>
|
||||
|
||||
<?= $this->section('content') ?>
|
||||
<main>
|
||||
<?= $this->section('content') ?>
|
||||
</main>
|
||||
|
||||
<?php
|
||||
$hide_footer ??= false;
|
||||
if (!$customization->hideProductName() && !$hide_footer): ?>
|
||||
<footer id="footer" class="footer-alt" role="contentinfo">
|
||||
<footer id="footer" class="footer-alt" role="contentinfo" aria-label="<?= __('Footer') ?>">
|
||||
<?= sprintf(
|
||||
__('Powered by %s'),
|
||||
'<a href="https://azuracast.com/" target="_blank">' . $environment->getAppName() . '</a>' . ' '
|
||||
|
|
Loading…
Reference in New Issue