music stream

This commit is contained in:
bkfox 2024-02-01 19:31:30 +01:00
parent e3966ca5cb
commit 93e286fa62
15 changed files with 276 additions and 233 deletions

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Aircox 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-01-16 13:25+0000\n"
"POT-Creation-Date: 2024-02-01 18:22+0000\n"
"PO-Revision-Date: 2016-10-10 16:00+02\n"
"Last-Translator: Aarys\n"
"Language-Team: Aircox's translators team\n"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: aircox/admin/diffusion.py:26 aircox/models/diffusion.py:122
#: aircox/models/log.py:75
#: aircox/models/log.py:76
msgid "start"
msgstr "début"
@ -40,7 +40,7 @@ msgstr "Depuis"
msgid "Until"
msgstr "Jusque"
#: aircox/admin/filters.py:28 aircox/models/page.py:260
#: aircox/admin/filters.py:28 aircox/models/page.py:263
#: aircox/tests/admin/test_filters.py:53
msgid "None"
msgstr "Aucun"
@ -77,7 +77,7 @@ msgstr "Audio"
msgid "Program / Episode"
msgstr "Émission / Épisode"
#: aircox/admin/sound.py:135 aircox/templates/aircox/episode_detail.html:30
#: aircox/admin/sound.py:135 aircox/templates/aircox/episode_detail.html:29
msgid "Playlist"
msgstr "Playlist"
@ -115,7 +115,7 @@ msgstr "Article"
msgid "Articles"
msgstr "Articles"
#: aircox/models/diffusion.py:100 aircox/models/log.py:77
#: aircox/models/diffusion.py:100 aircox/models/log.py:78
msgid "on air"
msgstr "à l'antenne"
@ -123,7 +123,7 @@ msgstr "à l'antenne"
msgid "not confirmed"
msgstr "non confirmé"
#: aircox/models/diffusion.py:102 aircox/models/log.py:76
#: aircox/models/diffusion.py:102 aircox/models/log.py:77
msgid "cancelled"
msgstr "annulé"
@ -136,12 +136,12 @@ msgstr "épisode"
msgid "schedule"
msgstr "horaire"
#: aircox/models/diffusion.py:118 aircox/models/log.py:87
#: aircox/models/sound.py:113 aircox/models/station.py:156
#: aircox/models/diffusion.py:118 aircox/models/log.py:88
#: aircox/models/sound.py:113 aircox/models/station.py:160
msgid "type"
msgstr "type"
#: aircox/models/diffusion.py:133 aircox/models/log.py:126
#: aircox/models/diffusion.py:133 aircox/models/log.py:127
msgid "Diffusion"
msgstr "Date de diffusion"
@ -165,57 +165,57 @@ msgstr "Épisode"
msgid "Episodes"
msgstr "Épisodes"
#: aircox/models/log.py:74
#: aircox/models/log.py:75
msgid "stop"
msgstr "stop"
#: aircox/models/log.py:78 aircox/models/sound.py:90
#: aircox/models/log.py:79 aircox/models/sound.py:90
msgid "other"
msgstr "autre"
#: aircox/models/log.py:84 aircox/models/page.py:320
#: aircox/models/program.py:50 aircox/models/station.py:154
#: aircox/models/log.py:85 aircox/models/page.py:323
#: aircox/models/program.py:50 aircox/models/station.py:158
msgid "station"
msgstr "station"
#: aircox/models/log.py:85
#: aircox/models/log.py:86
msgid "related station"
msgstr "station relative"
#: aircox/models/log.py:88 aircox/models/schedule.py:48
#: aircox/models/log.py:89 aircox/models/schedule.py:48
msgid "date"
msgstr "date"
#: aircox/models/log.py:95
#: aircox/models/log.py:96
msgid "source"
msgstr "source"
#: aircox/models/log.py:96
#: aircox/models/log.py:97
msgid "identifier of the source related to this log"
msgstr "identifiant de la source relative à ce log"
#: aircox/models/log.py:102
#: aircox/models/log.py:103
msgid "comment"
msgstr "commentaire"
#: aircox/models/log.py:110 aircox/models/sound.py:163
#: aircox/models/log.py:111 aircox/models/sound.py:163
msgid "Sound"
msgstr "Son"
#: aircox/models/log.py:118 aircox/models/sound.py:294
#: aircox/models/log.py:119 aircox/models/sound.py:294
#: aircox/templates/admin/aircox/statistics.html:24
msgid "Track"
msgstr "Morceau"
#: aircox/models/log.py:150
#: aircox/models/log.py:151
msgid "Log"
msgstr "Log"
#: aircox/models/log.py:151
#: aircox/models/log.py:152
msgid "Logs"
msgstr "Logs"
#: aircox/models/page.py:43 aircox/models/page.py:323
#: aircox/models/page.py:43 aircox/models/page.py:326
#: aircox/models/sound.py:277
msgid "title"
msgstr "titre"
@ -253,125 +253,117 @@ msgstr "statut"
msgid "cover"
msgstr "couverture"
#: aircox/models/page.py:111 aircox/models/page.py:300
#: aircox/models/page.py:111 aircox/models/page.py:303
msgid "content"
msgstr "contenu"
#: aircox/models/page.py:205
#: aircox/models/page.py:208
msgid "category"
msgstr "catégorie"
#: aircox/models/page.py:210
#: aircox/models/page.py:213
msgid "publication date"
msgstr "date de publication"
#: aircox/models/page.py:212
#: aircox/models/page.py:215
msgid "featured"
msgstr "en avant"
#: aircox/models/page.py:216
#: aircox/models/page.py:219
msgid "allow comments"
msgstr "autoriser les commentaires"
#: aircox/models/page.py:240
#: aircox/models/page.py:243
msgid "Publication"
msgstr "Publication"
#: aircox/models/page.py:241
#: aircox/models/page.py:244
msgid "Publications"
msgstr "Publications"
#: aircox/models/page.py:261
#, fuzzy
#| msgid "Home page"
#: aircox/models/page.py:264
msgid "Home Page"
msgstr "Page d'accueil"
#: aircox/models/page.py:262
#, fuzzy
#| msgid "Timestamp"
#: aircox/models/page.py:265
msgid "Timetable"
msgstr "Temps"
#: aircox/models/page.py:263
#: aircox/models/page.py:266
msgid "Programs list"
msgstr "Liste des émissions"
#: aircox/models/page.py:264
#: aircox/models/page.py:267
msgid "Episodes list"
msgstr "Liste des épisodes"
#: aircox/models/page.py:265
#: aircox/models/page.py:268
msgid "Articles list"
msgstr "Liste des articles"
#: aircox/models/page.py:266
#, fuzzy
#| msgid "Publications"
#: aircox/models/page.py:269
msgid "Publications list"
msgstr "Publications"
#: aircox/models/page.py:267
#, fuzzy
#| msgid "Podcasts"
#: aircox/models/page.py:270
msgid "Podcasts list"
msgstr "Podcasts"
#: aircox/models/page.py:270
#: aircox/models/page.py:273
msgid "attach to"
msgstr "attacher à"
#: aircox/models/page.py:275
#: aircox/models/page.py:278
msgid "display this page content to related element"
msgstr "Afficher le contenu de cette page pour l'élément sélectionné"
#: aircox/models/page.py:293
#: aircox/models/page.py:296
msgid "related page"
msgstr "page liée"
#: aircox/models/page.py:297
#: aircox/models/page.py:300
msgid "nickname"
msgstr "pseudo"
#: aircox/models/page.py:298
#: aircox/models/page.py:301
msgid "email"
msgstr "email"
#: aircox/models/page.py:313
#: aircox/models/page.py:316
msgid "Comment"
msgstr "Commentaire"
#: aircox/models/page.py:314 aircox/templates/aircox/page_detail.html:59
#: aircox/models/page.py:317 aircox/templates/aircox/page_detail.html:60
msgid "Comments"
msgstr "Commentaires"
#: aircox/models/page.py:321
#: aircox/models/page.py:324
msgid "menu"
msgstr "menu"
#: aircox/models/page.py:322 aircox/models/sound.py:115
#: aircox/models/page.py:325 aircox/models/sound.py:115
#: aircox/models/sound.py:267
msgid "order"
msgstr "ordre"
#: aircox/models/page.py:324
#: aircox/models/page.py:327
msgid "url"
msgstr "url"
#: aircox/models/page.py:329
#: aircox/models/page.py:332
msgid "page"
msgstr "page"
#: aircox/models/page.py:335
#: aircox/models/page.py:338
msgid "Menu item"
msgstr "Élément du menu"
#: aircox/models/page.py:336
#: aircox/models/page.py:339
msgid "Menu items"
msgstr "Éléments de menu"
#: aircox/models/program.py:52 aircox/models/station.py:48
#: aircox/models/station.py:157
#: aircox/models/station.py:161
msgid "active"
msgstr "actif"
@ -533,7 +525,7 @@ msgstr "émission apparentée à celui-ci"
msgid "position in the playlist"
msgstr "position dans la playlist"
#: aircox/models/sound.py:125 aircox/models/station.py:151
#: aircox/models/sound.py:125 aircox/models/station.py:155
msgid "file"
msgstr "fichier"
@ -666,27 +658,35 @@ msgstr ""
msgid "Default pages' cover"
msgstr "Couverture par défault des pages."
#: aircox/models/station.py:133
#: aircox/models/station.py:80
msgid "Music stream's title"
msgstr "Titre du flux musical"
#: aircox/models/station.py:81
msgid "Music stream"
msgstr "Flux musical"
#: aircox/models/station.py:137
msgid "input"
msgstr "entrée"
#: aircox/models/station.py:134
#: aircox/models/station.py:138
msgid "output"
msgstr "sortie"
#: aircox/models/station.py:155
#: aircox/models/station.py:159
msgid "direction"
msgstr "direction"
#: aircox/models/station.py:157
#: aircox/models/station.py:161
msgid "this port is active"
msgstr "ce port est actif"
#: aircox/models/station.py:159
#: aircox/models/station.py:163
msgid "port settings"
msgstr "paramètres du port"
#: aircox/models/station.py:161
#: aircox/models/station.py:165
msgid ""
"list of comma separated params available; this is put in the output config "
"file as raw code; plugin related"
@ -757,7 +757,7 @@ msgid "Total"
msgstr "Total"
#: aircox/templates/admin/base.html:72 aircox/templates/admin/index.html:12
#: aircox/templates/aircox/home.html:48
#: aircox/templates/aircox/home.html:51
msgid "Today"
msgstr "Aujourd'hui"
@ -817,24 +817,9 @@ msgstr "Dernières publications"
msgid "Administration"
msgstr "Administration"
#. Translators: in page detail sidebar
#: aircox/templates/aircox/article_detail.html:12
msgid "Latest news"
msgstr "Dernières nouvelles"
#: aircox/templates/aircox/article_detail.html:23
msgid "Show all news"
msgstr "Afficher toutes les nouvelles"
#: aircox/templates/aircox/article_detail.html:24
msgid "More news"
msgstr "Plus de nouvelles"
#: aircox/templates/aircox/base.html:61
#, fuzzy
#| msgid "menu"
msgid "Main menu"
msgstr "menu"
msgstr "Menu principal"
#: aircox/templates/aircox/base.html:71
msgid "Admin"
@ -853,8 +838,8 @@ msgstr "pagination"
msgid "Previous"
msgstr "Précédent"
#: aircox/templates/aircox/basepage_list.html:53
#: aircox/templates/aircox/basepage_list.html:54
#: aircox/templates/aircox/basepage_list.html:57
#: aircox/templates/aircox/basepage_list.html:58
msgid "Next"
msgstr "Prochain"
@ -863,17 +848,17 @@ msgstr "Prochain"
msgid "This week on %(station)s"
msgstr "Cette semaine sur %(station)s"
#: aircox/templates/aircox/episode_detail.html:17
#: aircox/templates/aircox/episode_detail.html:16
#: aircox/templates/aircox/episode_list.html:8
msgid "Podcasts"
msgstr "Podcasts"
#: aircox/templates/aircox/episode_detail.html:35
#: aircox/templates/aircox/episode_detail.html:34
#: aircox/templatetags/aircox_admin.py:48
msgid "Artist"
msgstr "Artiste"
#: aircox/templates/aircox/episode_detail.html:36
#: aircox/templates/aircox/episode_detail.html:35
#: aircox/templatetags/aircox_admin.py:50
msgid "Title"
msgstr "Titre"
@ -915,35 +900,30 @@ msgstr "Si vous êtes un visiteur ou visiteuse, contactez votre radio favorite"
msgid "Today on %(station)s"
msgstr "Aujourd'hui sur %(station)s"
#: aircox/templates/aircox/home.html:40
#: aircox/templates/aircox/home.html:42
msgid "It just happened"
msgstr "Ça vient juste d'arriver"
#: aircox/templates/aircox/home.html:47
#: aircox/templates/aircox/home.html:50
msgid "Show all program's for today"
msgstr "Tous les articles de l'émission"
#: aircox/templates/aircox/home.html:57
#: aircox/templates/aircox/home.html:60
msgid "Last podcasts"
msgstr "Derniers Podcasts"
#: aircox/templates/aircox/home.html:58
#: aircox/templates/aircox/home.html:61
msgid "All podcasts"
msgstr "Tous les podcasts"
#: aircox/templates/aircox/home.html:64
#: aircox/templates/aircox/home.html:67
msgid "Last publications"
msgstr "Dernières publications"
#: aircox/templates/aircox/home.html:65
#: aircox/templates/aircox/home.html:68
msgid "All publications"
msgstr "Toutes les publications"
#: aircox/templates/aircox/log_list.html:9
#, python-format
msgid "That happened on %(station)s"
msgstr "C'est passé sur %(station)s"
#: aircox/templates/aircox/page_detail.html:21
msgid "Edit"
msgstr "Éditer"
@ -953,11 +933,11 @@ msgstr "Éditer"
msgid "Related %(models)s"
msgstr "%(models)s connexes"
#: aircox/templates/aircox/page_detail.html:71
#: aircox/templates/aircox/page_detail.html:72
msgid "Post a comment"
msgstr "Poster un commentaire"
#: aircox/templates/aircox/page_detail.html:98
#: aircox/templates/aircox/page_detail.html:99
msgid "Post comment"
msgstr "Commenter"
@ -971,24 +951,18 @@ msgid "Rerun"
msgstr "Rediffusion"
#: aircox/templates/aircox/program_detail.html:41
#, fuzzy
#| msgid "Episodes"
msgid "Last Episodes"
msgstr "Épisodes"
msgstr "Derniers Épisodes"
#: aircox/templates/aircox/program_detail.html:42
msgid "All episodes"
msgstr "Tous les épisodes"
#: aircox/templates/aircox/program_detail.html:49
#, fuzzy
#| msgid "Articles"
msgid "Last Articles"
msgstr "Derniers articles"
#: aircox/templates/aircox/program_detail.html:50
#, fuzzy
#| msgid "Articles"
msgid "All articles"
msgstr "Tous les articles"
@ -1019,8 +993,6 @@ msgid "Dates"
msgstr "Dates"
#: aircox/templates/aircox/widgets/dates_menu.html:33
#, fuzzy
#| msgid "pick a date"
msgid "Pick a date"
msgstr "Choisir une date"
@ -1036,6 +1008,10 @@ msgstr "Diffusion différée"
msgid "Listen"
msgstr "Écouter"
#: aircox/templates/aircox/widgets/page.html:40
msgid "Show"
msgstr "Voir"
#: aircox/templates/aircox/widgets/page_list.html:20
msgid "Show all publications"
msgstr "Afficher toutes les publications"
@ -1060,11 +1036,11 @@ msgstr "Lire ou suspendre l'audio"
msgid "Track currently on air"
msgstr "Morceau en ce moment sur les ondes"
#: aircox/templates/aircox/widgets/player.html:42
#: aircox/templates/aircox/widgets/player.html:44
msgid "Diffusion currently on air"
msgstr "Épisode en ce moment sur les ondes"
#: aircox/templates/aircox/widgets/player.html:46
#: aircox/templates/aircox/widgets/player.html:48
msgid "Currently playing"
msgstr "En ce moment"
@ -1101,104 +1077,115 @@ msgid "Timestamp"
msgstr "Temps"
#: aircox/urls.py:44
msgid "articles/"
msgstr "articles/"
#: aircox/urls.py:49
msgid "articles/c/<slug:category_slug>/"
msgstr "articles/<slug:slug>/"
#: aircox/urls.py:52
msgid "articles/<slug:slug>/"
msgstr "articles/<slug:slug>/"
#: aircox/urls.py:57
msgid "programs/episodes/"
msgstr "emissions/episodes/"
#: aircox/urls.py:49
msgid "articles/"
msgstr "articles/"
#: aircox/urls.py:58
msgid "programs/episodes/c/<slug:category_slug>/"
msgstr "emissions/episodes/c/<slug:category_slug>/"
#: aircox/urls.py:54
msgid "articles/c/<slug:category_slug>/"
msgstr "articles/<slug:slug>/"
#: aircox/urls.py:60
msgid "programs/episodes/<slug:slug>/"
msgstr "emissions/episodes/<slug:slug>/"
#: aircox/urls.py:64
msgid "podcasts/"
msgstr "podcasts/"
#: aircox/urls.py:65
msgid "podcasts/c/<slug:category_slug>/"
msgstr "podcasts/c/<slug:category_slug>/"
#: aircox/urls.py:68
#: aircox/urls.py:59
msgid "timetable/"
msgstr "grille/"
#: aircox/urls.py:70
#: aircox/urls.py:61
msgid "timetable/<date:date>/"
msgstr "grille/<date:date>/"
#: aircox/urls.py:76
#: aircox/urls.py:67
msgid "publications/"
msgstr "publications/"
#: aircox/urls.py:81
#, fuzzy
#| msgid "publications/c/<slug:category_slug>/"
#: aircox/urls.py:72
msgid "publications/c/<slug:category_slug>"
msgstr "publications/c/<slug:category_slug>/"
#: aircox/urls.py:86
msgid "pages/"
msgstr "pages/"
#: aircox/urls.py:94
#: aircox/urls.py:77
msgid "pages/<slug:slug>/"
msgstr "pages/<slug:slug>/"
#: aircox/urls.py:102
#: aircox/urls.py:85
msgid "pages/"
msgstr "pages/"
#: aircox/urls.py:93
msgid "programs/"
msgstr "emissions/"
#: aircox/urls.py:103
#: aircox/urls.py:94
msgid "programs/c/<slug:category_slug>/"
msgstr "emissions/c/<slug:category_slug>/"
#: aircox/urls.py:105
msgid "programs/<slug:slug>/"
msgstr "emissions/<slug:slug>/"
#: aircox/urls.py:96
msgid "programs/<slug:slug>"
msgstr "emissions/<slug:slug>"
#: aircox/urls.py:109
msgid "programs/<slug:parent_slug>/articles/"
msgstr "emissions/<slug:parent_slug>/articles/"
#: aircox/urls.py:100
msgid "programs/<slug:parent_slug>/articles"
msgstr "emissions/<slug:parent_slug>/articles"
#: aircox/urls.py:101
msgid "programs/<slug:parent_slug>/podcasts"
msgstr "emissions/<slug:parent_slug>/podcasts"
#: aircox/urls.py:102
msgid "programs/<slug:parent_slug>/episodes"
msgstr "emissions/<slug:parent_slug>/episodes"
#: aircox/urls.py:103
msgid "programs/<slug:parent_slug>/diffusions"
msgstr "emissions/<slug:parent_slug>/diffusions"
#: aircox/urls.py:105
msgid "programs/<slug:parent_slug>/publications"
msgstr "emissions/<slug:parent_slug>/publications"
#: aircox/urls.py:110
msgid "programs/<slug:parent_slug>/podcasts/"
msgstr "emissions/<slug:parent_slug>/episodes/"
msgid "programs/episodes/"
msgstr "emissions/episodes/"
#: aircox/urls.py:111
msgid "programs/<slug:parent_slug>/episodes/"
msgstr "emissions/<slug:parent_slug>/episodes/"
msgid "programs/episodes/c/<slug:category_slug>"
msgstr "emissions/episodes/c/<slug:category_slug>"
#: aircox/urls.py:112
msgid "programs/<slug:parent_slug>/diffusions/"
msgstr "emissions/<slug:parent_slug>/diffusions/"
#: aircox/urls.py:113
msgid "programs/episodes/<slug:slug>"
msgstr "emissions/episodes/<slug:slug>"
#: aircox/urls.py:119
msgid "programs/<slug:parent_slug>/publications"
msgstr "emissions/<slug:parent_slug>/publications/"
#: aircox/urls.py:117
msgid "podcasts/"
msgstr "podcasts/"
#: aircox/views/page.py:69
#: aircox/urls.py:118
msgid "podcasts/c/<slug:category_slug>/"
msgstr "podcasts/c/<slug:category_slug>/"
#: aircox/views/page.py:75
#, python-brace-format
msgid "{model}"
msgstr "{model}"
#: aircox/views/page.py:192
#: aircox/views/page.py:180
msgid "comments are not allowed"
msgstr "les commentaires ne sont pas autorisés"
#~ msgid "Latest news"
#~ msgstr "Dernières nouvelles"
#~ msgid "Show all news"
#~ msgstr "Afficher toutes les nouvelles"
#~ msgid "More news"
#~ msgstr "Plus de nouvelles"
#, python-format
#~ msgid "That happened on %(station)s"
#~ msgstr "C'est passé sur %(station)s"
#~ msgid "Diffusions page"
#~ msgstr "Grille horaire"

