Lots of style fixes

This commit is contained in:
2019-07-17 23:19:57 +02:00
parent 67824d617d
commit 177219feb7
20 changed files with 360 additions and 448 deletions

View File

@@ -67,13 +67,13 @@ var ListNavigator = {
this.addToHistory(index);
$("#listNavigatorItems").find("*").css("border-color", "#333");
$("#listNavigatorItems div").eq(this.position).css("border-color", "#fff");
$("#listNavigatorItems").find("*").removeClass("list_item_selected");
$("#listNavigatorItems div").eq(this.position).addClass("list_item_selected");
// This centers the scroll bar exactly on the selected item
$("#listNavigatorItems").animate(
{
scrollLeft: (this.position * 109) - (($("#listNavigatorItems").width() / 2) - 55)
scrollLeft: ((this.position * 109) + (109/2)) - ($("#listNavigator").width() / 2)
}, {
duration: 1000,
queue: false
@@ -110,8 +110,8 @@ var ListNavigator = {
},
loadThumbnails: function(index){
var startPos = +index - 30;
var endPos = +index + 30;
var startPos = +index - 50;
var endPos = +index + 50;
// fyi, the + is to let javascript know it's actually a number instead of a string
if(startPos < 0){
@@ -126,12 +126,17 @@ var ListNavigator = {
var navigatorItems = document.getElementById("listNavigatorItems").children
for (i = startPos; i <= endPos; i++){
if (navigatorItems[i].innerHTML.includes("listItemThumbnail")) {
console.log("skip");
continue;
}
var thumb = "/api/file/" + this.data[i].id + "/thumbnail";
var name = this.data[i].name;
var itemHtml = escapeHTML(name) + "<br>"
+ "<img src=\"" + thumb + "\" "
+ "class=\"listItemThumbnail lazy\" alt=\"" + escapeHTML(name) + "\"/>";
+ "class=\"listItemThumbnail\" alt=\"" + escapeHTML(name) + "\"/>";
navigatorItems[i].innerHTML = itemHtml;
}
@@ -165,6 +170,22 @@ var ListNavigator = {
this.setItem(0);
}
var btnLastItem = document.createElement("button");
btnLastItem.innerText = "◀";
btnLastItem.setAttribute("id", "button_last_item");
btnLastItem.setAttribute("class", "button_highlight");
btnLastItem.setAttribute("onClick", "ListNavigator.previousItem();");
var btnNextItem = document.createElement("button");
btnNextItem.innerText = "▶";
btnNextItem.setAttribute("id", "button_next_item");
btnNextItem.setAttribute("class", "button_highlight");
btnNextItem.setAttribute("onClick", "ListNavigator.nextItem();");
var headerbar = document.getElementById("list_navigator_buttons");
headerbar.appendChild(btnLastItem);
headerbar.appendChild(btnNextItem);
// Add the list download button to the toolbar
var btnDownloadList = document.createElement("button");
btnDownloadList.setAttribute("id", "btnDownloadList");
@@ -199,16 +220,8 @@ var ListNavigator = {
btnShuffle.appendChild(btnShuffleText);
document.getElementById("btnShare").after(btnShuffle);
// We need to adjust the height of some elements to make the navigation bar fit
var navHeight = $("#listNavigator").height() + 2;
window.setTimeout(function(){
document.getElementById("listNavigator").style.top = "0px";
document.getElementById("filepreview").style.top = navHeight+"px";
document.getElementById("toolbar").style.top = navHeight+"px";
document.getElementById("button-expand-toolbar").style.top = navHeight+"px";
document.getElementById("sharebar").style.top = navHeight+"px";
}, 200);
// Make the navigator visible
document.getElementById("listNavigator").style.display = "inline-block";
}
};

View File

@@ -9,7 +9,7 @@
/* global Viewer */
var Toolbar = {
visible: true,
visible: false,
toggle: function () {
if (this.visible) {
if (Sharebar.visible) {
@@ -18,11 +18,13 @@ var Toolbar = {
document.getElementById("toolbar").style.left = "-9em";
document.getElementById("filepreview").style.left = "0px";
document.getElementById("button_toggle_toolbar").classList.remove("button_highlight");
this.visible = false;
} else {
document.getElementById("toolbar").style.left = "0px";
document.getElementById("filepreview").style.left = "8em";
document.getElementById("button_toggle_toolbar").classList.add("button_highlight");
this.visible = true;
}

View File

@@ -14,7 +14,7 @@ var Viewer = {
}
// On small screens the toolbar takes too much space, so it collapses automatically
if($("#filepreview").width() < 400 && Toolbar.visible){
if($("#filepreview").width() > 400 && !Toolbar.visible){
Toolbar.toggle();
}
@@ -34,7 +34,14 @@ var Viewer = {
},
setFile: function(file){
this.currentFile = file.id;
document.title = file.name + " ~ PixelDrain";
var title = "";
if (this.isList) {
title = this.title + " ~ " + file.name;
} else {
title = file.name;
}
document.title = title + " ~ PixelDrain";
document.getElementById("file_viewer_headerbar_title").innerText = title;
$.get("/u/" + file.id + "/preview", function(response){
$("#filepreview").html(response);

View File

@@ -141,6 +141,7 @@ body{
}
}
.highlight_headerbar,
.highlight_dark,
.highlight_middle,
.highlight_light,
@@ -157,17 +158,17 @@ body{
padding: .5em;
z-index: 101;
}
.highlight_headerbar {
background-color: var(--accent_color_headerbar);
box-shadow: 1px 1px 3px -1px var(--shadow_color);}
.highlight_dark {
background-color: var(--accent_color_dark);
border-color: var(--accent_color_dark_border);
box-shadow: inset 1px 1px 8px -1px var(--shadow_color);}
.highlight_middle {
background-color: var(--accent_color_medium);
border-color: var(--accent_color_medium_border);
box-shadow: inset 1px 1px 6px -1px var(--shadow_color);}
.highlight_light {
background-color: var(--accent_color_light);
border-color: var(--accent_color_light_border);
box-shadow: 1px 1px 4px var(--shadow_color);}
.highlight_green {
background-color: rgba(0, 255, 0, 0.05);
@@ -179,18 +180,15 @@ body{
background-color: rgba(255, 0, 0, 0.1);
border-color: #B00000;}
body > .highlight_dark,
body > .highlight_middle,
body > .highlight_light,
body > .highlight_green,
body > .highlight_blue,
body > .highlight_red {
margin: 0;
.highlight_green,
.highlight_blue,
.highlight_red {
border-top-width: 1px;
border-top-style: solid;
border-bottom-width: 1px;
border-bottom-style: solid;
}
.border_top {border-top-width: 1px; border-top-style: solid;}
.border_bottom {border-bottom-width: 1px; border-bottom-style: solid;}
/* Common elements */
h1, h2, h3, h4, h5, h6 {
@@ -261,7 +259,7 @@ pre{
min-width: 200px;
max-width: 400px;
margin: 10px !important;
border-radius: 10px;
border-radius: 5px;
font-size: 1.9em;
font-weight: normal;
line-height: 8px;
@@ -303,8 +301,8 @@ pre{
margin: 6px;
padding: 0;
overflow: hidden;
border-radius: 0.4em;
box-shadow: 2px 2px 8px -1px var(--shadow_color);
border-radius: 5px;
box-shadow: 2px 2px 8px -3px var(--shadow_color);
/* border: 1px solid var(--accent_color_dark); */
background-color: var(--file_background_color);
color: #bfbfbf; /* Fallback */
@@ -342,12 +340,12 @@ input[type="color"],
select{
display: inline-block;
box-sizing: border-box;
border-radius: 4px;
border-radius: 2px;
border: none;
margin: 2px;
margin: 3px;
background: linear-gradient(var(--input_color), var(--input_color_dark));
padding: 6px 8px 6px 8px;
box-shadow: 2px 2px 6px -2px var(--shadow_color);
box-shadow: 2px 2px 6px -3px var(--shadow_color);
font-weight: bold;
font-size: 0.85em;
overflow: hidden;
@@ -375,7 +373,7 @@ select:focus{
color: #bfbfbf; /* Fallback */
color: var(--input_text_color);
text-decoration: none;
box-shadow: var(--highlight_border), 2px 2px 6px -2px var(--shadow_color);
box-shadow: var(--highlight_border), 2px 2px 6px -3px var(--shadow_color);
}
button:active,
.button:active,
@@ -385,13 +383,13 @@ input[type="color"]:active,
select:active{
background: linear-gradient(var(--input_color_dark), var(--input_color));
box-shadow: inset 4px 4px 8px var(--shadow_color);
padding: 11px 3px 1px 13px; /* Exactly 5px offset compared to the inactive padding to give a depth effect */
padding: 10px 4px 2px 12px; /* Exactly 4px offset compared to the inactive padding to give a depth effect */
}
.button_full_width {width: calc(100% - 4px);}
.button_full_width {width: calc(100% - 6px);}
.button_highlight {background: linear-gradient(var(--highlight_color), var(--highlight_color_dark)) !important; color: var(--highlight_text_color) !important;}
.button_highlight:active{background: linear-gradient(var(--highlight_color_dark), var(--highlight_color)) !important; color: var(--highlight_text_color) !important;}
.button_red {background: linear-gradient(var(--danger_color), var(--danger_color_dark)) !important;}
.button_red:active {background: linear-gradient(var(--danger_color_dark), var(--danger_color)) !important;}
.button_red {background: linear-gradient(var(--danger_color), var(--danger_color_dark)) !important; color: var(--highlight_text_color) !important;}
.button_red:active {background: linear-gradient(var(--danger_color_dark), var(--danger_color)) !important; color: var(--highlight_text_color) !important;}
/* Dropdown list of the select tag */
option{
@@ -411,7 +409,7 @@ input[type="number"]{
box-sizing: border-box;
border-radius: 4px;
background: linear-gradient(var(--input_color_dark), var(--input_color));
box-shadow: inset 2px 2px 6px -2px var(--shadow_color);
box-shadow: inset 2px 2px 6px -3px var(--shadow_color);
padding: 3px 5px;
color: var(--input_text_color);
height: 26px;
@@ -431,7 +429,7 @@ input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="number"]:focus{
box-shadow: var(--highlight_border), inset 3px 3px 6px -2px var(--shadow_color);
box-shadow: var(--highlight_border), inset 3px 3px 6px -3px var(--shadow_color);
}
input[type=file]{

View File

@@ -7,13 +7,82 @@ body{
overflow: hidden;
}
#filepreview{
.file_viewer {
position: absolute;
display: flex;
flex-direction: column;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow: hidden;
}
.file_viewer > .highlight_headerbar {
flex-grow: 0;
flex-shrink: 0;
display: flex;
flex-direction: row;
line-height: 1.9em;
text-align: left;
font-size: 1.2em;
}
.file_viewer > .highlight_headerbar > .button_toggle_toolbar {
flex-grow: 0;
flex-shrink: 0;
}
.file_viewer > .highlight_headerbar > .button_home {
flex-grow: 0;
flex-shrink: 0;
margin-right: .5em;
}
.file_viewer > .highlight_headerbar > .file_viewer_headerbar_title {
flex-grow: 1;
flex-shrink: 1;
overflow: hidden;
white-space: nowrap;
font-size: 0.8em;
}
.file_viewer > .highlight_headerbar > .list_navigator_buttons {
flex-grow: 0;
flex-shrink: 0;
display: inline-flex;
}
.file_viewer > .highlight_headerbar > .button_close_file_viewer {
flex-grow: 0;
flex-shrink: 0;
margin-left: .5em;
}
.file_viewer > .list_navigator{
flex-grow: 0;
flex-shrink: 0;
position: relative;
display: none; /* Becomes visible if the page is a list */
width: 100%;
height: 100px;
background-color: var(--accent_color_dark);
box-shadow: 2px 2px 8px var(--shadow_color);
text-align: center;
overflow-x: hidden;
overflow-y: hidden;
z-index: 50;
transition: top 1.5s;
}
.file_viewer > .file_viewer_window {
flex-grow: 1;
flex-shrink: 1;
position: relative;
display: inline-block;
width: auto;
height: auto;
margin: 0;
}
.file_viewer > .file_viewer_window > .file_viewer_file_preview {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
display: inline-block;
top: 0px;
left: 8em;
right: 0px;
bottom: 0px;
min-height: 100px;
min-width: 100px;
text-align: center;
@@ -21,11 +90,44 @@ body{
transition: left 1s, top 1.5s;
}
/* Toolbars */
.file_viewer > .file_viewer_window > .file_viewer_toolbar {
position: absolute;
width: 8em;
z-index: 49;
overflow: hidden;
float: left;
background-color: var(--accent_color_dark);
left: -9em;
bottom: 0;
top: 0;
padding: 0;
text-align: left;
box-shadow: 2px 2px 8px var(--shadow_color);
transition: left 1s, top 1.5s;
}
.file_viewer > .file_viewer_window > .file_viewer_sharebar{
position: absolute;
width: 7em;
left: -8em;
bottom: 0;
top: 0;
overflow-y: scroll;
overflow-x: hidden;
float: left;
background-color: var(--accent_color_dark);
box-shadow: 2px 2px 8px var(--shadow_color);
text-align: center;
z-index: 48;
overflow: hidden;
transition: left 1s, top 1.5s;
}
/* =====================
== FILE CONTAINERS ==
=====================*/
.image-container{
position: absolute;
position: relative;
top: 0px;
left: 0px;
right: 0px;
@@ -46,7 +148,7 @@ body{
.text-container{
background: #333 none;
position: absolute;
position: relative;
overflow-y: scroll;
overflow-x: auto;
text-align: left;
@@ -94,22 +196,6 @@ body{
|| TOOLBAR COMPONENTS ||
======================== */
#toolbar {
position: absolute;
width: 8em;
z-index: 52;
overflow: hidden;
float: left;
background-color: var(--background_color);
left: 0;
bottom: 0;
top: 0;
padding: 0;
text-align: left;
border-right: 2px ridge var(--highlight_color);
box-shadow: 2px 2px 8px var(--shadow_color);
transition: left 1s, top 1.5s;
}
/* Workaround to hide the scrollbar in non webkit browsers, it's really ugly' */
#toolbar > div {
@@ -129,14 +215,6 @@ body{
height: auto;
}
#button-expand-toolbar{
position: absolute;
left: 0;
top: 0;
cursor: pointer;
z-index: 51;
}
.toolbar_button{
text-align: left;
}
@@ -153,38 +231,13 @@ body{
padding-left: 10px;
font-size: 0.8em;
line-height: 0.7em;
}
#sponsors{
position: relative;
height: 600px;
width: 8em;
margin: 0;
border: none;
z-index: 9;
margin-top: 0.5em;
}
/* =========================
|| SHAREBAR COMPONENTS ||
========================= */
#sharebar{
position: absolute;
width: 7em;
left: -8em;
bottom: 0;
top: 0;
overflow-y: scroll;
overflow-x: hidden;
float: left;
background-color: var(--background_color);
box-shadow: 2px 2px 8px var(--shadow_color);
text-align: center;
border-right: 2px ridge var(--highlight_color);
z-index: 50;
overflow: hidden;
transition: left 1s, top 1.5s;
}
.sharebar-button {text-align: center;}
/* =====================
@@ -192,7 +245,7 @@ body{
===================== */
.popup {
position: fixed;
position: absolute;
visibility: hidden;
display: flex;
flex-direction: column;
@@ -202,9 +255,9 @@ body{
border-color: var(--accent_color_dark_border);
max-height: 100%;
max-width: 100%;
top: 10%;
top: 20%;
left: 50%;
transform: translate(-50%, -10%);
transform: translate(-50%, -20%);
padding: 0;
box-sizing: border-box;
text-align: left;
@@ -222,12 +275,12 @@ body{
.details_popup{
width: 1500px;
height: 800px;
z-index: 100;
z-index: 200;
}
.captcha_popup{
height: auto;
width: 450px;
z-index: 101;
z-index: 201;
}
#captcha_popup_captcha > div {
display: inline-block;
@@ -287,24 +340,9 @@ table > tbody > tr {border: none !important;}
border: none;
}
#listNavigator{
position: absolute;
left: 0;
right: 0;
top: -100px;
height: 98px;
background-color: #000;
box-shadow: 2px 2px 8px #000000;
border-bottom: 2px ridge var(--highlight_color);
text-align: center;
overflow-x: hidden;
overflow-y: hidden;
z-index: 50;
transition: top 1.5s;
}
#listNavigatorItems{
position: absolute;
position: relative;
top: 0;
left: 0;
right: 0;
@@ -313,7 +351,7 @@ table > tbody > tr {border: none !important;}
overflow-x: scroll;
overflow-y: hidden;
border: none;
padding: 0 40px;
padding: 0;
}
.listItem{
@@ -323,11 +361,15 @@ table > tbody > tr {border: none !important;}
width: 100px;
margin-right: 5px;
text-align: center;
border: #333 solid 2px;
border: var(--input_color) solid 2px;
border-radius: 2px;
font-size: 12px;
overflow: hidden;
cursor: pointer;
}
.list_item_selected{
border: var(--highlight_color) solid 2px;
}
.listItemThumbnail{
position: relative;
@@ -335,23 +377,3 @@ table > tbody > tr {border: none !important;}
max-height: 84%;
margin: 0;
}
#arrow-left,
#arrow-right{
position: absolute;
display: block;
border-top: 30px solid transparent;
border-bottom: 30px solid transparent;
height: 0;
width: 0;
top: 20px;
cursor: pointer;
}
#arrow-left{
border-right: 40px solid var(--highlight_color);
left: 10px;
}
#arrow-right{
border-left: 40px solid var(--highlight_color);
right: 10px;
}