diff --git a/static/mobile/css/style.css b/static/mobile/css/style.css index 811b250cc..a65bb02ab 100644 --- a/static/mobile/css/style.css +++ b/static/mobile/css/style.css @@ -1,16 +1,29 @@ +:root { + --bg: rgb(16, 16, 16); + --fg: #CCCCCC; + --title: rgb(240, 240, 240); +} + body { margin: 0; - //background: rgb(240, 240, 240); - //background: rgb(144, 144, 144); - //color: rgb(0, 0, 0); - background: rgb(16, 16, 16); - color: rgb(240, 240, 240); + background: var(--bg); + color: var(--fg); font-family: "Noto Sans", "Lucida Grande", "Segoe UI", "DejaVu Sans", "Lucida Sans Unicode", Helvetica, Arial, sans-serif; line-height: normal; } +*, *::after, *::before { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +*:focus { + outline: none; +} + a { - color: rgb(128, 128, 255) + color: var(--fg) } iframe { max-width: 100%; @@ -28,12 +41,19 @@ video, .poster { min-height: 100vh; max-width: 1000px; margin: auto; + padding-top: 16px; +} +.item-title { + color: var(--title); + text-decoration: underline; + padding-bottom: 0; + font-size: 16px; + text-wrap: balance; } .title { - padding-top: 16px; padding-bottom: 0; margin-bottom: 4px; - font-size: 14pt; + font-size: 18px; font-weight: bold; border-bottom: 1px solid pink; text-wrap: balance; @@ -48,6 +68,7 @@ video, .poster { padding-bottom: 0px; } @media(max-width:768px) { + .item-title, .title, .byline { padding-left: 4px; @@ -78,7 +99,14 @@ video, .poster { padding-top: 16px; padding-bottom: 16px; text-align: center; - font-size: 16pt; + font-size: 14px; +} +.more a { + color: rgb(144, 144, 144); +} +.more nav { + margin-top: 24px; + margin-bottom: 24px; } .layer.active { padding-top: 8px; diff --git a/static/mobile/js/VideoPlayer.js b/static/mobile/js/VideoPlayer.js index 829fc02f6..93e4a2f22 100644 --- a/static/mobile/js/VideoPlayer.js +++ b/static/mobile/js/VideoPlayer.js @@ -71,8 +71,8 @@ window.VideoPlayer = function(options) { height: 64px; } .mx-controls .toggle .loading svg { - width: 32px; - height: 32px; + width: 64px; + height: 64px; } .mx-controls .controls .volume svg, .mx-controls .controls .fullscreen-btn svg { diff --git a/static/mobile/js/edits.js b/static/mobile/js/edits.js index f23766ef4..25fa0027e 100644 --- a/static/mobile/js/edits.js +++ b/static/mobile/js/edits.js @@ -175,7 +175,6 @@ async function loadEdit(id, args) { position += duration }) Object.keys(clip.layers).forEach(layer => { - data.layers[layer] = data.layers[layer] || [] clip.layers[layer].forEach(annotation => { if (args.users && !args.users.includes(annotation.user)) { return @@ -193,6 +192,7 @@ async function loadEdit(id, args) { clip['position'] + clip['duration'], a.out - clip['in'] + clip['position'] ); + data.layers[layer] = data.layers[layer] || [] data.layers[layer].push(a) }) }) diff --git a/static/mobile/js/icons.js b/static/mobile/js/icons.js index 295a12fee..501161081 100644 --- a/static/mobile/js/icons.js +++ b/static/mobile/js/icons.js @@ -123,6 +123,15 @@ icon.pause = ` ` icon.loading = ` + +` + +icon.loading_w = ` ` + +icon.publishComment = ` + +` diff --git a/static/mobile/js/item.js b/static/mobile/js/item.js index 61463aa53..3a57bcba4 100644 --- a/static/mobile/js/item.js +++ b/static/mobile/js/item.js @@ -10,6 +10,7 @@ async function loadData(id, args) { "id", "title", "director", + "source", "summary", "streams", "duration", @@ -39,7 +40,11 @@ async function loadData(id, args) { if (id.split('/').length == 1 || id.split('/')[1] == 'info') { data.view = 'info' data.title = data.item.title - data.byline = data.item.director ? data.item.director.join(', ') : '' + if (data.item.source) { + data.byline = data.item.source + } else { + data.byline = data.item.director ? data.item.director.join(', ') : '' + } data.link = `${pandora.proto}://${data.site}/${data.item.id}/info` let poster = pandora.site.user.ui.icons == 'posters' ? 'poster' : 'icon' data.icon = `${pandora.proto}://${data.site}/${data.item.id}/${poster}.jpg` @@ -109,6 +114,13 @@ async function loadData(id, args) { ${layerData.title} `) data.layers[layer].forEach(annotation => { + if (pandora.url) { + annotation.value = annotation.value.replace( + /src="\//g, `src="${pandora.url.origin}/` + ).replace( + /href="\//g, `href="${pandora.url.origin}/` + ) + } html.push(`