View File

@ -0,0 +1,42 @@
# Generated by Django 4.2.1 on 2024-02-01 18:12
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("aircox", "0018_alter_staticpage_attach_to"),
]
operations = [
migrations.AddField(
model_name="station",
name="music_stream_title",
field=models.CharField(
default="Music stream",
max_length=64,
verbose_name="Music stream's title",
),
),
migrations.AlterField(
model_name="staticpage",
name="attach_to",
field=models.CharField(
blank=True,
choices=[
("", "None"),
("home", "Home Page"),
("timetable-list", "Timetable"),
("program-list", "Programs list"),
("episode-list", "Episodes list"),
("article-list", "Articles list"),
("page-list", "Publications list"),
("podcast-list", "Podcasts list"),
],
help_text="display this page content to related element",
max_length=32,
null=True,
verbose_name="attach to",
),
),
]

View File

@ -67,7 +67,7 @@ class Station(models.Model):
max_length=2048,
null=True,
blank=True,
help_text=_("Audio streams urls used by station's player. One url " "a line."),
help_text=_("Audio streams urls used by station's player. One url a line."),
)
default_cover = FilerImageField(
on_delete=models.SET_NULL,
@ -76,6 +76,11 @@ class Station(models.Model):
blank=True,
related_name="+",
)
music_stream_title = models.CharField(
_("Music stream's title"),
max_length=64,
default=_("Music stream"),
)
objects = StationQuerySet.as_manager()

