From 3d911e4987ef9768702729e60d51cb872700a716 Mon Sep 17 00:00:00 2001 From: James Taylor Date: Sat, 24 Aug 2019 17:55:14 -0700 Subject: Layout: Theater layout: Expand video width across page only as necessary based on length of video --- youtube/templates/watch.html | 5 ++++- youtube/watch.py | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'youtube') diff --git a/youtube/templates/watch.html b/youtube/templates/watch.html index 0b33dd7..745acdb 100644 --- a/youtube/templates/watch.html +++ b/youtube/templates/watch.html @@ -17,9 +17,12 @@ {% if theater_mode %} video{ grid-column: 1 / span 5; - width: 100%; + justify-self: center; + max-width: 100%; + width: {{ theater_video_target_width }}px; max-height: {{ video_height }}px; margin-bottom: 10px; + background-color: #bcbcbc; } .related-videos-outer{ grid-row: 2 /span 3; diff --git a/youtube/watch.py b/youtube/watch.py index 0515dea..8f83e48 100644 --- a/youtube/watch.py +++ b/youtube/watch.py @@ -57,6 +57,7 @@ def get_video_sources(info): 'src': format['url'], 'type': 'video/' + format['ext'], 'height': format['height'], + 'width': format['width'], }) #### order the videos sources so the preferred resolution is first ### @@ -199,6 +200,8 @@ def get_watch_page(): video_sources = get_video_sources(info) video_height = video_sources[0]['height'] + # 1 second per pixel, or the actual video width + theater_video_target_width = max(640, info['duration'], video_sources[0]['width']) return flask.render_template('watch.html', header_playlist_names = local_playlist.get_playlist_names(), @@ -221,6 +224,7 @@ def get_watch_page(): comments_mode = settings.comments_mode, video_height = video_height, + theater_video_target_width = theater_video_target_width, title = info['title'], uploader = info['uploader'], -- cgit v1.2.3