diff --git a/cms/static/aircox/cms/scripts.js b/cms/static/aircox/cms/scripts.js index e951541..0fc7bcf 100644 --- a/cms/static/aircox/cms/scripts.js +++ b/cms/static/aircox/cms/scripts.js @@ -158,7 +158,7 @@ Part_.Selector.prototype = { var dst = dst_qs[i]; if(this.attribute) - dst[this.attribute] = src[this.attribute]; + dst[this.attribute] = src[this.attribute] || ''; else dst.parentNode.replaceChild(src, dst); } diff --git a/notes.md b/notes.md new file mode 100644 index 0000000..ff279c2 --- /dev/null +++ b/notes.md @@ -0,0 +1,52 @@ +- sounds monitor: max_size of path, take in account +- logs: archive functionnality + track stats for diffusions +- debug/prod configuration + +# TODO: +- programs: + - schedule: + - (old) schedule.to_string unused? commented + - check one week on two + - write more tests + - sounds: + - print sounds of diffusions + - inline admin + - one sound, one diffusion? + +- liquidsoap: + - update rc's supervisor scripts + - check when a played sound has a temp blank + +- cms: + - empty content -> empty string + - update documentation: + - cms.views + - cms.parts + - cms.script + - routes + - customized header depending on the list (e.g. thread -> link to thread parent) + - by tags + - different models + - admin cms + - content management -> do we use a markup language? + - sections: + - article list with the focus + - related articles + +- website: + - diffusions: + - filter sounds for undiffused diffusions + - player: + - "listen" + "favorite" buttons made easy + automated + - single mode / play next auto + - mixcloud + - seek bar + - schedule as calendar? + - finish that fucking website + - list of played diffusions and tracks when non-stop; + + + + + + diff --git a/website/templates/aircox/website/player.html b/website/templates/aircox/website/player.html index 45b4a65..7be817e 100644 --- a/website/templates/aircox/website/player.html +++ b/website/templates/aircox/website/player.html @@ -20,27 +20,31 @@ padding: 0; } -.player-button { - display: inline-block; - height: 1.2em; - width: 1.2em; - overflow: hidden; - cursor: pointer; - margin-right: 0.4em; -} - - .player-button img { - height: inherit; - box-shadow: none; + .player-button { + display: inline-block; + width: 1.5em; + height: 1.5em; + overflow: hidden; + cursor: pointer; + margin-right: 0.4em; + text-align: center; } - #player[play] .player-button img { - margin-left: -100%; + + .player-button:after { + content: '▶'; } + #player[state="playing"] .player-button:after { + content: '▮▮'; + } + + #player[state="stalled"] .player-button:after { + content: '...'; + } + #player .on_air { padding: 0.2em; - margin: 0.2em 0em; } #player .on_air .title { @@ -68,10 +72,10 @@ margin: 0; padding: 0; height: 15em; - overflow-y: auto; + /*overflow-y: auto;*/ } - .playlist .item > * { + .playlist .item > *:not(.actions) { display: inline; margin: 0.2em; vertical-align: middle; @@ -81,16 +85,40 @@ float: right; } - .playlist .item a { - float: right; + +.playlist .actions { + float: right; +} + + .playlist .actions a.action { + display: inline; } + #playlist-live .actions, + #playlist-recents .actions a.action[action="remove"], + #playlist-marked .actions a.action[action="mark"], + .playlist .actions a.action[action="play"], + .playlist .actions a.url:not([href]), + .playlist .actions a.url[href=""] { + display: none; + } + + .playlist .action[action="remove"] { + float: right; + }
+
@@ -98,30 +126,25 @@
- - {% trans - +

- -
-

- + -
+
+

+ +