Refactored quality UI/UX navbar with responsive layout and burger menu
This commit is contained in:
parent
331b267e7e
commit
5f209d4832
4 changed files with 91 additions and 18 deletions
File diff suppressed because one or more lines are too long
|
@ -502,3 +502,60 @@ footer p a {
|
||||||
footer p a:hover {
|
footer p a:hover {
|
||||||
background-color: #005f5f;
|
background-color: #005f5f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Add a black background color to the top navigation */
|
||||||
|
.topnav {
|
||||||
|
background-color: #333;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Style the links inside the navigation bar */
|
||||||
|
.topnav a {
|
||||||
|
float: left;
|
||||||
|
display: block;
|
||||||
|
color: #f2f2f2;
|
||||||
|
text-align: center;
|
||||||
|
padding: 14px 16px;
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 17px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Change the color of links on hover */
|
||||||
|
.topnav a:hover {
|
||||||
|
background-color: #ddd;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Add an active class to highlight the current page */
|
||||||
|
.topnav a.active {
|
||||||
|
background-color: #4CAF50;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Hide the link that should open and close the topnav on small screens */
|
||||||
|
.topnav .icon {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
/* When the screen is less than 600 pixels wide, hide all links, except for the first one ("Home"). Show the link that contains should open and close the topnav (.icon) */
|
||||||
|
@media screen and (max-width: 600px) {
|
||||||
|
.topnav a:not(:first-child) {display: none;}
|
||||||
|
.topnav a.icon {
|
||||||
|
float: right;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens (display the links vertically instead of horizontally) */
|
||||||
|
@media screen and (max-width: 600px) {
|
||||||
|
.topnav.responsive {position: relative;}
|
||||||
|
.topnav.responsive a.icon {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
.topnav.responsive a {
|
||||||
|
float: none;
|
||||||
|
display: block;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="/static/favicon.ico">
|
<link rel="shortcut icon" type="image/x-icon" href="/static/favicon.ico">
|
||||||
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||||
<link rel="stylesheet" type="text/css" href="/static/theme.css">
|
<link rel="stylesheet" type="text/css" href="/static/theme.css">
|
||||||
<link rel="stylesheet" type="text/css" href="/static/upload.css">
|
<link rel="stylesheet" type="text/css" href="/static/upload.css">
|
||||||
<link rel="stylesheet" type="text/css" href="/static/import.css">
|
<link rel="stylesheet" type="text/css" href="/static/import.css">
|
||||||
|
|
|
@ -1,14 +1,16 @@
|
||||||
{{ define "content" }}
|
{{ define "content" }}
|
||||||
{{ $playing := .Playing }}
|
{{ $playing := .Playing }}
|
||||||
<div class="nav">
|
<div class="topnav" id="myTopnav">
|
||||||
<ul>
|
<a {{ if eq $.Quality "" }}class="active"{{ end }} href="/v/{{ $playing.ID }}">fullHD</a>
|
||||||
<li><a {{ if eq $.Quality "" }}class="active"{{ end }} href="/v/{{ $playing.ID }}">fullHD</a></li>
|
<a {{ if eq $.Quality "720p" }}class="active"{{ end }} href="/v/{{ $playing.ID }}?quality=720p">720p</a>
|
||||||
<li><a {{ if eq $.Quality "720p" }}class="active"{{ end }} href="/v/{{ $playing.ID }}?quality=720p">720p</a></li>
|
<a {{ if eq $.Quality "480p" }}class="active"{{ end }} href="/v/{{ $playing.ID }}?quality=480p">480p</a>
|
||||||
<li><a {{ if eq $.Quality "480p" }}class="active"{{ end }} href="/v/{{ $playing.ID }}?quality=480p">480p</a></li>
|
<a {{ if eq $.Quality "360p" }}class="active"{{ end }} href="/v/{{ $playing.ID }}?quality=360p">360p</a>
|
||||||
<li><a {{ if eq $.Quality "360p" }}class="active"{{ end }} href="/v/{{ $playing.ID }}?quality=360p">360p</a></li>
|
<a {{ if eq $.Quality "240p" }}class="active"{{ end }} href="/v/{{ $playing.ID }}?quality=240p">240p</a>
|
||||||
<li><a {{ if eq $.Quality "240p" }}class="active"{{ end }} href="/v/{{ $playing.ID }}?quality=240p">240p</a></li>
|
<a href="javascript:void(0);" class="icon" onclick="myFunction()">
|
||||||
</ul>
|
<i class="fa fa-bars"></i>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="player">
|
<div id="player">
|
||||||
{{ if $playing.ID }}
|
{{ if $playing.ID }}
|
||||||
<video id="video" controls preload="metadata" poster="/t/{{ $playing.ID}}">
|
<video id="video" controls preload="metadata" poster="/t/{{ $playing.ID}}">
|
||||||
|
@ -43,3 +45,16 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
{{ define "scripts" }}
|
||||||
|
<script type="application/javascript">
|
||||||
|
/* Toggle between adding and removing the "responsive" class to topnav when the user clicks on the icon */
|
||||||
|
function myFunction() {
|
||||||
|
var x = document.getElementById("myTopnav");
|
||||||
|
if (x.className === "topnav") {
|
||||||
|
x.className += " responsive";
|
||||||
|
} else {
|
||||||
|
x.className = "topnav";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
{{ end }}
|
||||||
|
|
Loading…
Reference in a new issue