forked from rc/aircox
work on player
This commit is contained in:
@ -79,14 +79,17 @@ Usefull context:
|
||||
</h3>
|
||||
|
||||
<div class="columns is-size-4">
|
||||
{% block header_meta %}
|
||||
{% if parent %}
|
||||
<a href="{{ parent.get_absolute_url }}" class="column">
|
||||
❬ {{ parent.title }}</a></li>
|
||||
{% endif %}
|
||||
{% block header_nav %}
|
||||
<span class="column">
|
||||
{% block header_crumbs %}
|
||||
{% if parent %}
|
||||
<a href="{{ parent.get_absolute_url }}">
|
||||
{{ parent.title }}</a></li>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
</span>
|
||||
{% endblock %}
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
</header>
|
||||
|
||||
|
@ -1,61 +1,66 @@
|
||||
{% extends "aircox/program_base.html" %}
|
||||
{% extends "aircox/page_detail.html" %}
|
||||
{% comment %}List of a show's episodes for a specific{% endcomment %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block header %}{{ block.super }}
|
||||
{% include "aircox/program_sidebar.html" %}
|
||||
|
||||
<section class="is-size-5 has-text-weight-bold">
|
||||
{% for diffusion in object.diffusion_set.all %}
|
||||
{% with diffusion.start as start %}
|
||||
{% with diffusion.end as end %}
|
||||
<time datetime="{{ start }}">{{ start|date:"D. d F Y, H:i" }}</time>
|
||||
—
|
||||
<time datetime="{{ end }}">{{ end|date:"H:i" }}</time>
|
||||
{% endwith %}
|
||||
{% endwith %}
|
||||
{% block content %}
|
||||
{{ block.super }}
|
||||
|
||||
<small>
|
||||
{% if diffusion.initial %}
|
||||
{% with diffusion.initial.date as date %}
|
||||
<span title="{% blocktrans %}Rerun of {{ date }}{% endblocktrans %}">
|
||||
({% trans "rerun" %})
|
||||
</span>
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
</small>
|
||||
<br>
|
||||
{% endfor %}
|
||||
</section>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}{{ block.super }}
|
||||
|
||||
{% if podcasts or tracks %}
|
||||
<div class="columns is-desktop">
|
||||
{% if tracks %}
|
||||
<section class="column">
|
||||
<h4 class="title is-4">{% trans "Playlist" %}</h4>
|
||||
<ol>
|
||||
{% for track in tracks %}
|
||||
<li><span>{{ track.title }}</span>
|
||||
<span class="has-text-grey-dark has-text-weight-light">
|
||||
— {{ track.artist }}
|
||||
{% if track.info %}(<i>{{ track.info }}</i>){% endif %}
|
||||
<h5 class="title is-5">{% trans "Diffusions" %}</h5>
|
||||
<ul>
|
||||
{% for diffusion in object.diffusion_set.all %}
|
||||
<li>
|
||||
{% with diffusion.start as start %}
|
||||
{% with diffusion.end as end %}
|
||||
<time datetime="{{ start }}">{{ start|date:"D. d F Y, H:i" }}</time>
|
||||
—
|
||||
<time datetime="{{ end }}">{{ end|date:"H:i" }}</time>
|
||||
{% endwith %}
|
||||
{% endwith %}
|
||||
|
||||
<small>
|
||||
{% if diffusion.initial %}
|
||||
{% with diffusion.initial.date as date %}
|
||||
<span title="{% blocktrans %}Rerun of {{ date }}{% endblocktrans %}">
|
||||
({% trans "rerun" %})
|
||||
</span>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ol>
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
</small>
|
||||
<br>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
||||
{% endif %}
|
||||
|
||||
{% if podcasts %}
|
||||
<section class="column">
|
||||
<h4 class="title is-4">{% trans "Podcasts" %}</h4>
|
||||
<h5 class="title is-5">{% trans "Podcasts" %}</h5>
|
||||
{% for object in podcasts %}
|
||||
{% include "aircox/widgets/podcast_item.html" %}
|
||||
{% endfor %}
|
||||
</section>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if tracks %}
|
||||
<section class="column">
|
||||
<h4 class="title is-4">{% trans "Playlist" %}</h4>
|
||||
<ol>
|
||||
{% for track in tracks %}
|
||||
<li><span>{{ track.title }}</span>
|
||||
<span class="has-text-grey-dark has-text-weight-light">
|
||||
— {{ track.artist }}
|
||||
{% if track.info %}(<i>{{ track.info }}</i>){% endif %}
|
||||
</span>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ol>
|
||||
</section>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
|
@ -13,6 +13,7 @@
|
||||
|
||||
{% block pages_list %}
|
||||
{% if page and page.content %}<hr/>{% endif %}
|
||||
{% if top_diffs %}
|
||||
<div class="columns">
|
||||
{% with render_card=True %}
|
||||
{% for object in top_diffs %}
|
||||
@ -20,11 +21,13 @@
|
||||
<div class="column is-relative">
|
||||
<h4 class="card-super-title" title="{{ object.start }}">
|
||||
{% if is_primary %}
|
||||
<span class="fas fa-play"></span>
|
||||
<time datetime="{{ object.start }}">
|
||||
{% trans "Currently" %}
|
||||
{% else %}{{ object.start|date:"H:i" }}{% endif %}
|
||||
</time>
|
||||
<span class="fas fa-play"></span>
|
||||
<time datetime="{{ object.start }}">
|
||||
{% trans "Currently" %}
|
||||
</time>
|
||||
{% else %}
|
||||
{{ object.start|date:"H:i" }}
|
||||
{% endif %}
|
||||
|
||||
{% if object.episode.category %}
|
||||
// {{ object.episode.category.title }}
|
||||
@ -36,8 +39,9 @@
|
||||
{% endfor %}
|
||||
{% endwith %}
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
{% endif %}
|
||||
|
||||
<h4 class="title is-4">{% trans "Last publications" %}</h4>
|
||||
{% with has_headline=True %}
|
||||
{{ block.super }}
|
||||
|
@ -7,12 +7,11 @@ Context:
|
||||
- page: page
|
||||
{% endcomment %}
|
||||
|
||||
{% block header_meta %}{{ block.super }}
|
||||
<span class="column has-text-right">
|
||||
{% if page.category %}
|
||||
{{ page.category.title }}
|
||||
{% endif %}
|
||||
</span>
|
||||
{% block header_crumbs %}
|
||||
{{ block.super }}
|
||||
{% if page.category %}
|
||||
/ {{ page.category.title }}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
@ -21,7 +20,7 @@ Context:
|
||||
{% block comments %}
|
||||
{% if comments or comment_form %}
|
||||
<hr>
|
||||
<section>
|
||||
<section class="mt-6">
|
||||
<h4 class="title is-4">{% trans "Comments" %}</h4>
|
||||
|
||||
{% for comment in comments %}
|
||||
|
@ -1,11 +0,0 @@
|
||||
{% extends "aircox/page_detail.html" %}
|
||||
{% comment %}Base template used to display informations of a specific show{% endcomment %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block sidebar_title %}
|
||||
{% with program.title as program %}
|
||||
{% blocktrans %}Recently on {{ program }}{% endblocktrans %}
|
||||
{% endwith %}
|
||||
{% endblock %}
|
||||
|
||||
|
@ -1,22 +1,46 @@
|
||||
{% extends "aircox/program_base.html" %}
|
||||
{% extends "aircox/page_detail.html" %}
|
||||
{% comment %}Detail page of a show{% endcomment %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block header %}
|
||||
{{ block.super }}
|
||||
{% include "aircox/program_header.html" %}
|
||||
{% include "aircox/program_sidebar.html" %}
|
||||
|
||||
|
||||
{% block header_nav %}
|
||||
{% endblock %}
|
||||
|
||||
|
||||
{% block content %}
|
||||
{{ block.super }}
|
||||
|
||||
<br>
|
||||
{% with has_headline=False %}
|
||||
<div class="columns is-desktop">
|
||||
<section class="column">
|
||||
<h5 class="title is-5">{% trans "Diffusions" %}</h5>
|
||||
{% for schedule in program.schedule_set.all %}
|
||||
{{ schedule.get_frequency_verbose }}
|
||||
{% with schedule.start|date:"H:i" as start %}
|
||||
{% with schedule.end|date:"H:i" as end %}
|
||||
<time datetime="{{ start }}">{{ start }}</time>
|
||||
—
|
||||
<time datetime="{{ end }}">{{ end }}</time>
|
||||
{% endwith %}
|
||||
{% endwith %}
|
||||
<small>
|
||||
{% if schedule.initial %}
|
||||
{% with schedule.initial.date as date %}
|
||||
<span title="{% blocktrans %}Rerun of {{ date }}{% endblocktrans %}">
|
||||
({% trans "Rerun" %})
|
||||
</span>
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
</small>
|
||||
<br>
|
||||
{% endfor %}
|
||||
</section>
|
||||
|
||||
{% if articles %}
|
||||
<section class="column">
|
||||
<h4 class="title is-4">{% trans "Articles" %}</h4>
|
||||
<h4 class="title is-5">{% trans "Articles" %}</h4>
|
||||
|
||||
{% for object in articles %}
|
||||
{% include "aircox/widgets/page_item.html" %}
|
||||
|
@ -1,29 +0,0 @@
|
||||
{% comment %}
|
||||
Header displaying informations of a program.
|
||||
|
||||
FIXME: consider moving into the "widgets" directory.
|
||||
{% endcomment %}
|
||||
{% load i18n %}
|
||||
<section class="is-size-5 has-text-weight-bold">
|
||||
{% for schedule in program.schedule_set.all %}
|
||||
{{ schedule.get_frequency_verbose }}
|
||||
{% with schedule.start|date:"H:i" as start %}
|
||||
{% with schedule.end|date:"H:i" as end %}
|
||||
<time datetime="{{ start }}">{{ start }}</time>
|
||||
—
|
||||
<time datetime="{{ end }}">{{ end }}</time>
|
||||
{% endwith %}
|
||||
{% endwith %}
|
||||
<small>
|
||||
{% if schedule.initial %}
|
||||
{% with schedule.initial.date as date %}
|
||||
<span title="{% blocktrans %}Rerun of {{ date }}{% endblocktrans %}">
|
||||
({% trans "Rerun" %})
|
||||
</span>
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
</small>
|
||||
<br>
|
||||
{% endfor %}
|
||||
</section>
|
||||
|
@ -1,9 +1,8 @@
|
||||
{% load i18n %}
|
||||
{% load i18n aircox %}
|
||||
{% comment %}
|
||||
The audio player
|
||||
{% endcomment %}
|
||||
|
||||
{% if audio_streams %}
|
||||
<br>
|
||||
|
||||
<div class="box is-fullwidth is-fixed-bottom is-paddingless player"
|
||||
@ -18,37 +17,34 @@ The audio player
|
||||
{# TODO: live infos #}
|
||||
</noscript>
|
||||
|
||||
<a-player ref="player" src="{{ audio_streams.0 }}"
|
||||
live-info-url="{% url "api:live" %}" :live-info-timeout="20"
|
||||
<a-player ref="player"
|
||||
:live-args="{url: '{% url "api:live" %}', timeout:10, src: {{ audio_streams|json }} || []}"
|
||||
button-title="{% trans "Play or pause audio" %}">
|
||||
<template v-slot:sources>
|
||||
{% for stream in audio_streams %}
|
||||
<source src="{{ stream }}" />
|
||||
{% endfor %}
|
||||
</template>
|
||||
|
||||
<template v-slot:track="{ onAir }">
|
||||
<h4 class="title is-4" aria-description="{% trans "Track currently on air" %}">
|
||||
<template v-slot:content="{ current }">
|
||||
<h4 v-if="current && current.type == 'track'"
|
||||
class="title is-4" aria-description="{% trans "Track currently on air" %}">
|
||||
<span class="has-text-info is-size-3">♬</span>
|
||||
<span>[[ onAir.title ]]</span>
|
||||
<span>[[ current.title ]]</span>
|
||||
<span class="has-text-grey-dark has-text-weight-light">
|
||||
— [[ onAir.artist ]]
|
||||
<i v-if="onAir.info">([[ onAir.info ]])</i>
|
||||
— [[ current.artist ]]
|
||||
<i v-if="current.info">([[ current.info ]])</i>
|
||||
</span>
|
||||
</h4>
|
||||
</template>
|
||||
|
||||
<template v-slot:diffusion="{ onAir }">
|
||||
<h4 class="title is-4" aria-description="{% trans "Diffusion currently on air" %}">
|
||||
<a :href="onAir.url">[[ onAir.title ]]</a>
|
||||
<div v-else-if="current && current.type == 'diffusion'">
|
||||
<h4 class="title is-4" aria-description="{% trans "Diffusion currently on air" %}">
|
||||
<a :href="current.url">[[ current.title ]]</a>
|
||||
</h4>
|
||||
<div class="">[[ current.info ]]</div>
|
||||
</div>
|
||||
<h4 v-else-if="current" class="title is-4">
|
||||
[[ current.name ]]
|
||||
</h4>
|
||||
<h4 v-else class="title is-4" aria-description="{% trans "Currently playing" %}">
|
||||
{{ station.name }}
|
||||
</h4>
|
||||
<div class="">[[ onAir.info ]]</div>
|
||||
</template>
|
||||
|
||||
<template v-slot:empty>
|
||||
<h4 class="title is-4" aria-description="{% trans "Currently playing" %}">{{ station.name }}</h4>
|
||||
</template>
|
||||
</a-player>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
@ -2,13 +2,17 @@
|
||||
List item for a podcast.
|
||||
|
||||
{% endcomment %}
|
||||
{% load aircox %}
|
||||
<div class="podcast">
|
||||
{# comment #}
|
||||
{% comment %}
|
||||
{% if object.embed %}
|
||||
{{ object.embed|safe }}
|
||||
{% else %}
|
||||
{# endcomment #}
|
||||
<audio src="{{ object.url }}" controls>
|
||||
{% endif %}
|
||||
{% endcomment %}
|
||||
<a-sound-item :data="{{ object|json }}" :player="player"
|
||||
:actions="['play','queue']" @click="player.play(item)">
|
||||
</a-sound-item>
|
||||
</div>
|
||||
|
||||
|
Reference in New Issue
Block a user