From d9517a33223d44f2c52f03a48cf79822ecd433a4 Mon Sep 17 00:00:00 2001 From: James Taylor Date: Fri, 23 Aug 2019 19:24:42 -0700 Subject: Layout: Put related videos below video when page is too small --- youtube/templates/comments.html | 28 ++- youtube/templates/watch.html | 417 +++++++++++++++++++++------------------- 2 files changed, 230 insertions(+), 215 deletions(-) diff --git a/youtube/templates/comments.html b/youtube/templates/comments.html index 82276b8..20cde4e 100644 --- a/youtube/templates/comments.html +++ b/youtube/templates/comments.html @@ -29,21 +29,19 @@ {% endmacro %} {% macro video_comments(comments_info) %} -
- -
- {% for comment in comments_info['comments'] %} - {{ render_comment(comment, comments_info['include_avatars']) }} - {% endfor %} -
- {% if 'more_comments_url' is in comments_info %} - More comments - {% endif %} -
+ +
+ {% for comment in comments_info['comments'] %} + {{ render_comment(comment, comments_info['include_avatars']) }} + {% endfor %} +
+ {% if 'more_comments_url' is in comments_info %} + More comments + {% endif %} {% endmacro %} {% macro comment_posting_box(info) %} diff --git a/youtube/templates/watch.html b/youtube/templates/watch.html index c55e94c..4ddf115 100644 --- a/youtube/templates/watch.html +++ b/youtube/templates/watch.html @@ -3,96 +3,88 @@ {% import "common_elements.html" as common_elements %} {% import "comments.html" as comments %} {% block style %} - main{ - display:grid; - grid-template-columns: 1fr 640px 40px 500px 1fr; - background-color:#cccccc; + main{ + display:grid; + grid-template-columns: 1fr 640px 40px 400px 1fr; + grid-template-rows: auto auto auto auto; + align-content: start; + background-color:#cccccc; + } + #left{ + background-color:#bcbcbc; + grid-column: 1; + grid-row: 1 / span 3; + + } + video{ + height: 360px; + width: 640px; + grid-column: 2; + } + .video-info{ + grid-column: 2; + grid-row: 2; + display: grid; + grid-template-rows: 0fr 0fr 0fr 20px 0fr 0fr; + grid-template-columns: 1fr 1fr; + align-content: start; + background-color:#bcbcbc; + } + .video-info > .title{ + grid-column: 1 / span 2; + min-width: 0; } - - #left{ - background-color:#bcbcbc; + .video-info > .is-unlisted{ + background-color: #d0d0d0; + justify-self:start; + padding-left:2px; + padding-right:2px; + } + .video-info > address{ + grid-column: 1; + grid-row: 3; + justify-self: start; + } + .video-info > .views{ + grid-column: 2; + grid-row: 3; + justify-self:end; + } + .video-info > time{ grid-column: 1; + grid-row: 4; + justify-self:start; + } + .video-info > .likes-dislikes{ + grid-column: 2; + grid-row: 4; + justify-self:end; + } + .video-info > .download-dropdown{ + grid-column:1; + grid-row: 5; + } + .video-info > .checkbox{ + justify-self:end; + grid-row: 5; + grid-column: 2; + } + .video-info > .description{ + background-color:#d0d0d0; + margin-top:8px; + white-space: pre-wrap; + min-width: 0; + word-wrap: break-word; + grid-column: 1 / span 2; + grid-row: 6; + } + + .music-list{ + grid-row:7; + grid-column: 1 / span 2; + background-color: #d0d0d0; } - .full-item{ - display: grid; - grid-column: 2; - grid-template-rows: 0fr 0fr 0fr 0fr 20px 0fr 0fr; - grid-template-columns: 1fr 1fr; - align-content: start; - background-color:#bcbcbc; - } - .full-item > video{ - grid-column: 1 / span 2; - grid-row: 1; - } - .full-item > .title{ - grid-column: 1 / span 2; - grid-row:2; - min-width: 0; - } - .full-item > .is-unlisted{ - background-color: #d0d0d0; - justify-self:start; - padding-left:2px; - padding-right:2px; - } - .full-item > address{ - grid-column: 1; - grid-row: 4; - justify-self: start; - } - .full-item > .views{ - grid-column: 2; - grid-row: 4; - justify-self:end; - } - .full-item > time{ - grid-column: 1; - grid-row: 5; - justify-self:start; - } - .full-item > .likes-dislikes{ - grid-column: 2; - grid-row: 5; - justify-self:end; - } - .full-item > .download-dropdown{ - grid-column:1; - grid-row: 6; - } - .full-item > .checkbox{ - justify-self:end; - - grid-row: 6; - grid-column: 2; - } - .full-item > .description{ - background-color:#d0d0d0; - margin-top:8px; - white-space: pre-wrap; - min-width: 0; - word-wrap: break-word; - grid-column: 1 / span 2; - grid-row: 7; - } - .full-item .music-list{ - grid-row:8; - grid-column: 1 / span 2; - } - - .full-item .comments-area{ - grid-column: 1 / span 2; - grid-row: 9; - margin-top:10px; - } - .comment{ - width:640px; - } - - .music-list{ - background-color: #d0d0d0; - } .music-list table,th,td{ border: 1px solid; } @@ -105,123 +97,148 @@ font-weight:bold; margin-bottom:5px; } - - #related{ - grid-column: 4; - display: grid; - grid-auto-rows: 94px; - grid-row-gap: 10px; - } - - .download-dropdown{ - z-index:1; - justify-self:start; - min-width:0px; - height:0px; + .comments-area{ + grid-column: 2; + grid-row: 3; + padding-top:10px; + background-color:#bcbcbc; + } + .comment{ + width:640px; + } + #related{ + grid-column: 4; + grid-row: 1 /span 4; + display: grid; + grid-auto-rows: 94px; + grid-row-gap: 10px; + max-width: 640px; + } + + /* Put related vids below videos when window is too small */ + /* 1100px instead of 1080 because W3C is full of idiots who include scrollbar width */ + @media (max-width:1100px){ + main{ + grid-template-columns: 1fr 640px 40px 1fr; + } + #related{ + grid-column: 2; + grid-row: 3; + } + .comments-area{ + grid-row: 4; + } + } + + + .download-dropdown{ + z-index:1; + justify-self:start; + min-width:0px; + height:0px; + } + + .download-dropdown-label{ + background-color: #e9e9e9; + border-style: outset; + border-width: 2px; + font-weight: bold; + } + + .download-dropdown-content{ + display:none; + background-color: #e9e9e9; + } + .download-dropdown:hover .download-dropdown-content { + display: grid; + grid-auto-rows:30px; + padding-bottom: 50px; + } + .download-dropdown-content a{ + white-space: nowrap; + display:grid; + grid-template-columns: 60px 90px auto; + max-height: 1.2em; } - - .download-dropdown-label{ - background-color: #e9e9e9; - border-style: outset; - border-width: 2px; - font-weight: bold; - } - - .download-dropdown-content{ - display:none; - background-color: #e9e9e9; - } - .download-dropdown:hover .download-dropdown-content { - display: grid; - grid-auto-rows:30px; - padding-bottom: 50px; - } - .download-dropdown-content a{ - white-space: nowrap; - display:grid; - grid-template-columns: 60px 90px auto; - max-height: 1.2em; - } {% endblock style %} {% block main %} -
-
-
- - - -

{{ title }}

-{% if unlisted %} - Unlisted -{% endif %} -
Uploaded by {{ uploader }}
- {{ views }} views - - - - -
- -
-{% for format in download_formats %} - - {{ format['ext'] }} - {{ format['resolution'] }} - {{ format['note'] }} - -{% endfor %} -
-
- - - {{ description }} -
- {% if music_list.__len__() != 0 %} -
- - - - {% for attribute in music_attributes %} - - {% endfor %} - - {% for track in music_list %} - - {% for attribute in music_attributes %} - - {% endfor %} - - {% endfor %} -
Music
{{ attribute }}
{{ track.get(attribute.lower(), '') }}
- {% endif %} -
- - {% if comments_info %} - {{ comments.video_comments(comments_info) }} - {% endif %} -
- - - - -