Make Nord default theme, update solarized
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
local('MaterialIcons-Regular'),
|
local('MaterialIcons-Regular'),
|
||||||
url(/res/misc/MaterialIcons-Regular.ttf) format('truetype');
|
url(/res/misc/MaterialIcons-Regular.ttf) format('truetype');
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
font-family: 'Material Icons';
|
font-family: 'Material Icons';
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
@@ -31,6 +32,7 @@
|
|||||||
text-rendering: optimizeLegibility;
|
text-rendering: optimizeLegibility;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon_unicode {
|
.icon_unicode {
|
||||||
font-size: 1.5em;
|
font-size: 1.5em;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -39,17 +41,28 @@
|
|||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
}
|
}
|
||||||
.icon.small { font-size: 1.2em; }
|
|
||||||
a > svg { vertical-align: middle; }
|
.icon.small {
|
||||||
|
font-size: 1.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
a>svg {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
/* Page rendering configuration */
|
/* Page rendering configuration */
|
||||||
*, *::before, *::after {
|
*,
|
||||||
|
*::before,
|
||||||
|
*::after {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
html, body {
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
/* This makes sure that no scrollbar shows up when the menu is open on small screens*/
|
/* This makes sure that no scrollbar shows up when the menu is open on small screens*/
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-family: system-ui, sans-serif;
|
font-family: system-ui, sans-serif;
|
||||||
@@ -60,23 +73,30 @@ body {
|
|||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
header, footer, .checkers {
|
|
||||||
|
header,
|
||||||
|
footer,
|
||||||
|
.checkers {
|
||||||
background-image: url("{{.BackgroundPattern}}");
|
background-image: url("{{.BackgroundPattern}}");
|
||||||
background-color: var(--background_pattern_color);
|
background-color: var(--background_pattern_color);
|
||||||
background-repeat: repeat;
|
background-repeat: repeat;
|
||||||
}
|
}
|
||||||
header, footer {
|
|
||||||
|
header,
|
||||||
|
footer {
|
||||||
box-shadow: inset 1px 1px 4px -1px var(--shadow_color);
|
box-shadow: inset 1px 1px 4px -1px var(--shadow_color);
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
header > h1 {
|
|
||||||
|
header>h1 {
|
||||||
text-shadow: 1px 1px 4px var(--shadow_color);
|
text-shadow: 1px 1px 4px var(--shadow_color);
|
||||||
margin-top: 69px;
|
margin-top: 69px;
|
||||||
margin-bottom: 69px;
|
margin-bottom: 69px;
|
||||||
}
|
}
|
||||||
footer > .footer_content {
|
|
||||||
|
footer>.footer_content {
|
||||||
background-color: var(--shaded_background);
|
background-color: var(--shaded_background);
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
@@ -99,6 +119,7 @@ footer > .footer_content {
|
|||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
border-bottom-right-radius: 90%;
|
border-bottom-right-radius: 90%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button_toggle_navigation:active {
|
.button_toggle_navigation:active {
|
||||||
padding: 15px 15px 10px 15px;
|
padding: 15px 15px 10px 15px;
|
||||||
}
|
}
|
||||||
@@ -117,6 +138,7 @@ footer > .footer_content {
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
transition: left 0.5s;
|
transition: left 0.5s;
|
||||||
}
|
}
|
||||||
|
|
||||||
.page_body {
|
.page_body {
|
||||||
position: relative;
|
position: relative;
|
||||||
right: 0;
|
right: 0;
|
||||||
@@ -125,7 +147,8 @@ footer > .footer_content {
|
|||||||
margin-left: 17em;
|
margin-left: 17em;
|
||||||
min-width: 300px;
|
min-width: 300px;
|
||||||
display: block;
|
display: block;
|
||||||
text-align: center; /* Center the header and body */
|
text-align: center;
|
||||||
|
/* Center the header and body */
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
background: var(--body_background);
|
background: var(--body_background);
|
||||||
@@ -134,16 +157,19 @@ footer > .footer_content {
|
|||||||
padding: 8px;
|
padding: 8px;
|
||||||
transition: margin-left 0.5s;
|
transition: margin-left 0.5s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 1000px) {
|
@media (max-width: 1000px) {
|
||||||
.page_navigation {
|
.page_navigation {
|
||||||
left: -18em;
|
left: -18em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.page_body {
|
.page_body {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
section {
|
section {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -169,12 +195,13 @@ section {
|
|||||||
font-size: 1.5em;
|
font-size: 1.5em;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
transition: background-color 0.5s;
|
transition: background 0.2s;
|
||||||
border-radius: 24px;
|
border-radius: 24px;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.page_navigation a:hover {
|
.page_navigation a:hover {
|
||||||
background: var(--input_background);;
|
background: var(--input_background);
|
||||||
color: var(--input_text);
|
color: var(--input_text);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
@@ -192,21 +219,26 @@ section {
|
|||||||
padding: 4px;
|
padding: 4px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.highlight_shaded {
|
.highlight_shaded {
|
||||||
background: var(--shaded_background);
|
background: var(--shaded_background);
|
||||||
}
|
}
|
||||||
|
|
||||||
.highlight_green {
|
.highlight_green {
|
||||||
background-color: rgba(0, 255, 0, 0.05);
|
background-color: rgba(0, 255, 0, 0.05);
|
||||||
border-color: #00D000;
|
border-color: #00D000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.highlight_blue {
|
.highlight_blue {
|
||||||
background-color: rgba(32, 32, 255, 0.2);
|
background-color: rgba(32, 32, 255, 0.2);
|
||||||
border-color: #3636FF;
|
border-color: #3636FF;
|
||||||
}
|
}
|
||||||
|
|
||||||
.highlight_yellow {
|
.highlight_yellow {
|
||||||
background-color: rgba(255, 255, 0, 0.05);
|
background-color: rgba(255, 255, 0, 0.05);
|
||||||
border-color: #A0A000;
|
border-color: #A0A000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.highlight_red {
|
.highlight_red {
|
||||||
background-color: rgba(255, 0, 0, 0.1);
|
background-color: rgba(255, 0, 0, 0.1);
|
||||||
border-color: #B00000;
|
border-color: #B00000;
|
||||||
@@ -224,7 +256,12 @@ section {
|
|||||||
|
|
||||||
/* Common elements */
|
/* Common elements */
|
||||||
|
|
||||||
h1, h2, h3, h4, h5, h6, .light {
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6 {
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
margin: 0.5em 0;
|
margin: 0.5em 0;
|
||||||
font-weight: lighter;
|
font-weight: lighter;
|
||||||
@@ -235,25 +272,31 @@ h1 {
|
|||||||
font-size: 2.5em;
|
font-size: 2.5em;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
font-size: 2em;
|
font-size: 2em;
|
||||||
border-bottom: 1px var(--separator) solid;
|
border-bottom: 1px var(--separator) solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
font-size: 1.75em;
|
font-size: 1.75em;
|
||||||
border-bottom: 1px var(--separator) solid;
|
border-bottom: 1px var(--separator) solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
h4 {
|
h4 {
|
||||||
font-size: 1.50em;
|
font-size: 1.50em;
|
||||||
border-bottom: 1px var(--separator) solid;
|
border-bottom: 1px var(--separator) solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
h5 {
|
h5 {
|
||||||
font-size: 1.25em;
|
font-size: 1.25em;
|
||||||
border-bottom: 1px var(--separator) solid;
|
border-bottom: 1px var(--separator) solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
h6 {
|
h6 {
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.indent {
|
.indent {
|
||||||
margin: 8px;
|
margin: 8px;
|
||||||
}
|
}
|
||||||
@@ -273,32 +316,43 @@ p {
|
|||||||
margin: 1em 0;
|
margin: 1em 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form{
|
.form {
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
max-width: 30em;
|
max-width: 30em;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
table:not(.form) {
|
table:not(.form) {
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table_scroll {
|
.table_scroll {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
overflow-y: hidden;
|
overflow-y: hidden;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
.table_scroll > table {
|
|
||||||
|
.table_scroll>table {
|
||||||
min-width: 100%;
|
min-width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
tr:not(.form) {border-bottom: 1px var(--separator) solid;}
|
tr:not(.form) {
|
||||||
tr > td, tr > th {padding: 0.2em 0.5em;}
|
border-bottom: 1px var(--separator) solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr>td,
|
||||||
|
tr>th {
|
||||||
|
padding: 0.2em 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
@media(max-width: 30em) {
|
@media(max-width: 30em) {
|
||||||
|
|
||||||
/* Forms will be stacked on small screens */
|
/* Forms will be stacked on small screens */
|
||||||
tr.form > td {
|
tr.form>td {
|
||||||
float: left;
|
float: left;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 0.5em;
|
padding: 0.5em;
|
||||||
@@ -311,7 +365,7 @@ pre {
|
|||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.file_button{
|
.file_button {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 400px;
|
width: 400px;
|
||||||
max-width: 90%;
|
max-width: 90%;
|
||||||
@@ -321,7 +375,6 @@ pre {
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
background: var(--input_background);
|
background: var(--input_background);
|
||||||
color: #bfbfbf; /* Fallback */
|
|
||||||
color: var(--body_text_color);
|
color: var(--body_text_color);
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
@@ -334,22 +387,26 @@ pre {
|
|||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.file_button:hover {
|
.file_button:hover {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background: var(--input_hover_background);
|
background: var(--input_hover_background);
|
||||||
}
|
}
|
||||||
|
|
||||||
.file_button_selected {
|
.file_button_selected {
|
||||||
box-shadow: 0 0 3px 2px var(--highlight_color);
|
box-shadow: 0 0 2px 2px var(--highlight_color);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
.file_button > img{
|
|
||||||
|
.file_button>img {
|
||||||
max-height: 100%;
|
max-height: 100%;
|
||||||
max-width: 25%;
|
max-width: 25%;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
float: left;
|
float: left;
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
.file_button > .file_button_title{
|
|
||||||
|
.file_button>.file_button_title {
|
||||||
color: var(--link_color);
|
color: var(--link_color);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -360,27 +417,51 @@ details {
|
|||||||
border-bottom: 1px solid;
|
border-bottom: 1px solid;
|
||||||
margin: 15px 0 15px 0;
|
margin: 15px 0 15px 0;
|
||||||
}
|
}
|
||||||
details > summary {
|
|
||||||
|
details>summary {
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
font-family: monospace;
|
font-family: monospace;
|
||||||
}
|
}
|
||||||
details > summary > .method {
|
|
||||||
|
details>summary>.method {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 80px;
|
width: 80px;
|
||||||
}
|
}
|
||||||
details > div {
|
|
||||||
|
details>div {
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
details.request_get { border-color: #3636ff; background-color: rgba(32, 32, 255, 0.2); }
|
details.request_get {
|
||||||
details.request_post { border-color: #00d000; background-color: rgba(0, 255, 0, 0.05); }
|
border-color: #3636ff;
|
||||||
details.request_delete { border-color: #B00000; background-color: rgba(255, 0, 0, 0.05); }
|
background-color: rgba(32, 32, 255, 0.2);
|
||||||
details.request_put { border-color: #B06000; background-color: rgba(255, 128, 0, 0.05); }
|
}
|
||||||
details.request_patch { border-color: #6000B0; background-color: rgba(128, 0, 255, 0.1); }
|
|
||||||
|
details.request_post {
|
||||||
|
border-color: #00d000;
|
||||||
|
background-color: rgba(0, 255, 0, 0.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
details.request_delete {
|
||||||
|
border-color: #B00000;
|
||||||
|
background-color: rgba(255, 0, 0, 0.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
details.request_put {
|
||||||
|
border-color: #B06000;
|
||||||
|
background-color: rgba(255, 128, 0, 0.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
details.request_patch {
|
||||||
|
border-color: #6000B0;
|
||||||
|
background-color: rgba(128, 0, 255, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
/* Form fields */
|
/* Form fields */
|
||||||
|
|
||||||
.form_input {width: 100%;}
|
.form_input {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
/* BUTTONS */
|
/* BUTTONS */
|
||||||
button,
|
button,
|
||||||
@@ -400,7 +481,7 @@ select {
|
|||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: padding 0.2s, box-shadow 0.2s, background 0.2s;
|
transition: padding 0.1s, box-shadow 0.1s, background 0.1s;
|
||||||
|
|
||||||
/* Remove default styles set by the user-agent */
|
/* Remove default styles set by the user-agent */
|
||||||
outline: 0;
|
outline: 0;
|
||||||
@@ -411,6 +492,7 @@ select {
|
|||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
button:hover,
|
button:hover,
|
||||||
.button:hover,
|
.button:hover,
|
||||||
input[type="submit"]:hover,
|
input[type="submit"]:hover,
|
||||||
@@ -423,13 +505,12 @@ input[type="submit"]:focus,
|
|||||||
input[type="button"]:focus,
|
input[type="button"]:focus,
|
||||||
input[type="color"]:focus,
|
input[type="color"]:focus,
|
||||||
select:focus {
|
select:focus {
|
||||||
color: #bfbfbf; /* Fallback */
|
|
||||||
color: var(--input_text);
|
color: var(--input_text);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
/* box-shadow: inset 0 0 3px 0 var(--highlight_color); */
|
|
||||||
background: var(--input_hover_background);
|
background: var(--input_hover_background);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
button:active,
|
button:active,
|
||||||
.button:active,
|
.button:active,
|
||||||
input[type="submit"]:active,
|
input[type="submit"]:active,
|
||||||
@@ -440,21 +521,29 @@ select:active {
|
|||||||
/* Exactly 4px offset compared to the inactive padding to give a depth effect */
|
/* Exactly 4px offset compared to the inactive padding to give a depth effect */
|
||||||
padding: 9px 1px 1px 9px;
|
padding: 9px 1px 1px 9px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button_highlight {
|
.button_highlight {
|
||||||
background: var(--highlight_background) !important;
|
background: var(--highlight_background) !important;
|
||||||
color: var(--highlight_text_color) !important;
|
color: var(--highlight_text_color) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button_red {
|
.button_red {
|
||||||
background: linear-gradient(var(--danger_color), var(--danger_color_dark)) !important;
|
background: linear-gradient(var(--danger_color), var(--danger_color_dark)) !important;
|
||||||
color: var(--highlight_text_color) !important;
|
color: var(--highlight_text_color) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
button:disabled, button.disabled,
|
button:disabled,
|
||||||
.button:disabled, .button.disabled,
|
button.disabled,
|
||||||
input[type="submit"]:disabled, input[type="submit"].disabled,
|
.button:disabled,
|
||||||
input[type="button"]:disabled, input[type="button"].disabled,
|
.button.disabled,
|
||||||
input[type="color"]:disabled, input[type="color"].disabled,
|
input[type="submit"]:disabled,
|
||||||
select:disabled , select.disabled {
|
input[type="submit"].disabled,
|
||||||
|
input[type="button"]:disabled,
|
||||||
|
input[type="button"].disabled,
|
||||||
|
input[type="color"]:disabled,
|
||||||
|
input[type="color"].disabled,
|
||||||
|
select:disabled,
|
||||||
|
select.disabled {
|
||||||
color: var(--input_disabled_text);
|
color: var(--input_disabled_text);
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
transition: none;
|
transition: none;
|
||||||
@@ -462,10 +551,29 @@ select:disabled , select.disabled {
|
|||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
background: var(--input_background);
|
background: var(--input_background);
|
||||||
}
|
}
|
||||||
button > i,
|
|
||||||
.button > i,
|
.group_first {
|
||||||
button > svg,
|
border-top-right-radius: 0;
|
||||||
.button > svg {
|
border-bottom-right-radius: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.group_middle {
|
||||||
|
border-radius: 0;
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.group_last {
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
button>i,
|
||||||
|
.button>i,
|
||||||
|
button>svg,
|
||||||
|
.button>svg {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
}
|
}
|
||||||
@@ -473,6 +581,7 @@ button > svg,
|
|||||||
.round {
|
.round {
|
||||||
border-radius: 32px;
|
border-radius: 32px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab_bar {
|
.tab_bar {
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -481,22 +590,24 @@ button > svg,
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
box-shadow: inset 0 -10px 8px -12px var(--shadow_color);
|
box-shadow: inset 0 -10px 8px -12px var(--shadow_color);
|
||||||
|
/* border-bottom: 2px solid var(--input_background); */
|
||||||
}
|
}
|
||||||
.tab_bar > button,
|
|
||||||
.tab_bar > .button {
|
.tab_bar>button,
|
||||||
|
.tab_bar>.button {
|
||||||
margin: 10px 0 0 10px;
|
margin: 10px 0 0 10px;
|
||||||
border-bottom-left-radius: 0;
|
border-bottom-left-radius: 0;
|
||||||
border-bottom-right-radius: 0;
|
border-bottom-right-radius: 0;
|
||||||
min-width: 5em;
|
min-width: 5em;
|
||||||
}
|
}
|
||||||
.tab_bar > *:last-child {
|
|
||||||
|
.tab_bar>*:last-child {
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Dropdown list of the select tag */
|
/* Dropdown list of the select tag */
|
||||||
option{
|
option {
|
||||||
background: var(--input_background);
|
background: var(--input_background);
|
||||||
color: #bfbfbf; /* Fallback */
|
|
||||||
color: var(--body_text_color);
|
color: var(--body_text_color);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -507,9 +618,10 @@ input[type="text"],
|
|||||||
input[type="password"],
|
input[type="password"],
|
||||||
input[type="email"],
|
input[type="email"],
|
||||||
input[type="number"],
|
input[type="number"],
|
||||||
input[type="date"]{
|
input[type="date"] {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin: 3px; /* Same as button, to make them align nicely */
|
margin: 3px;
|
||||||
|
/* Same as button, to make them align nicely */
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
background: var(--input_background);
|
background: var(--input_background);
|
||||||
@@ -518,8 +630,9 @@ input[type="date"]{
|
|||||||
color: var(--input_text);
|
color: var(--input_text);
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
outline: 0;
|
outline: 0;
|
||||||
transition: box-shadow 0.3s;
|
transition: box-shadow 0.2s;
|
||||||
}
|
}
|
||||||
|
|
||||||
textarea:active,
|
textarea:active,
|
||||||
input[type="text"]:active,
|
input[type="text"]:active,
|
||||||
input[type="password"]:active,
|
input[type="password"]:active,
|
||||||
@@ -531,22 +644,23 @@ input[type="text"]:focus,
|
|||||||
input[type="password"]:focus,
|
input[type="password"]:focus,
|
||||||
input[type="email"]:focus,
|
input[type="email"]:focus,
|
||||||
input[type="number"]:focus,
|
input[type="number"]:focus,
|
||||||
input[type="date"]:focus{
|
input[type="date"]:focus {
|
||||||
box-shadow: inset 0 0 3px 0 var(--highlight_color);
|
box-shadow: inset 0 0 3px 0 var(--highlight_color);
|
||||||
}
|
}
|
||||||
|
|
||||||
textarea:disabled,
|
textarea:disabled,
|
||||||
input[type="text"]:disabled,
|
input[type="text"]:disabled,
|
||||||
input[type="password"]:disabled,
|
input[type="password"]:disabled,
|
||||||
input[type="email"]:disabled,
|
input[type="email"]:disabled,
|
||||||
input[type="number"]:disabled,
|
input[type="number"]:disabled,
|
||||||
input[type="date"]:disabled{
|
input[type="date"]:disabled {
|
||||||
color: var(--input_disabled_text);
|
color: var(--input_disabled_text);
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
transition: none;
|
transition: none;
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type=file]{
|
input[type=file] {
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
position: static;
|
position: static;
|
||||||
width: 0;
|
width: 0;
|
||||||
@@ -555,13 +669,17 @@ input[type=file]{
|
|||||||
|
|
||||||
/* Webkit Scrollbars */
|
/* Webkit Scrollbars */
|
||||||
|
|
||||||
::-webkit-scrollbar{
|
::-webkit-scrollbar {
|
||||||
width: 18px; /* for vertical scrollbars */
|
width: 18px;
|
||||||
height: 18px; /* for horizontal scrollbars */
|
/* for vertical scrollbars */
|
||||||
|
height: 18px;
|
||||||
|
/* for horizontal scrollbars */
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-scrollbar-track {
|
::-webkit-scrollbar-track {
|
||||||
background: var(--body_color);
|
background: var(--body_color);
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-scrollbar-thumb {
|
::-webkit-scrollbar-thumb {
|
||||||
background-color: var(--scrollbar_foreground_color);
|
background-color: var(--scrollbar_foreground_color);
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
@@ -569,12 +687,15 @@ input[type=file]{
|
|||||||
height: 40px;
|
height: 40px;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-scrollbar-thumb:hover {
|
::-webkit-scrollbar-thumb:hover {
|
||||||
background-color: var(--scrollbar_hover_color);
|
background-color: var(--scrollbar_hover_color);
|
||||||
}
|
}
|
||||||
::-webkit-scrollbar-corner{
|
|
||||||
|
::-webkit-scrollbar-corner {
|
||||||
background-color: var(--body_color);
|
background-color: var(--body_color);
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-scrollbar-button:single-button {
|
::-webkit-scrollbar-button:single-button {
|
||||||
background-color: var(--body_color);
|
background-color: var(--body_color);
|
||||||
display: block;
|
display: block;
|
||||||
@@ -582,11 +703,13 @@ input[type=file]{
|
|||||||
height: 10px;
|
height: 10px;
|
||||||
width: 10px;
|
width: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-scrollbar-button:single-button:vertical:decrement {
|
::-webkit-scrollbar-button:single-button:vertical:decrement {
|
||||||
display: none;
|
display: none;
|
||||||
/* border-width: 0 8px 8px 8px; */
|
/* border-width: 0 8px 8px 8px; */
|
||||||
/* border-color: transparent transparent var(--scrollbar_foreground_color) transparent; */
|
/* border-color: transparent transparent var(--scrollbar_foreground_color) transparent; */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ::-webkit-scrollbar-button:single-button:vertical:decrement:hover {
|
/* ::-webkit-scrollbar-button:single-button:vertical:decrement:hover {
|
||||||
border-color: transparent transparent var(--scrollbar_hover_color) transparent;
|
border-color: transparent transparent var(--scrollbar_hover_color) transparent;
|
||||||
} */
|
} */
|
||||||
@@ -595,6 +718,7 @@ input[type=file]{
|
|||||||
/* border-width: 8px 8px 0 8px; */
|
/* border-width: 8px 8px 0 8px; */
|
||||||
/* border-color: var(--scrollbar_foreground_color) transparent transparent transparent; */
|
/* border-color: var(--scrollbar_foreground_color) transparent transparent transparent; */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ::-webkit-scrollbar-button:vertical:single-button:increment:hover {
|
/* ::-webkit-scrollbar-button:vertical:single-button:increment:hover {
|
||||||
border-color: var(--scrollbar_hover_color) transparent transparent transparent;
|
border-color: var(--scrollbar_hover_color) transparent transparent transparent;
|
||||||
} */
|
} */
|
||||||
@@ -603,6 +727,7 @@ input[type=file]{
|
|||||||
/* border-width: 8px 8px 8px 0px; */
|
/* border-width: 8px 8px 8px 0px; */
|
||||||
/* border-color: transparent var(--scrollbar_foreground_color) transparent transparent; */
|
/* border-color: transparent var(--scrollbar_foreground_color) transparent transparent; */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ::-webkit-scrollbar-button:single-button:horizontal:decrement:hover {
|
/* ::-webkit-scrollbar-button:single-button:horizontal:decrement:hover {
|
||||||
border-color: transparent var(--scrollbar_hover_color) transparent transparent;
|
border-color: transparent var(--scrollbar_hover_color) transparent transparent;
|
||||||
} */
|
} */
|
||||||
@@ -611,6 +736,7 @@ input[type=file]{
|
|||||||
/* border-width: 8px 0px 8px 8px; */
|
/* border-width: 8px 0px 8px 8px; */
|
||||||
/* border-color: transparent transparent transparent var(--scrollbar_foreground_color); */
|
/* border-color: transparent transparent transparent var(--scrollbar_foreground_color); */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ::-webkit-scrollbar-button:horizontal:single-button:increment:hover {
|
/* ::-webkit-scrollbar-button:horizontal:single-button:increment:hover {
|
||||||
border-color: transparent transparent transparent var(--scrollbar_hover_color);
|
border-color: transparent transparent transparent var(--scrollbar_hover_color);
|
||||||
} */
|
} */
|
||||||
|
@@ -16,30 +16,50 @@
|
|||||||
be saved in a cookie.
|
be saved in a cookie.
|
||||||
</p>
|
</p>
|
||||||
<div class="indent">
|
<div class="indent">
|
||||||
<input type="radio" id="style_default" name="style"><label for="style_default">Pixeldrain Style</label><br/>
|
|
||||||
Default pixeldrain style, with purple gradients
|
|
||||||
<br/>
|
|
||||||
<br/>
|
|
||||||
<input type="radio" id="style_nord" name="style"><label for="style_nord">Nord</label>
|
<input type="radio" id="style_nord" name="style"><label for="style_nord">Nord</label>
|
||||||
(Inspired by <a href="https://www.nordtheme.com/" target="_blank">Nord</a>)<br/>
|
(Inspired by <a href="https://www.nordtheme.com/" target="_blank">Nord</a>)
|
||||||
Dynamic theme, changes based on operating system settings. Here you can choose a specific variant:<br/>
|
|
||||||
<input type="radio" id="style_nord_dark" name="style"><label for="style_nord_dark">Nord dark</label><br/>
|
|
||||||
<input type="radio" id="style_nord_light" name="style"><label for="style_nord_light">Nord light</label><br/>
|
|
||||||
<br/>
|
<br/>
|
||||||
<input type="radio" id="style_classic" name="style"><label for="style_classic">Pixeldrain classic (gray)</label><br/>
|
Dynamic theme, changes based on operating system settings. Here you can choose a specific variant:
|
||||||
Classic pre-2020 pixeldrain style, dark grey<br/>
|
<br/>
|
||||||
|
<input type="radio" id="style_nord_dark" name="style"><label for="style_nord_dark">Nord dark</label>
|
||||||
|
<br/>
|
||||||
|
<input type="radio" id="style_nord_light" name="style"><label for="style_nord_light">Nord light</label>
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
<input type="radio" id="style_solarized" name="style"><label for="style_solarized">Solarized</label>
|
||||||
|
(Inspired by <a href="https://ethanschoonover.com/solarized/" target="_blank">Solarized</a>)
|
||||||
|
<br/>
|
||||||
|
Dynamic theme, changes based on operating system settings. Here you can choose a specific variant:
|
||||||
|
<br/>
|
||||||
|
<input type="radio" id="style_solarized_dark" name="style"><label for="style_solarized_dark">Solarized dark</label>
|
||||||
|
<br/>
|
||||||
|
<input type="radio" id="style_solarized_light" name="style"><label for="style_solarized_light">Solarized light</label>
|
||||||
|
<br/>
|
||||||
|
<!-- <br/> -->
|
||||||
|
<!-- <input type="radio" id="style_adwaita" name="style"><label for="style_adwaita">Adwaita</label><br/> -->
|
||||||
|
<br/>
|
||||||
|
<input type="radio" id="style_purple_drain" name="style"><label for="style_purple_drain">Purple drain</label>
|
||||||
|
<br/>
|
||||||
|
Classic 2022 style, with purple gradients
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
<input type="radio" id="style_classic" name="style"><label for="style_classic">Pixeldrain classic (gray)</label>
|
||||||
|
<br/>
|
||||||
|
Classic pre-2020 pixeldrain style, dark gray
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
Other (experimental) themes
|
||||||
|
<br/>
|
||||||
|
<input type="radio" id="style_maroon" name="style"><label for="style_maroon">Maroon Style</label>
|
||||||
|
<br/>
|
||||||
|
<input type="radio" id="style_hacker" name="style"><label for="style_hacker">Hacker Style</label>
|
||||||
<br/>
|
<br/>
|
||||||
Other (experimental) themes<br/>
|
|
||||||
<input type="radio" id="style_solarized_dark" name="style"><label for="style_solarized_dark">Solarized Dark Style</label><br/>
|
|
||||||
<input type="radio" id="style_maroon" name="style"><label for="style_maroon">Maroon Style</label><br/>
|
|
||||||
<input type="radio" id="style_hacker" name="style"><label for="style_hacker">Hacker Style</label><br/>
|
|
||||||
<input type="radio" id="style_canta" name="style"><label for="style_canta">Canta Style</label>
|
<input type="radio" id="style_canta" name="style"><label for="style_canta">Canta Style</label>
|
||||||
(Inspired by <a href="https://github.com/vinceliuice/Canta-theme" target="_blank">Canta GTK</a>)<br/>
|
(Inspired by <a href="https://github.com/vinceliuice/Canta-theme" target="_blank">Canta GTK</a>)
|
||||||
<input type="radio" id="style_snowstorm" name="style"><label for="style_snowstorm">Snowstorm Style</label>
|
<br/>
|
||||||
(Inspired by <a href="https://www.nordtheme.com/" target="_blank">Nord</a>)<br/>
|
|
||||||
<input type="radio" id="style_skeuos" name="style"><label for="style_skeuos">Skeuos Style</label>
|
<input type="radio" id="style_skeuos" name="style"><label for="style_skeuos">Skeuos Style</label>
|
||||||
(Inspired by <a href="https://www.gnome-look.org/p/1441725/" target="_blank">Skeuos GTK</a>)<br/>
|
(Inspired by <a href="https://www.gnome-look.org/p/1441725/" target="_blank">Skeuos GTK</a>)
|
||||||
<!--<input type="radio" id="style_sunny" name="style"><label for="style_sunny">Sunny Style</label>-->
|
<br/>
|
||||||
<input type="radio" id="style_sweet" name="style"><label for="style_sweet">Sweet</label>
|
<input type="radio" id="style_sweet" name="style"><label for="style_sweet">Sweet</label>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@@ -51,7 +71,6 @@
|
|||||||
var date = new Date();
|
var date = new Date();
|
||||||
date.setTime(date.getTime() + (10 * 365 * 24 * 60 * 60 * 1000));
|
date.setTime(date.getTime() + (10 * 365 * 24 * 60 * 60 * 1000));
|
||||||
document.cookie = "style=" + evt.target.id.substring(6) + "; expires=" + date.toUTCString() + "; path=/";
|
document.cookie = "style=" + evt.target.id.substring(6) + "; expires=" + date.toUTCString() + "; path=/";
|
||||||
|
|
||||||
location.reload();
|
location.reload();
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
@@ -17,6 +17,18 @@
|
|||||||
<meta name="description" content="Pixeldrain is a free file sharing service, you
|
<meta name="description" content="Pixeldrain is a free file sharing service, you
|
||||||
can upload any file and you will be given a shareable link right away.
|
can upload any file and you will be given a shareable link right away.
|
||||||
pixeldrain also supports previews for images, videos, audio, PDFs and much more." />
|
pixeldrain also supports previews for images, videos, audio, PDFs and much more." />
|
||||||
|
<meta name="keywords" content="file sharing, free file sharing, file transfer,
|
||||||
|
free file transfer, file hosting, free file hosting, hosting, file upload,
|
||||||
|
free file upload, uploading, send file, large file, free file sharing,
|
||||||
|
free file transfer, 10 GB free, free file sending, file storage, cloud storage,
|
||||||
|
free cloud storage, image hosting, image sharing, photo hosting,
|
||||||
|
photo transfer, photo sharing, video hosting, video sharing, video transfer,
|
||||||
|
document sharing, upload documents, send documents, huge file, large video,
|
||||||
|
large document, pdf, pdf sharing, pdf upload, pdf transfer, pdf reader,
|
||||||
|
free pdf upload, text file upload, text sharing, photo storage,
|
||||||
|
professional file transfer, cheap storage, cheap file storage, send large file,
|
||||||
|
send big file, send huge file, audio sharing, music sharing, audio upload,
|
||||||
|
music upload" />
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<meta property="og:title" content="{{.}} ~ pixeldrain" />
|
<meta property="og:title" content="{{.}} ~ pixeldrain" />
|
||||||
<meta property="og:site_name" content="pixeldrain" />
|
<meta property="og:site_name" content="pixeldrain" />
|
||||||
|
@@ -14,7 +14,7 @@
|
|||||||
background-attachment: fixed;
|
background-attachment: fixed;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
color: var(--background_text_color);
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
@@ -56,7 +56,7 @@ onMount(() => {
|
|||||||
max-width: 80%;
|
max-width: 80%;
|
||||||
height: auto;
|
height: auto;
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
background-color: var(--popout_color);
|
background-color: var(--card_color);
|
||||||
box-shadow: 1px 1px 10px -2px var(--shadow_color);
|
box-shadow: 1px 1px 10px -2px var(--shadow_color);
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
z-index: 50;
|
z-index: 50;
|
||||||
@@ -68,7 +68,7 @@ onMount(() => {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
left: 30px;
|
left: 30px;
|
||||||
top: -15px;
|
top: -15px;
|
||||||
border-bottom: 15px solid var(--popout_color);
|
border-bottom: 15px solid var(--card_color);
|
||||||
border-left: 15px solid transparent;
|
border-left: 15px solid transparent;
|
||||||
border-right: 15px solid transparent;
|
border-right: 15px solid transparent;
|
||||||
}
|
}
|
||||||
|
@@ -282,10 +282,10 @@ onMount(() => {
|
|||||||
background: var(--shaded_background);
|
background: var(--shaded_background);
|
||||||
}
|
}
|
||||||
.feat_table > div > .feat_normal {
|
.feat_table > div > .feat_normal {
|
||||||
background-color: var(--popout_color);
|
background-color: var(--card_color);
|
||||||
}
|
}
|
||||||
.feat_table > div > .feat_pro {
|
.feat_table > div > .feat_pro {
|
||||||
background-color: var(--popout_color);
|
background-color: var(--card_color);
|
||||||
box-shadow: 1px 1px 2px -1px var(--shadow_color);
|
box-shadow: 1px 1px 2px -1px var(--shadow_color);
|
||||||
}
|
}
|
||||||
.feat_table > div > .feat_highlight {
|
.feat_table > div > .feat_highlight {
|
||||||
|
@@ -133,7 +133,7 @@
|
|||||||
hyphens: auto;
|
hyphens: auto;
|
||||||
}
|
}
|
||||||
.feat_table > div > .feat_pro {
|
.feat_table > div > .feat_pro {
|
||||||
background-color: var(--popout_color);
|
background-color: var(--card_color);
|
||||||
box-shadow: 1px 1px 2px -1px var(--shadow_color);
|
box-shadow: 1px 1px 2px -1px var(--shadow_color);
|
||||||
}
|
}
|
||||||
.text_highlight {
|
.text_highlight {
|
||||||
|
@@ -292,7 +292,7 @@ onMount(load_tranfer_used)
|
|||||||
font-size: 1.1em;
|
font-size: 1.1em;
|
||||||
}
|
}
|
||||||
.feat_table > div > .feat_normal {
|
.feat_table > div > .feat_normal {
|
||||||
background: var(--popout_color);
|
background: var(--card_color);
|
||||||
}
|
}
|
||||||
.feat_table > div > .feat_highlight {
|
.feat_table > div > .feat_highlight {
|
||||||
border: 1px solid var(--highlight_color)
|
border: 1px solid var(--highlight_color)
|
||||||
|
@@ -41,7 +41,7 @@ export let highlight = false
|
|||||||
<style>
|
<style>
|
||||||
.expandable {
|
.expandable {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background-color: var(--popout_color);
|
background-color: var(--card_color);
|
||||||
margin: 0.6em 0;
|
margin: 0.6em 0;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
@@ -87,7 +87,7 @@ const keydown = e => {
|
|||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translate(-50%, -20%);
|
transform: translate(-50%, -20%);
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border-radius: 20px 20px 16px 16px;
|
border-radius: 20px 20px 12px 12px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
@@ -14,15 +14,30 @@ let set = s => {
|
|||||||
<button class:button_highlight={theme===""} on:click={() => {set("")}}>
|
<button class:button_highlight={theme===""} on:click={() => {set("")}}>
|
||||||
None
|
None
|
||||||
</button>
|
</button>
|
||||||
<button class:button_highlight={theme==="default"} on:click={() => {set("default")}}>
|
<button class="group_first" class:button_highlight={theme==="nord"} on:click={() => {set("nord")}}>
|
||||||
Default (purple)
|
Nord
|
||||||
|
</button>
|
||||||
|
<button class="group_middle" class:button_highlight={theme==="nord_dark"} on:click={() => {set("nord_dark")}}>
|
||||||
|
dark
|
||||||
|
</button>
|
||||||
|
<button class="group_last" class:button_highlight={theme==="nord_light"} on:click={() => {set("nord_light")}}>
|
||||||
|
light
|
||||||
|
</button>
|
||||||
|
<button class="group_first" class:button_highlight={theme==="solarized"} on:click={() => {set("solarized")}}>
|
||||||
|
Solarized
|
||||||
|
</button>
|
||||||
|
<button class="group_middle" class:button_highlight={theme==="solarized_dark"} on:click={() => {set("solarized_dark")}}>
|
||||||
|
dark
|
||||||
|
</button>
|
||||||
|
<button class="group_last" class:button_highlight={theme==="solarized_light"} on:click={() => {set("solarized_light")}}>
|
||||||
|
light
|
||||||
|
</button>
|
||||||
|
<button class:button_highlight={theme==="purple_drain"} on:click={() => {set("purple_drain")}}>
|
||||||
|
Purple drain
|
||||||
</button>
|
</button>
|
||||||
<button class:button_highlight={theme==="classic"} on:click={() => {set("classic")}}>
|
<button class:button_highlight={theme==="classic"} on:click={() => {set("classic")}}>
|
||||||
Classic
|
Classic
|
||||||
</button>
|
</button>
|
||||||
<button class:button_highlight={theme==="solarized_dark"} on:click={() => {set("solarized_dark")}}>
|
|
||||||
Solarized
|
|
||||||
</button>
|
|
||||||
<button class:button_highlight={theme==="maroon"} on:click={() => {set("maroon")}}>
|
<button class:button_highlight={theme==="maroon"} on:click={() => {set("maroon")}}>
|
||||||
Maroon
|
Maroon
|
||||||
</button>
|
</button>
|
||||||
@@ -32,15 +47,6 @@ let set = s => {
|
|||||||
<button class:button_highlight={theme==="canta"} on:click={() => {set("canta")}}>
|
<button class:button_highlight={theme==="canta"} on:click={() => {set("canta")}}>
|
||||||
Canta
|
Canta
|
||||||
</button>
|
</button>
|
||||||
<button class:button_highlight={theme==="nord"} on:click={() => {set("nord")}}>
|
|
||||||
Nord (dynamic)
|
|
||||||
</button>
|
|
||||||
<button class:button_highlight={theme==="nord_dark"} on:click={() => {set("nord_dark")}}>
|
|
||||||
Nord (dark)
|
|
||||||
</button>
|
|
||||||
<button class:button_highlight={theme==="nord_light"} on:click={() => {set("nord_light")}}>
|
|
||||||
Nord (light)
|
|
||||||
</button>
|
|
||||||
<button class:button_highlight={theme==="skeuos"} on:click={() => {set("skeuos")}}>
|
<button class:button_highlight={theme==="skeuos"} on:click={() => {set("skeuos")}}>
|
||||||
Skeuos
|
Skeuos
|
||||||
</button>
|
</button>
|
||||||
|
@@ -25,10 +25,22 @@ func userStyleFromRequest(r *http.Request) (s template.CSS) {
|
|||||||
|
|
||||||
func userStyle(style string) template.CSS {
|
func userStyle(style string) template.CSS {
|
||||||
switch style {
|
switch style {
|
||||||
case "classic":
|
case "nord":
|
||||||
return template.CSS(pixeldrainClassicStyle.String())
|
return template.CSS(nordDarkStyle.withLight(nordLightStyle))
|
||||||
|
case "nord_dark":
|
||||||
|
return template.CSS(nordDarkStyle.String())
|
||||||
|
case "nord_light", "snowstorm":
|
||||||
|
return template.CSS(nordLightStyle.String())
|
||||||
|
case "solarized":
|
||||||
|
return template.CSS(solarizedDarkStyle.withLight(solarizedLightStyle))
|
||||||
case "solarized_dark":
|
case "solarized_dark":
|
||||||
return template.CSS(solarizedDarkStyle.String())
|
return template.CSS(solarizedDarkStyle.String())
|
||||||
|
case "solarized_light":
|
||||||
|
return template.CSS(solarizedLightStyle.String())
|
||||||
|
case "classic":
|
||||||
|
return template.CSS(classicStyle.String())
|
||||||
|
case "purple_drain":
|
||||||
|
return template.CSS(defaultPixeldrainStyle.String())
|
||||||
case "maroon":
|
case "maroon":
|
||||||
return template.CSS(maroonStyle.String())
|
return template.CSS(maroonStyle.String())
|
||||||
case "hacker":
|
case "hacker":
|
||||||
@@ -37,18 +49,12 @@ func userStyle(style string) template.CSS {
|
|||||||
return template.CSS(cantaPixeldrainStyle.String())
|
return template.CSS(cantaPixeldrainStyle.String())
|
||||||
case "skeuos":
|
case "skeuos":
|
||||||
return template.CSS(skeuosPixeldrainStyle.String())
|
return template.CSS(skeuosPixeldrainStyle.String())
|
||||||
case "nord":
|
|
||||||
return template.CSS(nordPixeldrainStyle.withLight(snowstormPixeldrainStyle))
|
|
||||||
case "nord_dark":
|
|
||||||
return template.CSS(nordPixeldrainStyle.String())
|
|
||||||
case "nord_light", "snowstorm":
|
|
||||||
return template.CSS(snowstormPixeldrainStyle.String())
|
|
||||||
case "sweet":
|
case "sweet":
|
||||||
return template.CSS(sweetPixeldrainStyle.String())
|
return template.CSS(sweetPixeldrainStyle.String())
|
||||||
case "default":
|
case "adwaita":
|
||||||
fallthrough // use default case
|
return template.CSS(adwaitaDarkStyle.withLight(adwaitaLightStyle))
|
||||||
default:
|
default:
|
||||||
return template.CSS(defaultPixeldrainStyle.String())
|
return template.CSS(nordDarkStyle.withLight(nordLightStyle))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,7 +82,8 @@ type styleSheet struct {
|
|||||||
BodyText hsl
|
BodyText hsl
|
||||||
Separator Color
|
Separator Color
|
||||||
Shaded Color
|
Shaded Color
|
||||||
PopoutColor hsl
|
CardColor hsl
|
||||||
|
CardText hsl
|
||||||
|
|
||||||
// Colors to use in graphs
|
// Colors to use in graphs
|
||||||
Chart1 hsl
|
Chart1 hsl
|
||||||
@@ -84,7 +91,6 @@ type styleSheet struct {
|
|||||||
Chart3 hsl
|
Chart3 hsl
|
||||||
|
|
||||||
Shadow hsl
|
Shadow hsl
|
||||||
Light bool // If this is a light theme
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s styleSheet) withDefaults() styleSheet {
|
func (s styleSheet) withDefaults() styleSheet {
|
||||||
@@ -148,7 +154,7 @@ func (s styleSheet) String() string {
|
|||||||
--body_text_color: %s;
|
--body_text_color: %s;
|
||||||
--separator: %s;
|
--separator: %s;
|
||||||
--shaded_background: %s;
|
--shaded_background: %s;
|
||||||
--popout_color: %s;
|
--card_color: %s;
|
||||||
|
|
||||||
--chart_1_color: %s;
|
--chart_1_color: %s;
|
||||||
--chart_2_color: %s;
|
--chart_2_color: %s;
|
||||||
@@ -179,7 +185,7 @@ func (s styleSheet) String() string {
|
|||||||
s.BodyText.CSS(),
|
s.BodyText.CSS(),
|
||||||
s.Separator.CSS(),
|
s.Separator.CSS(),
|
||||||
s.Shaded.CSS(),
|
s.Shaded.CSS(),
|
||||||
s.PopoutColor.CSS(),
|
s.CardColor.CSS(),
|
||||||
s.Chart1.CSS(),
|
s.Chart1.CSS(),
|
||||||
s.Chart2.CSS(),
|
s.Chart2.CSS(),
|
||||||
s.Chart3.CSS(),
|
s.Chart3.CSS(),
|
||||||
@@ -251,14 +257,14 @@ var defaultPixeldrainStyle = styleSheet{
|
|||||||
BodyColor: hsl{274, .9, .14},
|
BodyColor: hsl{274, .9, .14},
|
||||||
BodyBackground: NoColor,
|
BodyBackground: NoColor,
|
||||||
BodyText: hsl{0, 0, .8},
|
BodyText: hsl{0, 0, .8},
|
||||||
PopoutColor: hsl{275, .8, .18},
|
CardColor: hsl{275, .8, .18},
|
||||||
|
|
||||||
Shadow: hsl{0, 0, 0},
|
Shadow: hsl{0, 0, 0},
|
||||||
}
|
}
|
||||||
|
|
||||||
var pixeldrainClassicStyle = styleSheet{
|
var classicStyle = styleSheet{
|
||||||
Input: hsl{0, 0, .16},
|
Input: hsl{0, 0, .18},
|
||||||
InputHover: hsl{0, 0, .20},
|
InputHover: hsl{0, 0, .22},
|
||||||
InputText: hsl{0, 0, .9},
|
InputText: hsl{0, 0, .9},
|
||||||
InputDisabledText: hsl{0, 0, .4},
|
InputDisabledText: hsl{0, 0, .4},
|
||||||
Highlight: hsl{89, .60, .45},
|
Highlight: hsl{89, .60, .45},
|
||||||
@@ -268,28 +274,9 @@ var pixeldrainClassicStyle = styleSheet{
|
|||||||
ScrollbarHover: hsl{0, 0, .50},
|
ScrollbarHover: hsl{0, 0, .50},
|
||||||
|
|
||||||
BackgroundColor: hsl{0, 0, .08},
|
BackgroundColor: hsl{0, 0, .08},
|
||||||
BodyColor: hsl{0, 0, .11},
|
BodyColor: hsl{0, 0, .12},
|
||||||
BodyText: hsl{0, 0, .8},
|
BodyText: hsl{0, 0, .8},
|
||||||
PopoutColor: hsl{0, 0, .18},
|
CardColor: hsl{0, 0, .16},
|
||||||
|
|
||||||
Shadow: hsl{0, 0, 0},
|
|
||||||
}
|
|
||||||
|
|
||||||
var solarizedDarkStyle = styleSheet{
|
|
||||||
Input: hsl{192, .95, .25},
|
|
||||||
InputHover: hsl{192, .95, .29},
|
|
||||||
InputText: hsl{0, 0, 1},
|
|
||||||
InputDisabledText: hsl{0, 0, .5},
|
|
||||||
Highlight: hsl{145, .63, .42},
|
|
||||||
HighlightText: hsl{0, 0, 0},
|
|
||||||
Danger: hsl{343, .63, .42},
|
|
||||||
ScrollbarForeground: hsl{192, .95, .30},
|
|
||||||
ScrollbarHover: hsl{192, .95, .40},
|
|
||||||
|
|
||||||
BackgroundColor: hsl{192, .87, .09},
|
|
||||||
BodyColor: hsl{192, .81, .14},
|
|
||||||
BodyText: hsl{0, 0, .75},
|
|
||||||
PopoutColor: hsl{192, .95, .17},
|
|
||||||
|
|
||||||
Shadow: hsl{0, 0, 0},
|
Shadow: hsl{0, 0, 0},
|
||||||
}
|
}
|
||||||
@@ -308,7 +295,7 @@ var maroonStyle = styleSheet{
|
|||||||
BackgroundColor: hsl{0, .7, .05},
|
BackgroundColor: hsl{0, .7, .05},
|
||||||
BodyColor: hsl{0, .8, .08}, // hsl{0, .8, .15},
|
BodyColor: hsl{0, .8, .08}, // hsl{0, .8, .15},
|
||||||
BodyText: hsl{0, 0, .8},
|
BodyText: hsl{0, 0, .8},
|
||||||
PopoutColor: hsl{0, .9, .14},
|
CardColor: hsl{0, .9, .14},
|
||||||
|
|
||||||
Shadow: hsl{0, 0, 0},
|
Shadow: hsl{0, 0, 0},
|
||||||
}
|
}
|
||||||
@@ -327,7 +314,7 @@ var hackerStyle = styleSheet{
|
|||||||
BackgroundColor: hsl{0, 0, 0},
|
BackgroundColor: hsl{0, 0, 0},
|
||||||
BodyColor: hsl{0, 0, .03},
|
BodyColor: hsl{0, 0, .03},
|
||||||
BodyText: hsl{0, 0, .8},
|
BodyText: hsl{0, 0, .8},
|
||||||
PopoutColor: hsl{120, .4, .05},
|
CardColor: hsl{120, .4, .05},
|
||||||
|
|
||||||
Shadow: hsl{0, 0, 0},
|
Shadow: hsl{0, 0, 0},
|
||||||
}
|
}
|
||||||
@@ -346,7 +333,7 @@ var cantaPixeldrainStyle = styleSheet{
|
|||||||
BackgroundColor: hsl{180, .04, .16},
|
BackgroundColor: hsl{180, .04, .16},
|
||||||
BodyColor: hsl{168, .05, .21},
|
BodyColor: hsl{168, .05, .21},
|
||||||
BodyText: hsl{0, 0, .8},
|
BodyText: hsl{0, 0, .8},
|
||||||
PopoutColor: hsl{170, .05, .26},
|
CardColor: hsl{170, .05, .26},
|
||||||
|
|
||||||
Shadow: hsl{0, 0, 0},
|
Shadow: hsl{0, 0, 0},
|
||||||
}
|
}
|
||||||
@@ -365,12 +352,12 @@ var skeuosPixeldrainStyle = styleSheet{
|
|||||||
BackgroundColor: hsl{232, .14, .11}, //hsl(232, 14%, 11%)
|
BackgroundColor: hsl{232, .14, .11}, //hsl(232, 14%, 11%)
|
||||||
BodyColor: hsl{229, .14, .16}, // hsl(229, 14%, 16%)
|
BodyColor: hsl{229, .14, .16}, // hsl(229, 14%, 16%)
|
||||||
BodyText: hsl{60, .06, .93}, // hsl(60, 6%, 93%)
|
BodyText: hsl{60, .06, .93}, // hsl(60, 6%, 93%)
|
||||||
PopoutColor: hsl{225, .14, .17}, // hsl(225, 14%, 17%)
|
CardColor: hsl{225, .14, .17}, // hsl(225, 14%, 17%)
|
||||||
|
|
||||||
Shadow: hsl{0, 0, 0},
|
Shadow: hsl{0, 0, 0},
|
||||||
}
|
}
|
||||||
|
|
||||||
var nordPixeldrainStyle = styleSheet{
|
var nordDarkStyle = styleSheet{
|
||||||
Input: hsl{220, .16, .36}, // nord3
|
Input: hsl{220, .16, .36}, // nord3
|
||||||
InputHover: hsl{220, .16, .40},
|
InputHover: hsl{220, .16, .40},
|
||||||
InputText: hsl{218, .27, .92}, // nord5 hsl(218, 27%, 92%)
|
InputText: hsl{218, .27, .92}, // nord5 hsl(218, 27%, 92%)
|
||||||
@@ -384,13 +371,13 @@ var nordPixeldrainStyle = styleSheet{
|
|||||||
BackgroundColor: hsl{220, .16, .22}, // nord0
|
BackgroundColor: hsl{220, .16, .22}, // nord0
|
||||||
BodyColor: hsl{222, .16, .28}, // nord1
|
BodyColor: hsl{222, .16, .28}, // nord1
|
||||||
BodyText: hsl{219, .28, .88}, // nord4 hsl(219, 28%, 88%)
|
BodyText: hsl{219, .28, .88}, // nord4 hsl(219, 28%, 88%)
|
||||||
PopoutColor: hsl{220, .17, .32}, // nord2
|
CardColor: hsl{220, .17, .32}, // nord2
|
||||||
|
|
||||||
Shadow: hsl{0, 0, 0},
|
Shadow: hsl{0, 0, 0},
|
||||||
}
|
}
|
||||||
|
|
||||||
var snowstormPixeldrainStyle = styleSheet{
|
var nordLightStyle = styleSheet{
|
||||||
Link: hsl{92, .40, .40},
|
Link: hsl{92, .40, .32},
|
||||||
Input: hsl{218, .27, .94}, // nord6 hsl(218, 27%, 94%)
|
Input: hsl{218, .27, .94}, // nord6 hsl(218, 27%, 94%)
|
||||||
InputHover: hsl{218, .27, .98},
|
InputHover: hsl{218, .27, .98},
|
||||||
InputText: hsl{222, .16, .28}, // nord1 hsl(222, 16%, 28%)
|
InputText: hsl{222, .16, .28}, // nord1 hsl(222, 16%, 28%)
|
||||||
@@ -408,10 +395,9 @@ var snowstormPixeldrainStyle = styleSheet{
|
|||||||
BodyText: hsl{220, .17, .32}, // nord2 hsl(220, 17%, 32%)
|
BodyText: hsl{220, .17, .32}, // nord2 hsl(220, 17%, 32%)
|
||||||
Shaded: RGBA{255, 255, 255, 0.4},
|
Shaded: RGBA{255, 255, 255, 0.4},
|
||||||
BackgroundPattern: hsl{219, .28, .88}, // hsl(219, 28%, 88%)
|
BackgroundPattern: hsl{219, .28, .88}, // hsl(219, 28%, 88%)
|
||||||
PopoutColor: hsl{218, .27, .92}, // nord5 hsl(218, 27%, 92%)
|
CardColor: hsl{218, .27, .92}, // nord5 hsl(218, 27%, 92%)
|
||||||
|
|
||||||
Shadow: hsl{220, .16, .36},
|
Shadow: hsl{220, .16, .36},
|
||||||
Light: true,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var sweetPixeldrainStyle = styleSheet{
|
var sweetPixeldrainStyle = styleSheet{
|
||||||
@@ -426,7 +412,81 @@ var sweetPixeldrainStyle = styleSheet{
|
|||||||
BackgroundColor: hsl{225, .25, .06}, // hsl(225, 25%, 6%)
|
BackgroundColor: hsl{225, .25, .06}, // hsl(225, 25%, 6%)
|
||||||
BodyColor: hsl{228, .25, .12}, // hsl(228, 25%, 12%)
|
BodyColor: hsl{228, .25, .12}, // hsl(228, 25%, 12%)
|
||||||
BodyText: hsl{223, .13, .79}, // hsl(223, 13%, 79%)
|
BodyText: hsl{223, .13, .79}, // hsl(223, 13%, 79%)
|
||||||
PopoutColor: hsl{229, .25, .14}, // hsl(229, 25%, 14%)
|
Separator: RGBA{255, 255, 255, 0.05},
|
||||||
|
CardColor: hsl{229, .25, .14}, // hsl(229, 25%, 14%)
|
||||||
|
|
||||||
Shadow: hsl{0, 0, 0},
|
Shadow: hsl{0, 0, 0},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var adwaitaDarkStyle = styleSheet{
|
||||||
|
Input: RGBA{255, 255, 255, .06},
|
||||||
|
InputHover: RGBA{255, 255, 255, .1},
|
||||||
|
InputText: hsl{0, 0, 1},
|
||||||
|
InputDisabledText: hsl{0, 0, .5},
|
||||||
|
Highlight: hsl{152, .62, .39}, // hsl(152, 62%, 39%)
|
||||||
|
HighlightText: hsl{0, 0, 0},
|
||||||
|
Danger: hsl{9, 1, .69}, // hsl(9, 100%, 69%)
|
||||||
|
|
||||||
|
BackgroundColor: hsl{0, 0, .19},
|
||||||
|
BodyColor: hsl{0, 0, .14},
|
||||||
|
BodyText: hsl{0, 0, 1},
|
||||||
|
Separator: RGBA{255, 255, 255, 0.04},
|
||||||
|
CardColor: hsl{0, 0, .08},
|
||||||
|
|
||||||
|
Shadow: hsl{0, 0, 0},
|
||||||
|
}
|
||||||
|
|
||||||
|
var adwaitaLightStyle = styleSheet{
|
||||||
|
Input: RGBA{0, 0, 0, .06},
|
||||||
|
InputHover: RGBA{0, 0, 0, .1},
|
||||||
|
InputText: hsl{0, 0, .2},
|
||||||
|
InputDisabledText: hsl{0, 0, .7},
|
||||||
|
Highlight: hsl{152, .62, .47}, // hsl(152, 62%, 47%)
|
||||||
|
HighlightText: hsl{0, 0, 1},
|
||||||
|
Danger: hsl{356, .75, .43}, // hsl(356, 75%, 43%)
|
||||||
|
|
||||||
|
BackgroundColor: hsl{0, 0, .92},
|
||||||
|
BodyColor: hsl{0, 0, .98},
|
||||||
|
BodyText: hsl{0, 0, .2},
|
||||||
|
Shaded: RGBA{0, 0, 0, 0.04},
|
||||||
|
CardColor: hsl{0, 0, 1},
|
||||||
|
|
||||||
|
Shadow: hsl{0, 0, 0.36},
|
||||||
|
}
|
||||||
|
|
||||||
|
var solarizedDarkStyle = styleSheet{
|
||||||
|
Input: hsl{192, .81, .18}, // hsl(194, 14%, 40%)
|
||||||
|
InputHover: hsl{192, .81, .22}, // hsl(196, 13%, 45%)
|
||||||
|
InputText: hsl{180, .07, .80}, // hsl(44, 87%, 94%)
|
||||||
|
InputDisabledText: hsl{194, .14, .30}, // hsl(194, 14%, 40%)
|
||||||
|
Highlight: hsl{68, 1, .30}, // hsl(68, 100%, 30%)
|
||||||
|
HighlightText: hsl{192, 1, .11}, // hsl(192, 100%, 11%)
|
||||||
|
Danger: hsl{1, .71, .52}, // hsl(1, 71%, 52%)
|
||||||
|
|
||||||
|
BackgroundColor: hsl{192, 1, .11}, //hsl(192, 100%, 11%)
|
||||||
|
BodyColor: hsl{192, .81, .14}, // hsl(192, 81%, 14%)
|
||||||
|
BodyText: hsl{180, .07, .60}, // hsl(180, 7%, 60%)
|
||||||
|
Separator: RGBA{255, 255, 255, 0.05},
|
||||||
|
CardColor: hsl{192, .81, .16},
|
||||||
|
|
||||||
|
Shadow: hsl{0, 0, 0},
|
||||||
|
}
|
||||||
|
|
||||||
|
var solarizedLightStyle = styleSheet{
|
||||||
|
Input: hsl{46, .42, .84}, //hsl(180, 7%, 60%)
|
||||||
|
InputHover: hsl{46, .42, .88},
|
||||||
|
InputText: hsl{194, .14, .20}, // hsl(192, 81%, 14%)
|
||||||
|
InputDisabledText: hsl{194, .14, .80},
|
||||||
|
Highlight: hsl{68, 1, .30}, // hsl(68, 100%, 30%)
|
||||||
|
HighlightText: hsl{192, 1, .11}, // hsl(192, 100%, 11%)
|
||||||
|
Danger: hsl{1, .71, .52}, // hsl(1, 71%, 52%)
|
||||||
|
|
||||||
|
BackgroundColor: hsl{46, .42, .88}, // hsl(46, 42%, 88%)
|
||||||
|
BodyColor: hsl{44, .87, .94}, // hsl(44, 87%, 94%)
|
||||||
|
BodyText: hsl{194, .14, .40}, // hsl(194, 14%, 40%)
|
||||||
|
Separator: RGBA{0, 0, 0, 0.05},
|
||||||
|
Shaded: RGBA{255, 255, 255, 0.2},
|
||||||
|
CardColor: hsl{44, .87, .96},
|
||||||
|
|
||||||
|
Shadow: hsl{0, 0, 0.36},
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user