View File

@ -170,13 +170,14 @@
}
.preview-cover {
background-color: var(--preview-bg);
background: var(--preview-bg);
background-size: cover;
background-repeat: no-repeat;
height: var(--cover-h);
max-width: calc(var(--cover-w) * 1.5);
min-width: var(--cover-w);
overflow: hidden;
border: 1px #c4c4c4 solid;
}
.preview-cover img {
height: var(--cover-h);
@ -240,24 +241,20 @@
text-align: right;
min-width: 9rem;
}
.list-item .media {
flex-grow: 1;
}
.list-item .media-content {
display: flex;
flex-direction: column;
height: 100%;
margin-bottom: unset;
}
.list-item .media-content .content {
flex-grow: 1;
}
.list-item:not(.no-cover) .list-item .media-content {
min-height: var(--preview-cover-small-size);
}
.list-item .actions {
text-align: right;
}
.list-item:not(.wide) .media {
padding: 0.6rem;
border: 1px solid var(--break-color) !important;
}
@media screen and (max-width: 400px) {
.list-item .headings {
@ -313,7 +310,6 @@
}
.preview-card .card-content figure {
box-shadow: 0em 0em 1em rgba(0, 0, 0, 0.2);
border: 1px #c4c4c4 solid;
height: var(--cover-h);
width: var(--cover-w);
}

View File

@ -6850,10 +6850,24 @@ a.tag:hover {
margin-top: auto !important;
}
.flex-row {
display: flex;
flex-direction: row;
}
.flex-column {
display: flex;
flex-direction: column;
}
.flex-grow-0 {
flex-grow: 0 !important;
}
.flex-grow-1 {
flex-grow: 1 !important;
}
.float-right {
float: right;
}
@ -6973,7 +6987,7 @@ input.half-field:not(:active):not(:hover) {
--body-bg: #fff;
--text-color: black;
--text-color-light: #555;
--break-color: rgb(245, 245, 245);
--break-color: rgb(225, 225, 225);
--main-color: #EFCA08;
--main-color-light: #F4da51;
--main-color-dark: #F49F0A;

View File

@ -170,13 +170,14 @@
}
.preview-cover {
background-color: var(--preview-bg);
background: var(--preview-bg);
background-size: cover;
background-repeat: no-repeat;
height: var(--cover-h);
max-width: calc(var(--cover-w) * 1.5);
min-width: var(--cover-w);
overflow: hidden;
border: 1px #c4c4c4 solid;
}
.preview-cover img {
height: var(--cover-h);
@ -240,24 +241,20 @@
text-align: right;
min-width: 9rem;
}
.list-item .media {
flex-grow: 1;
}
.list-item .media-content {
display: flex;
flex-direction: column;
height: 100%;
margin-bottom: unset;
}
.list-item .media-content .content {
flex-grow: 1;
}
.list-item:not(.no-cover) .list-item .media-content {
min-height: var(--preview-cover-small-size);
}
.list-item .actions {
text-align: right;
}
.list-item:not(.wide) .media {
padding: 0.6rem;
border: 1px solid var(--break-color) !important;
}
@media screen and (max-width: 400px) {
.list-item .headings {
@ -313,7 +310,6 @@
}
.preview-card .card-content figure {
box-shadow: 0em 0em 1em rgba(0, 0, 0, 0.2);
border: 1px #c4c4c4 solid;
height: var(--cover-h);
width: var(--cover-w);
}
@ -7435,17 +7431,18 @@ a.tag:hover {
.actions.no-label label {
display: none;
}
.actions button, .actions .action {
.actions button, .actions .action, .actions a {
justify-content: center;
min-width: 2rem;
padding: 0.4rem;
}
.actions button .not-selected, .actions .action .not-selected {
.actions button .not-selected, .actions .action .not-selected, .actions a .not-selected {
opacity: 0.6;
}
.actions button .icon, .actions .action .icon {
.actions button .icon, .actions .action .icon, .actions a .icon {
margin: 0em !important;
}
.actions button label, .actions .action label {
.actions button label, .actions .action label, .actions a label {
margin-left: 0.4rem;
}
@ -7710,15 +7707,11 @@ nav li a, nav li .button {
margin-right: 0.4rem;
color: var(--secondary-color-dark);
}
.list-item:nth-child(3n):not(.wide) .media, .list-item.logs:nth-child(3n):not(.wide) {
padding: 0.6rem;
border-radius: 0.4rem;
border: 1px solid var(--main-color-dark) !important;
.list-item:nth-child(3n):not(.wide) .media {
border-color: var(--main-color-dark) !important;
}
.list-item:nth-child(3n+1):not(.wide) .media, .list-item.logs:nth-child(3n+1):not(.wide) {
padding: 0.6rem;
border-radius: 0.4rem;
border: 1px solid var(--secondary-color-dark) !important;
.list-item:nth-child(3n+1):not(.wide) .media {
border-color: var(--secondary-color-dark) !important;
}
body {

View File

@ -22,8 +22,8 @@
style="background-image: url({{ object.cover.url }})">
</a>
{% endif %}
<div class="media-content">
<section class="content">
<div class="media-content flex-column">
<section class="content flex-grow-1">
{% block content %}
{% if content and with_content %}
{% autoescape off %}

View File

@ -14,8 +14,16 @@ Context:
{% elif object|is_log %}
{% include "./track_item.html" with object=object.track log=object timetable=True %}
{% else %}
<div class="list-item logs">
<div class="content">
<div class="preview list-item logs">
<header class="headings">
<span class="heading title">
<span class="icon pr-2">
<i class="fas fa-music"></i>
</span>
{{ station.music_stream_title }}
</span>
</header>
<div class="media d-block content">
{% for obj in object %}
{% include "./track_item.html" with object=obj.track log=obj timetable=True %}
{% endfor %}

View File

@ -33,7 +33,11 @@
{{ block.super }}
{{ object.display_headline }}
{% endif %}
{% if url %}
{% endblock %}
{% block actions %}
{% if url and "card" not in widget_template %}
<a href="{{ url }}" class="ml-2">{% translate "Show" %}</a>
{% endif %}
{{ block.super }}
{% endblock %}

View File

@ -93,7 +93,7 @@ urls = [
path(_("programs/"), views.ProgramListView.as_view(), name="program-list"),
path(_("programs/c/<slug:category_slug>/"), views.ProgramListView.as_view(), name="program-list"),
path(
_("programs/<slug:slug>/"),
_("programs/<slug:slug>"),
views.ProgramDetailView.as_view(),
name="program-detail",
),
@ -110,7 +110,7 @@ urls = [
path(_("programs/episodes/"), views.EpisodeListView.as_view(), name="episode-list"),
path(_("programs/episodes/c/<slug:category_slug>"), views.EpisodeListView.as_view(), name="episode-list"),
path(
_("programs/episodes/<slug:slug>/"),
_("programs/episodes/<slug:slug>"),
views.EpisodeDetailView.as_view(),
name="episode-detail",
),

View File

@ -16,7 +16,7 @@ input.half-field:not(:active):not(:hover) {
--body-bg: #fff;
--text-color: black;
--text-color-light: #555;
--break-color: rgb(245, 245, 245);
--break-color: rgb(225, 225, 225);
--main-color: #EFCA08;
--main-color-light: #F4da51;

View File

@ -266,13 +266,14 @@
.preview-cover {
background-color: var(--preview-bg);
background: var(--preview-bg);
background-size: cover;
background-repeat: no-repeat;
height: var(--cover-h);
max-width: calc( var(--cover-w) * 1.5 );
min-width: var(--cover-w);
overflow: hidden;
border: 1px #c4c4c4 solid;
img {
height: var(--cover-h);
@ -350,29 +351,24 @@
min-width: 9rem;
}
.media {
flex-grow: 1;
}
.media-content {
display: flex;
flex-direction: column;
height: 100%;
margin-bottom: unset;
.content {
flex-grow: 1;
}
.list-item:not(.no-cover) & {
min-height: var(--preview-cover-small-size);
}
}
.actions {
text-align: right;
}
&:not(.wide) .media {
padding: v.$mp-3;
// border-radius: v.$mp-2;
border: 1px solid var(--break-color) !important;
}
}
@media screen and (max-width: v.$screen-very-small) {
@ -448,7 +444,6 @@
figure {
box-shadow: 0em 0em 1em rgba(0, 0, 0, 0.2);
border: 1px #c4c4c4 solid;
height: var(--cover-h);
width: var(--cover-w);
}

View File

@ -13,7 +13,11 @@
.push-right, .flex-push-right { margin-left: auto !important; }
.push-bottom { margin-top: auto !important; }
.flex-row { display: flex; flex-direction: row }
.flex-column { display: flex; flex-direction: column }
.flex-grow-0 { flex-grow: 0 !important; }
.flex-grow-1 { flex-grow: 1 !important; }
.float-right { float: right }
.float-left { float: left }

View File

@ -81,9 +81,10 @@
display: none;
}
button, .action {
button, .action, a {
justify-content: center;
min-width: 2rem;
padding: v.$mp-2;
.not-selected { opacity: 0.6; }
.icon { margin: 0em !important; }
@ -423,19 +424,13 @@ nav li {
}
&:nth-child(3n):not(.wide) .media,
&.logs:nth-child(3n):not(.wide)
{
padding: v.$mp-3;
border-radius: v.$mp-2;
border: 1px solid var(--main-color-dark) !important;
border-color: var(--main-color-dark) !important;
}
&:nth-child(3n+1):not(.wide) .media,
&.logs:nth-child(3n+1):not(.wide)
{
padding: v.$mp-3;
border-radius: v.$mp-2;
border: 1px solid var(--secondary-color-dark) !important;
border-color: var(--secondary-color-dark) !important;
}
}