#132 | #121: backoffice / dev-1.0-121 (#131)

cfr #121

Co-authored-by: Christophe Siraut <d@tobald.eu.org>
Co-authored-by: bkfox <thomas bkfox net>
Co-authored-by: Thomas Kairos <thomas@bkfox.net>
Reviewed-on: #131
Co-authored-by: Chris Tactic <ctactic@noreply.git.radiocampus.be>
Co-committed-by: Chris Tactic <ctactic@noreply.git.radiocampus.be>
This commit is contained in:
2024-04-28 22:02:09 +02:00
committed by Thomas Kairos
parent 1e17a1334a
commit 55123c386d
348 changed files with 124397 additions and 17879 deletions

View File

@ -1,8 +1,9 @@
{% comment %}List item for a source.{% endcomment %}
{% load i18n %}
<section class="box"><div class="columns is-desktop">
<div class="column">
<section class="box"><div class="flex-row gap-3">
<div class="flex-grow-1">
<h5 class='title is-5' :class="{'has-text-danger': source.isPlaying, 'has-text-warning': source.isPaused}">
<span>
<span v-if="source.isPlaying" class="fas fa-play"></span>
@ -13,36 +14,78 @@
<small v-if="source.isPaused || source.isPlaying">([[ source.remainingString ]])</small>
<a v-if="source.data.program !== undefined"
:href="'{% url 'admin:aircox_program_change' "$$" %}'.replace('$$', source.data.program)"
title="{% translate "Edit related program" %}">
:href="'{% url 'aircox:program_edit' "$$" %}'.replace('$$', source.data.program)"
title="{% translate "Edit program" %}">
<span class="icon">
<span class="fas fa-edit"></span>
</span>
</a>
</h5>
<table class="table bg-transparent">
<tbody>
<tr><th class="has-text-right ws-nowrap">
{% translate "Status" %}
</th>
<td :class="{'has-text-danger': source.isPlaying, 'has-text-warning': source.isPaused}">
<span v-if="source.isPlaying" class="fas fa-play"></span>
<span v-else-if="source.data.status" class="fas fa-pause"></span>
[[ source.data.status_verbose || "&mdash;" ]]
</td>
</tr>
<tr v-if="source.data.air_time">
<th class="has-text-right ws-nowrap">
{% translate "Air time" %}
</th><td>
<span class="far fa-clock"></span>
<time :datetime="source.date">
[[ source.data.air_time.toLocaleDateString() ]],
[[ source.data.air_time.toLocaleTimeString() ]]
</time>
</td>
<tr v-if="source.remaining">
<th class="has-text-right ws-nowrap">
{% translate "Time left" %}
</th><td>
<span class="far fa-hourglass"></span>
[[ source.remainingString ]]
</td>
</tr>
<tr v-if="source.data.uri">
<th class="has-text-right ws-nowrap">
{% translate "Source" %}
</th><td>
<span class="far fa-play-circle"></span>
<template v-if="source.data.uri.length > 64">...</template>[[ (source.data.uri && source.data.uri.slice(-64)) || '&mdash;' ]]
</td>
</tr>
</tbody>
</table>
</div>
<div>
<div>
<button class="button" @click="source.sync()"
title="{% translate "Synchronize source with Liquidsoap" %}">
<span class="icon is-small">
<span class="fas fa-sync"></span>
</span>
<span>{% translate "Synchronise" %}</span>
</button>
<button class="button" @click="source.restart()"
<button class="button smaller mr-2 mb-2" @click="source.restart()"
title="{% translate "Restart current track" %}">
<span class="icon is-small">
<span class="fas fa-step-backward"></span>
</span>
<span>{% translate "Restart" %}</span>
</button>
<button class="button" @click="source.skip()"
<button class="button smaller mr-2 mb-2" @click="source.skip()"
title="{% translate "Skip current file" %}">
<span>{% translate "Skip" %}</span>
<span class="icon is-small">
<span class="fas fa-step-forward"></span>
</span>
</button>
<button class="button smaller mr-2 mb-2" @click="source.sync()"
title="{% translate "Synchronize source with Liquidsoap" %}">
<span class="icon is-small">
<span class="fas fa-sync"></span>
</span>
<span>{% translate "Synchronise" %}</span>
</button>
</div>
<div v-if="source.isQueue">
@ -89,46 +132,4 @@
</div>
</div>
<div class="column is-two-fifths">
<h6 class="subtitle is-6 is-marginless">Metadata</h6>
<table class="table has-background-transparent">
<tbody>
<tr><th class="has-text-right has-text-nowrap">
{% translate "Status" %}
</th>
<td :class="{'has-text-danger': source.isPlaying, 'has-text-warning': source.isPaused}">
<span v-if="source.isPlaying" class="fas fa-play"></span>
<span v-else-if="source.data.status" class="fas fa-pause"></span>
[[ source.data.status_verbose || "&mdash;" ]]
</td>
</tr>
<tr v-if="source.data.air_time">
<th class="has-text-right has-text-nowrap">
{% translate "Air time" %}
</th><td>
<span class="far fa-clock"></span>
<time :datetime="source.date">
[[ source.data.air_time.toLocaleDateString() ]],
[[ source.data.air_time.toLocaleTimeString() ]]
</time>
</td>
<tr v-if="source.remaining">
<th class="has-text-right has-text-nowrap">
{% translate "Time left" %}
</th><td>
<span class="far fa-hourglass"></span>
[[ source.remainingString ]]
</td>
</tr>
<tr v-if="source.data.uri">
<th class="has-text-right has-text-nowrap">
{% translate "Data source" %}
</th><td>
<span class="far fa-play-circle"></span>
<template v-if="source.data.uri.length > 64">...</template>[[ (source.data.uri && source.data.uri.slice(-64)) || '&mdash;' ]]
</td>
</tr>
</tbody>
</table>
</div>
</div></section>