feat: migrate to vue 3 (#2689)

---------

Co-authored-by: Joep <jcbuhre@gmail.com>
Co-authored-by: Omar Hussein <omarmohammad1951@gmail.com>
Co-authored-by: Oleg Lobanov <oleg@lobanov.me>
This commit is contained in:
kloon15
2024-04-01 17:18:22 +02:00
committed by GitHub
parent 0e3b35b30e
commit 5100e587d7
164 changed files with 12202 additions and 8047 deletions

View File

@@ -1,14 +1,14 @@
.button {
outline: 0;
border: 0;
padding: .5em 1em;
border-radius: .1em;
padding: 0.5em 1em;
border-radius: 0.1em;
cursor: pointer;
background: var(--blue);
color: white;
border: 1px solid rgba(0, 0, 0, 0.05);
box-shadow: 0 0 5px rgba(0, 0, 0, 0.05);
transition: .1s ease all;
border: 1px solid var(--divider);
box-shadow: 0 0 5px var(--divider);
transition: 0.1s ease all;
}
.button:hover {
@@ -38,7 +38,7 @@
}
.button--flat:hover {
background: var(--moon-grey);
background: var(--surfaceSecondary);
}
.button--flat.button--red {
@@ -50,6 +50,6 @@
}
.button[disabled] {
opacity: .5;
opacity: 0.5;
cursor: not-allowed;
}

View File

@@ -1,20 +1,20 @@
.input {
border-radius: .1em;
padding: .5em 1em;
background: white;
border: 1px solid rgba(0, 0, 0, 0.1);
transition: .2s ease all;
color: #333;
background: var(--surfacePrimary);
color: var(--textSecondary);
border: 1px solid var(--borderPrimary);
border-radius: 0.1em;
padding: 0.5em 1em;
transition: 0.2s ease all;
margin: 0;
}
.input:hover,
.input:focus {
border-color: rgba(0, 0, 0, 0.2);
border-color: var(--borderSecondary);
}
.input--block {
margin-bottom: .5em;
margin-bottom: 0.5em;
display: block;
width: 100%;
}
@@ -27,9 +27,9 @@
}
.input--red {
background: #fcd0cd;
background: var(--input-red) !important;
}
.input--green {
background: #c9f2da;
background: var(--input-green) !important;
}

View File

@@ -12,8 +12,11 @@
}
.share__box {
box-shadow: rgba(0, 0, 0, 0.06) 0px 1px 3px, rgba(0, 0, 0, 0.12) 0px 1px 2px;
background: #fff;
box-shadow:
rgba(0, 0, 0, 0.06) 0px 1px 3px,
rgba(0, 0, 0, 0.12) 0px 1px 2px;
background: var(--surfacePrimary);
color: var(--textPrimary);
border-radius: 0.2em;
margin: 5px;
overflow: hidden;
@@ -39,7 +42,7 @@
.share__box__element {
padding: 1em;
border-top: 1px solid rgba(0, 0, 0, 0.1);
border-top: 1px solid var(--borderPrimary);
word-break: break-all;
}
@@ -62,7 +65,7 @@
border-left: 0;
border-right: 0;
border-bottom: 0;
border-top: 1px solid rgba(0, 0, 0, 0.1);
border-top: 1px solid var(--borderPrimary);
}
.share__box__items #listing.list .item .name {
@@ -76,7 +79,7 @@
.share__wrong__password {
background: var(--red);
color: #fff;
padding: .5em;
padding: 0.5em;
text-align: center;
animation: .2s opac forwards;
}
animation: 0.2s opac forwards;
}

View File

@@ -3,17 +3,8 @@
bottom: 0;
left: 0;
max-height: calc(100% - 4em);
background: white;
color: #212121;
z-index: 9997;
width: 100%;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
transition: .2s ease transform;
}
.shell__divider {
position: relative;
height: 8px;
background: var(--surfacePrimary);
color: var(--textPrimary);
z-index: 9999;
background: rgba(127, 127, 127, 0.1);
transition: 0.2s ease background;
@@ -32,6 +23,8 @@
overflow: auto;
font-size: 1rem;
cursor: text;
box-shadow: 0 0 5px var(--borderPrimary);
transition: 0.2s ease transform;
}
.shell__overlay {
@@ -52,7 +45,7 @@ body.rtl .shell-content {
display: flex;
padding: 0.5em;
align-items: flex-start;
border-top: 1px solid rgba(0, 0, 0, 0.05);
border-top: 1px solid var(--divider);
}
.shell--hidden {

View File

@@ -1,8 +1,8 @@
:root {
--blue: #2196f3;
--dark-blue: #1E88E5;
--red: #F44336;
--dark-red: #D32F2F;
--dark-blue: #1e88e5;
--red: #f44336;
--dark-red: #d32f2f;
--moon-grey: #f2f2f2;
--icon-red: #da4453;
@@ -11,4 +11,44 @@
--icon-green: #2ecc71;
--icon-blue: #1d99f3;
--icon-violet: #9b59b6;
--input-red: rgb(252, 208, 205);
--input-green: rgb(201, 242, 218);
--item-selected: white;
--action: rgb(84, 110, 122);
--background: rgb(250, 250, 250);
--surfacePrimary: rgb(255, 255, 255);
--surfaceSecondary: rgb(230, 230, 230);
--divider: rgba(0, 0, 0, 0.05);
--iconPrimary: var(--icon-blue);
--iconSecondary: rgb(255, 255, 255);
--iconTertiary: rgb(204, 204, 204);
--textPrimary: rgb(111, 111, 111);
--textSecondary: rgb(51, 51, 51);
--hover: rgba(0, 0, 0, 0.1);
--borderPrimary: rgba(0, 0, 0, 0.1);
--borderSecondary: rgba(0, 0, 0, 0.2);
}
:root.dark {
--input-red: rgb(115, 48, 45);
--input-green: rgb(20, 122, 65);
--action: rgb(255, 255, 255);
--background: rgb(20, 29, 36);
--surfacePrimary: rgb(32, 41, 47);
--surfaceSecondary: rgb(58, 65, 71);
--textPrimary: rgba(255, 255, 255, 0.6);
--textSecondary: rgba(255, 255, 255, 0.87);
--divider: rgba(255, 255, 255, 0.12);
--iconPrimary: rgb(255, 255, 255);
--iconSecondary: rgb(255, 255, 255);
--iconTertiary: rgb(255, 255, 255);
--hover: rgba(255, 255, 255, 0.1);
--borderPrimary: rgba(255, 255, 255, 0.05);
--borderSecondary: rgba(255, 255, 255, 0.15);
}

View File

@@ -1,12 +1,8 @@
body {
font-family: "Roboto", sans-serif;
padding-top: 4em;
background-color: #fafafa;
color: #333333;
}
body.rtl {
direction: rtl;
background: var(--background);
color: var(--textSecondary);
}
* {
@@ -62,8 +58,8 @@ nav {
left: 0;
}
body.rtl nav {
left: unset;
html[dir="rtl"] nav {
left: initial;
right: 0;
}
@@ -78,13 +74,12 @@ nav .action {
text-overflow: ellipsis;
}
body.rtl .action {
direction: rtl;
html[dir="rtl"] nav .action {
text-align: right;
}
nav > div {
border-top: 1px solid rgba(0, 0, 0, 0.05);
border-top: 1px solid var(--divider);
}
nav .action > * {
@@ -99,14 +94,15 @@ main {
.breadcrumbs {
height: 3em;
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
background: var(--background);
border-bottom: 1px solid var(--divider);
}
.breadcrumbs span,
.breadcrumbs {
display: flex;
align-items: center;
color: #6f6f6f;
color: var(--textPrimary);
}
.breadcrumbs a {
@@ -115,12 +111,12 @@ main {
border-radius: 0.125em;
}
body.rtl .breadcrumbs a {
html[dir="rtl"] .breadcrumbs a {
transform: translateX(-16em);
}
.breadcrumbs a:hover {
background-color: rgba(0, 0, 0, 0.05);
background-color: var(--divider);
}
.breadcrumbs span a {
@@ -151,4 +147,34 @@ body.rtl .breadcrumbs a {
.break-word {
word-break: break-all;
}
}
.vue-number-input > input {
background: var(--surfacePrimary) !important;
border-color: var(--surfaceSecondary) !important;
color: var(--textSecondary) !important;
}
.vue-number-input--small > input {
height: 1rem !important;
font-size: 1rem !important;
}
.vue-number-input :hover,
.vue-number-input :focus {
border-color: var(--borderSecondary) !important;
}
.vue-number-input__button {
background: var(--surfacePrimary) !important;
}
.vue-number-input__button--minus,
.vue-number-input__button--plus {
border-color: var(--surfaceSecondary) !important;
}
.vue-number-input__button::before,
.vue-number-input__button::after {
background: var(--textSecondary) !important;
}

View File

@@ -4,17 +4,17 @@
.dashboard .row {
display: flex;
margin: 0 -.5em;
margin: 0 -0.5em;
flex-wrap: wrap;
}
body.rtl .dashboard .row {
html[dir="rtl"] .dashboard .row {
margin-right: 16em;
}
.dashboard .row .column {
display: flex;
padding: 0 .5em;
padding: 0 0.5em;
width: 50%;
}
@@ -22,33 +22,33 @@ body.rtl .dashboard .row {
flex-grow: 1;
}
@media(max-width: 1200px) {
@media (max-width: 1200px) {
.dashboard .row .column {
width: 100%;
}
}
a {
color: inherit
color: inherit;
}
.dashboard p label {
margin-bottom: .2em;
margin-bottom: 0.2em;
display: block;
font-size: .8em;
font-size: 0.8em;
font-weight: 500;
color: rgba(0, 0, 0, 0.57);
color: var(--textPrimary);
}
li code,
p code {
background: rgba(0, 0, 0, 0.05);
padding: .1em;
border-radius: .2em;
background: var(--divider);
padding: 0.1em;
border-radius: 0.2em;
}
.small {
font-size: .8em;
font-size: 0.8em;
line-height: 1.5;
}
@@ -61,21 +61,21 @@ p code {
.dashboard #nav .wrapper {
display: flex;
flex-grow: 1;
border-bottom: 2px solid rgba(0, 0, 0, 0.05);
border-bottom: 2px solid var(--divider);
}
body.rtl #nav .wrapper {
html[dir="rtl"] .dashboard #nav .wrapper {
margin-right: 16em;
}
.dashboard #nav ul {
list-style: none;
display: flex;
color: rgb(84, 110, 122);
color: var(--action);
font-weight: 500;
padding: 0;
margin: 0 0 -2px 0;
font-size: .8em;
font-size: 0.8em;
text-align: center;
justify-content: left;
}
@@ -85,12 +85,11 @@ body.rtl #nav .wrapper {
padding: 1.5em 2em;
white-space: nowrap;
border-bottom: 2px solid transparent;
transition: .1s ease-in-out all;
transition: 0.1s ease-in-out all;
}
.dashboard #nav ul li:hover {
background: var(--moon-grey);
background: var(--surfaceSecondary);
}
.dashboard #nav ul li.active {
@@ -120,7 +119,7 @@ table {
}
table tr {
border-bottom: 1px solid #ccc;
border-bottom: 1px solid var(--iconTertiary);
}
table tr:last-child {
@@ -129,40 +128,44 @@ table tr:last-child {
table th {
font-weight: 500;
color: #757575;
color: var(--textSecondary);
text-align: left;
}
table th,
table td {
padding: .5em 0;
padding: 0.5em 0;
}
table td.small {
width: 1em;
}
table tr>*:first-child {
table tr > *:first-child {
padding-left: 1em;
}
body.rtl table tr>* {
html[dir="rtl"] table tr > * {
padding-left: unset;
padding-right: 1em;
text-align: right;
direction: ltr;
}
table tr>*:last-child {
table tr > *:last-child {
padding-right: 1em;
}
.card {
position: relative;
margin: 0 0 1rem 0;
background-color: #fff;
background: var(--surfacePrimary);
color: var(--textSecondary);
border-radius: 2px;
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
box-shadow:
0 2px 2px 0 rgba(0, 0, 0, 0.14),
0 1px 5px 0 rgba(0, 0, 0, 0.12),
0 3px 1px -2px rgba(0, 0, 0, 0.2);
overflow: auto;
}
@@ -171,18 +174,18 @@ table tr>*:last-child {
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 99999;
max-width: 25em;
width: 90%;
max-height: 95%;
animation: .1s show forwards;
/* animation-duration: 0.3s;
animation-fill-mode: forwards; */
}
.card>*>*:first-child {
.card > * > *:first-child {
margin-top: 0;
}
.card>*>*:last-child {
.card > * > *:last-child {
margin-bottom: 0;
}
@@ -191,24 +194,24 @@ table tr>*:last-child {
display: flex;
}
.card .card-title>*:first-child {
.card .card-title > *:first-child {
margin-right: auto;
}
body.rtl .card .card-title>*:first-child {
html[dir="rtl"] .card .card-title > *:first-child {
margin-right: 0;
text-align: right;
}
.card>div {
.card > div {
padding: 1em 1em;
}
.card>div:first-child {
.card > div:first-child {
padding-top: 1.5em;
}
.card>div:last-child {
.card > div:last-child {
padding-bottom: 1.5em;
}
@@ -234,7 +237,7 @@ body.rtl .card .card-action {
}
.card h3 {
color: rgba(0, 0, 0, 0.53);
color: var(--textPrimary);
font-size: 1em;
font-weight: 500;
margin: 2em 0 1em;
@@ -253,6 +256,14 @@ body.rtl .card .card-action {
max-width: 15em;
}
.card#share input,
.card#share select,
.card#share input::-webkit-inner-spin-button,
.card#share input::-webkit-outer-spin-button {
background: var(--surfacePrimary);
color: var(--textSecondary);
}
.card#share ul {
list-style: none;
padding: 0;
@@ -277,24 +288,24 @@ body.rtl .card .card-action {
.card#share ul li input,
.card#share ul li select {
padding: .2em;
margin-right: .5em;
border: 1px solid #dadada;
padding: 0.2em;
margin-right: 0.5em;
border: 1px solid var(--borderPrimary);
}
.card#share .action.copy-clipboard::after {
content: 'Copied!';
content: "Copied!";
position: absolute;
left: -25%;
width: 150%;
font-size: .6em;
font-size: 0.6em;
text-align: center;
background: #44a6f5;
color: #fff;
padding: .5em .2em;
border-radius: .4em;
padding: 0.5em 0.2em;
border-radius: 0.4em;
top: -2em;
transition: .1s ease opacity;
transition: 0.1s ease opacity;
opacity: 0;
}
@@ -324,10 +335,9 @@ body.rtl .card .card-action {
z-index: 9999;
visibility: hidden;
opacity: 0;
animation: .1s show forwards;
animation: 0.1s show forwards;
}
/* * * * * * * * * * * * * * * *
* PROMPT - MOVE *
* * * * * * * * * * * * * * * */
@@ -344,33 +354,33 @@ body.rtl .card .card-action {
.file-list li {
width: 100%;
user-select: none;
border-radius: .2em;
padding: .3em;
border-radius: 0.2em;
padding: 0.3em;
}
.file-list li[aria-selected=true] {
.file-list li[aria-selected="true"] {
background: var(--blue) !important;
color: #fff !important;
transition: .1s ease all;
color: var(--iconSecondary) !important;
transition: 0.1s ease all;
}
.file-list li:hover {
background-color: #e9eaeb;
background: var(--surfaceSecondary);
cursor: pointer;
}
.file-list li:before {
content: "folder";
color: #6f6f6f;
color: var(--textPrimary);
vertical-align: middle;
line-height: 1.4;
font-family: 'Material Icons';
font-family: "Material Icons";
font-size: 1.75em;
margin-right: .25em;
margin-right: 0.25em;
}
.file-list li[aria-selected=true]:before {
color: white;
.file-list li[aria-selected="true"]:before {
color: var(--iconSecondary);
}
.help {
@@ -399,11 +409,11 @@ body.rtl .card .card-action {
}
.collapsible {
border-top: 1px solid rgba(0,0,0,0.1);
border-top: 1px solid var(--borderPrimary);
}
.collapsible:last-of-type {
border-bottom: 1px solid rgba(0,0,0,0.1);
border-bottom: 1px solid var(--borderPrimary);
}
.collapsible > input {
@@ -421,18 +431,18 @@ body.rtl .card .card-action {
.collapsible > label * {
margin: 0;
color: rgba(0,0,0,0.57);
color: var(--textPrimary);
}
.collapsible > label i {
transition: .2s ease transform;
transition: 0.2s ease transform;
user-select: none;
}
.collapsible .collapse {
max-height: 0;
overflow: hidden;
transition: .2s ease all;
transition: 0.2s ease all;
}
.collapsible > input:checked ~ .collapse {
@@ -442,7 +452,7 @@ body.rtl .card .card-action {
}
.collapsible > input:checked ~ label i {
transform: rotate(180deg)
transform: rotate(180deg);
}
.card .collapsible {
@@ -468,12 +478,12 @@ body.rtl .card .card-action {
flex: 1;
padding: 2em;
border-radius: 0.2em;
border: 1px solid rgba(0, 0, 0, 0.1);
border: 1px solid var(--borderPrimary);
text-align: center;
}
.card .card-action.full .action {
margin: 0 0.25em 0.50em;
margin: 0 0.25em 0.5em;
}
.card .card-action.full .action i {
@@ -489,7 +499,7 @@ body.rtl .card .card-action {
}
/*** RTL - Fix disk usage information (in english) ***/
body.rtl .credits {
html[dir="rtl"] .credits {
text-align: right;
direction: ltr;
}
}

View File

@@ -1,8 +1,8 @@
header {
z-index: 1000;
background-color: #fff;
border-bottom: 1px solid rgba(0, 0, 0, 0.075);
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
background: var(--surfacePrimary);
border-bottom: 1px solid var(--divider);
box-shadow: 0 0 5px var(--borderPrimary);
position: fixed;
top: 0;
left: 0;
@@ -37,7 +37,7 @@ header a:hover {
color: inherit;
}
header>div:first-child>.action,
header > div:first-child > .action,
header img {
margin-right: 1em;
}
@@ -50,7 +50,7 @@ header .action span {
display: none;
}
header>div div {
header > div div {
vertical-align: middle;
position: relative;
}
@@ -82,34 +82,39 @@ header .menu-button {
}
#search #input {
background-color: #f5f5f5;
background: var(--surfaceSecondary);
border-color: var(--surfacePrimary);
display: flex;
height: 100%;
padding: 0em 0.75em;
border-radius: 0.3em;
transition: .1s ease all;
transition: 0.1s ease all;
align-items: center;
z-index: 2;
}
#search #input input::placeholder {
color: var(--textSecondary);
}
#search.active #input {
border-bottom: 1px solid rgba(0, 0, 0, 0.075);
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
background-color: #fff;
border-bottom: 1px solid var(--borderPrimary);
box-shadow: 0 0 5px var(--borderPrimary);
background: var(--surfacePrimary);
height: 4em;
}
#search.active>div {
#search.active > div {
border-radius: 0 !important;
}
#search.active i,
#search.active input {
color: #212121;
color: var(--textPrimary);
}
#search #input>.action,
#search #input>i {
#search #input > .action,
#search #input > i {
margin-right: 0.3em;
user-select: none;
}
@@ -124,38 +129,39 @@ header .menu-button {
#search #result {
visibility: visible;
max-height: none;
background-color: #f8f8f8;
background: var(--background);
text-align: left;
padding: 0;
color: rgba(0, 0, 0, 0.6);
color: var(--textPrimary);
height: 0;
transition: .1s ease height, .1s ease padding;
transition:
0.1s ease height,
0.1s ease padding;
overflow-x: hidden;
overflow-y: auto;
z-index: 1;
}
body.rtl #search #result {
html[dir="rtl"] #search #result {
direction: ltr;
}
#search #result>div>*:first-child {
#search #result > div > *:first-child {
margin-top: 0;
}
body.rtl #search #result {
direction: rtl;
html[dir="rtl"] #search #result {
text-align: right;
}
/*** RTL - Keep search result LTR because it has paths (in english) ***/
body.rtl #search #result ul>* {
html[dir="rtl"] #search #result ul > * {
direction: ltr;
text-align: left;
}
#search.active #result {
padding: .5em;
padding: 0.5em;
height: calc(100% - 4em);
}
@@ -166,10 +172,10 @@ body.rtl #search #result ul>* {
}
#search li {
margin-bottom: .5em;
margin-bottom: 0.5em;
}
#search #result>div {
#search #result > div {
max-width: 45em;
margin: 0 auto;
}
@@ -187,10 +193,10 @@ body.rtl #search #result ul>* {
}
#search.active #result i {
color: #ccc;
color: var(--iconTertiary);
}
#search.active #result>p>i {
#search.active #result > p > i {
text-align: center;
margin: 0 auto;
display: table;
@@ -199,35 +205,35 @@ body.rtl #search #result ul>* {
#search.active #result ul li a {
display: flex;
align-items: center;
padding: .3em 0;
padding: 0.3em 0;
}
#search.active #result ul li a i {
margin-right: .3em;
margin-right: 0.3em;
}
#search::-webkit-input-placeholder {
color: rgba(255, 255, 255, .5);
}
#search:-moz-placeholder {
opacity: 1;
color: rgba(255, 255, 255, .5);
/* I dont think we need these anymore */
/* #search::-webkit-input-placeholder {
color: var(--textPrimary);
}
#search::-moz-placeholder {
opacity: 1;
color: rgba(255, 255, 255, .5);
color: var(--textPrimary);
}
#search:-ms-input-placeholder {
color: rgba(255, 255, 255, .5);
color: var(--textPrimary);
}
#search #input input::placeholder {
color: var(--textPrimary);
} */
#search .boxes {
border: 1px solid rgba(0, 0, 0, 0.075);
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
background: #fff;
border: 1px solid var(--borderPrimary);
box-shadow: 0 0 5px var(--borderPrimary);
background: var(--surfacePrimary);
margin: 1em 0;
}
@@ -235,15 +241,15 @@ body.rtl #search #result ul>* {
margin: 0;
font-weight: 500;
font-size: 1em;
color: #212121;
padding: .5em;
color: var(--textSecondary);
padding: 0.5em;
}
body.rtl #search .boxes h3 {
html[dir="rtl"] #search .boxes h3 {
text-align: right;
}
#search .boxes>div {
#search .boxes > div {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
@@ -251,7 +257,7 @@ body.rtl #search .boxes h3 {
margin-bottom: -1em;
}
#search .boxes>div>div {
#search .boxes > div > div {
background: var(--blue);
color: #fff;
text-align: center;

View File

@@ -2,30 +2,50 @@
/* General */
.file-icons [aria-label^="."] { opacity: 0.33 }
.file-icons [aria-label$=".bak"] { opacity: 0.33 }
.file-icons [aria-label^="."] {
opacity: 0.33;
}
.file-icons [aria-label$=".bak"] {
opacity: 0.33;
}
.file-icons [data-type=audio] i::before { content: 'volume_up' }
.file-icons [data-type=blob] i::before { content: 'insert_drive_file' }
.file-icons [data-type=image] i::before { content: 'image' }
.file-icons [data-type=pdf] i::before { content: 'description' }
.file-icons [data-type=text] i::before { content: 'description' }
.file-icons [data-type=video] i::before { content: 'movie' }
.file-icons [data-type=invalid_link] i::before { content: 'link_off' }
.file-icons [data-type="audio"] i::before {
content: "volume_up";
}
.file-icons [data-type="blob"] i::before {
content: "insert_drive_file";
}
.file-icons [data-type="image"] i::before {
content: "image";
}
.file-icons [data-type="pdf"] i::before {
content: "description";
}
.file-icons [data-type="text"] i::before {
content: "description";
}
.file-icons [data-type="video"] i::before {
content: "movie";
}
.file-icons [data-type="invalid_link"] i::before {
content: "link_off";
}
/* #f90 - Image */
.file-icons [aria-label$=".ai"] i::before,
.file-icons [aria-label$=".odg"] i::before,
.file-icons [aria-label$=".xcf"] i::before
{ content: 'image' }
.file-icons [aria-label$=".xcf"] i::before {
content: "image";
}
/* #f90 - Presentation */
.file-icons [aria-label$=".odp"] i::before,
.file-icons [aria-label$=".ppt"] i::before,
.file-icons [aria-label$=".pptx"] i::before
{ content: 'slideshow' }
.file-icons [aria-label$=".pptx"] i::before {
content: "slideshow";
}
/* #0f0 - Spreadsheet/Database */
@@ -34,8 +54,9 @@
.file-icons [aria-label$=".odb"] i::before,
.file-icons [aria-label$=".ods"] i::before,
.file-icons [aria-label$=".xls"] i::before,
.file-icons [aria-label$=".xlsx"] i::before
{ content: 'border_all' }
.file-icons [aria-label$=".xlsx"] i::before {
content: "border_all";
}
/* #00f - Document */
@@ -43,8 +64,9 @@
.file-icons [aria-label$=".docx"] i::before,
.file-icons [aria-label$=".log"] i::before,
.file-icons [aria-label$=".odt"] i::before,
.file-icons [aria-label$=".rtf"] i::before
{ content: 'description' }
.file-icons [aria-label$=".rtf"] i::before {
content: "description";
}
/* #999 - Code */
@@ -65,8 +87,9 @@
.file-icons [aria-label$=".rs"] i::before,
.file-icons [aria-label$=".vue"] i::before,
.file-icons [aria-label$=".xml"] i::before,
.file-icons [aria-label$=".yml"] i::before
{ content: 'code' }
.file-icons [aria-label$=".yml"] i::before {
content: "code";
}
/* #999 - Executable */
@@ -75,16 +98,18 @@
.file-icons [aria-label$=".exe"] i::before,
.file-icons [aria-label$=".jar"] i::before,
.file-icons [aria-label$=".ps1"] i::before,
.file-icons [aria-label$=".sh"] i::before
{ content: 'web_asset' }
.file-icons [aria-label$=".sh"] i::before {
content: "web_asset";
}
/* #999 - Installer */
.file-icons [aria-label$=".deb"] i::before,
.file-icons [aria-label$=".msi"] i::before,
.file-icons [aria-label$=".pkg"] i::before,
.file-icons [aria-label$=".rpm"] i::before
{ content: 'archive' }
.file-icons [aria-label$=".rpm"] i::before {
content: "archive";
}
/* #999 - Compressed */
@@ -96,8 +121,9 @@
.file-icons [aria-label$=".tar"] i::before,
.file-icons [aria-label$=".xz"] i::before,
.file-icons [aria-label$=".zip"] i::before,
.file-icons [aria-label$=".zst"] i::before
{ content: 'folder_zip' }
.file-icons [aria-label$=".zst"] i::before {
content: "folder_zip";
}
/* #999 - Disk */
@@ -108,25 +134,35 @@
.file-icons [aria-label$=".vdi"] i::before,
.file-icons [aria-label$=".vhd"] i::before,
.file-icons [aria-label$=".vmdk"] i::before,
.file-icons [aria-label$=".wim"] i::before
{ content: 'album' }
.file-icons [aria-label$=".wim"] i::before {
content: "album";
}
/* #999 - Font */
.file-icons [aria-label$=".otf"] i::before,
.file-icons [aria-label$=".ttf"] i::before,
.file-icons [aria-label$=".woff"] i::before,
.file-icons [aria-label$=".woff2"] i::before
{ content: 'font_download' }
.file-icons [aria-label$=".woff2"] i::before {
content: "font_download";
}
/* Colors */
/* General */
.file-icons [data-type=audio] i { color: var(--icon-yellow) }
.file-icons [data-type=image] i { color: var(--icon-orange) }
.file-icons [data-type=video] i { color: var(--icon-violet) }
.file-icons [data-type=invalid_link] i { color: var(--icon-red) }
.file-icons [data-type="audio"] i {
color: var(--icon-yellow);
}
.file-icons [data-type="image"] i {
color: var(--icon-orange);
}
.file-icons [data-type="video"] i {
color: var(--icon-violet);
}
.file-icons [data-type="invalid_link"] i {
color: var(--icon-red);
}
/* #f00 - Adobe/Oracle */
@@ -135,8 +171,9 @@
.file-icons [aria-label$=".jar"] i,
.file-icons [aria-label$=".psd"] i,
.file-icons [aria-label$=".rb"] i,
.file-icons [data-type=pdf] i
{ color: var(--icon-red) }
.file-icons [data-type="pdf"] i {
color: var(--icon-red);
}
/* #f90 - Image/Presentation */
@@ -146,16 +183,18 @@
.file-icons [aria-label$=".ppt"] i,
.file-icons [aria-label$=".pptx"] i,
.file-icons [aria-label$=".vue"] i,
.file-icons [aria-label$=".xcf"] i
{ color: var(--icon-orange) }
.file-icons [aria-label$=".xcf"] i {
color: var(--icon-orange);
}
/* #ff0 - Various */
.file-icons [aria-label$=".css"] i,
.file-icons [aria-label$=".js"] i,
.file-icons [aria-label$=".json"] i,
.file-icons [aria-label$=".zip"] i
{ color: var(--icon-yellow) }
.file-icons [aria-label$=".zip"] i {
color: var(--icon-yellow);
}
/* #0f0 - Spreadsheet/Google */
@@ -164,8 +203,9 @@
.file-icons [aria-label$=".go"] i,
.file-icons [aria-label$=".ods"] i,
.file-icons [aria-label$=".xls"] i,
.file-icons [aria-label$=".xlsx"] i
{ color: var(--icon-green) }
.file-icons [aria-label$=".xlsx"] i {
color: var(--icon-green);
}
/* #00f - Document/Microsoft/Apple/Closed */
@@ -188,18 +228,26 @@
.file-icons [aria-label$=".ps1"] i,
.file-icons [aria-label$=".rtf"] i,
.file-icons [aria-label$=".vob"] i,
.file-icons [aria-label$=".wim"] i
{ color: var(--icon-blue) }
.file-icons [aria-label$=".wim"] i {
color: var(--icon-blue);
}
/* #60f - Various */
.file-icons [aria-label$=".iso"] i,
.file-icons [aria-label$=".php"] i,
.file-icons [aria-label$=".rar"] i
{ color: var(--icon-violet) }
.file-icons [aria-label$=".rar"] i {
color: var(--icon-violet);
}
/* Overrides */
.file-icons [data-dir=true] i { color: var(--icon-blue) }
.file-icons [data-dir=true] i::before { content: 'folder' }
.file-icons [aria-selected=true] i { color: var(--item-selected) }
.file-icons [data-dir="true"] i {
color: var(--icon-blue);
}
.file-icons [data-dir="true"] i::before {
content: "folder";
}
.file-icons [aria-selected="true"] i {
color: var(--iconSecondary);
}

View File

@@ -1,15 +1,11 @@
#listing {
--item-selected: white;
}
body.rtl #listing {
html[dir="rtl"] #listing {
margin-right: 16em;
}
#listing h2 {
margin: 0 0 0 0.5em;
font-size: .9em;
color: rgba(0, 0, 0, 0.38);
font-size: 0.9em;
color: var(--textPrimary);
font-weight: 500;
}
@@ -18,19 +14,22 @@ body.rtl #listing {
overflow: hidden;
}
#listing>div {
#listing > div {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
#listing .item {
background-color: #fff;
background: var(--surfacePrimary);
border-color: var(--divider);
position: relative;
display: flex;
flex-wrap: nowrap;
color: #6f6f6f;
transition: .1s ease background, .1s ease opacity;
color: var(--textPrimary);
transition:
0.1s ease background,
0.1s ease opacity;
align-items: center;
cursor: pointer;
user-select: none;
@@ -75,13 +74,13 @@ body.rtl #listing {
margin: 1em auto;
display: block !important;
width: 95%;
color: rgba(0, 0, 0, 0.3);
color: var(--textPrimary);
font-weight: 500;
}
.message i {
font-size: 2.5em;
margin-bottom: .2em;
margin-bottom: 0.2em;
display: block;
}
@@ -92,14 +91,18 @@ body.rtl #listing {
#listing.mosaic .item {
width: calc(33% - 1em);
margin: .5em;
margin: 0.5em;
padding: 0.5em;
border-radius: 0.2em;
box-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .12);
box-shadow:
0 1px 3px rgba(0, 0, 0, 0.06),
0 1px 2px rgba(0, 0, 0, 0.12);
}
#listing.mosaic .item:hover {
box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24) !important;
box-shadow:
0 1px 3px rgba(0, 0, 0, 0.12),
0 1px 2px rgba(0, 0, 0, 0.24) !important;
}
#listing.mosaic .header {
@@ -127,16 +130,16 @@ body.rtl #listing {
text-align: center;
}
#listing.mosaic.gallery .item[data-type=image] div:last-of-type {
#listing.mosaic.gallery .item[data-type="image"] div:last-of-type {
color: white;
background: linear-gradient(#0000, #0009);
}
#listing.mosaic.gallery .item i {
width: 100%;
margin-right: 0;
font-size: 8em;
text-align: center;
width: 100%;
margin-right: 0;
font-size: 8em;
text-align: center;
}
#listing.mosaic.gallery .item img {
@@ -159,7 +162,7 @@ body.rtl #listing {
#listing.list .item {
width: 100%;
margin: 0;
border: 1px solid rgba(0, 0, 0, 0.1);
border: 1px solid var(--borderPrimary);
padding: 1em;
border-top: 0;
}
@@ -168,9 +171,9 @@ body.rtl #listing {
display: none;
}
#listing .item[aria-selected=true] {
#listing .item[aria-selected="true"] {
background: var(--blue) !important;
color: var(--item-selected) !important;
color: var(--iconSecondary) !important;
}
#listing.list .item div:first-of-type {
@@ -202,25 +205,25 @@ body.rtl #listing {
#listing .item.header {
display: none !important;
background-color: #ccc;
background-color: var(--iconTertiary);
}
#listing.list .header i {
font-size: 1.5em;
vertical-align: middle;
margin-left: .2em;
margin-left: 0.2em;
}
#listing.list .item.header {
display: flex !important;
background: #fafafa;
background: var(--background);
z-index: 999;
padding: .85em;
padding: 0.85em;
border: 0;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
border-bottom: 1px solid var(--borderPrimary);
}
#listing.list .item.header>div:first-child {
#listing.list .item.header > div:first-child {
width: 0;
}
@@ -232,7 +235,7 @@ body.rtl #listing {
color: inherit;
}
#listing.list .item.header>div:first-child {
#listing.list .item.header > div:first-child {
width: 0;
}
@@ -250,7 +253,7 @@ body.rtl #listing {
#listing.list .header i {
opacity: 0;
transition: .1s ease all;
transition: 0.1s ease all;
}
#listing.list .header p:hover i,
@@ -272,7 +275,7 @@ body.rtl #listing {
height: 4em;
padding: 0.5em 0.5em 0.5em 1em;
justify-content: space-between;
transition: .2s ease bottom;
transition: 0.2s ease bottom;
}
#listing #multiple-selection.active {
@@ -281,5 +284,5 @@ body.rtl #listing {
#listing #multiple-selection p,
#listing #multiple-selection i {
color: var(--item-selected);
color: var(--iconSecondary);
}

View File

@@ -1,5 +1,5 @@
#login {
background: #fff;
background: var(--surfacePrimary);
position: fixed;
top: 0;
left: 0;
@@ -17,7 +17,7 @@
#login h1 {
text-align: center;
font-size: 2.5em;
margin: .4em 0 .67em;
margin: 0.4em 0 0.67em;
}
#login form {
@@ -34,15 +34,15 @@
}
#login #recaptcha {
margin: .5em 0 0;
margin: 0.5em 0 0;
}
#login .wrong {
background: var(--red);
color: #fff;
padding: .5em;
padding: 0.5em;
text-align: center;
animation: .2s opac forwards;
animation: 0.2s opac forwards;
}
@keyframes opac {
@@ -61,5 +61,5 @@
text-transform: lowercase;
font-weight: 500;
font-size: 0.9rem;
margin: .5rem 0;
margin: 0.5rem 0;
}

View File

@@ -1,12 +1,12 @@
@media (max-width: 1024px) {
nav {
width: 10em
width: 10em;
}
}
@media (max-width: 1024px) {
main {
width: calc(100% - 13em)
width: calc(100% - 13em);
}
}
@@ -21,27 +21,27 @@
width: 60%;
}
#more {
display: inherit
display: inherit;
}
header .overlay {
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.1);
background-color: var(--borderPrimary);
}
#dropdown {
position: fixed;
top: 1em;
right: 1em;
display: block;
background-color: #fff;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
background: var(--surfaceSecondary);
box-shadow: 0 0 5px var(--borderPrimary);
transform: scale(0);
transition: .1s ease-in-out transform;
transition: 0.1s ease-in-out transform;
transform-origin: top right;
z-index: 99999;
}
body.rtl #dropdown {
html[dir="rtl"] #dropdown {
right: unset;
left: 1em;
transform-origin: top left;
@@ -61,7 +61,7 @@
}
#dropdown .action span:not(.counter) {
display: inline-block;
padding: .4em;
padding: 0.4em;
}
#dropdown .counter {
left: 2.25em;
@@ -73,8 +73,10 @@
transform: translateX(-50%);
display: flex;
align-items: center;
background: #fff;
box-shadow: rgba(0, 0, 0, 0.06) 0px 1px 3px, rgba(0, 0, 0, 0.12) 0px 1px 2px;
background: var(--surfaceSecondary);
box-shadow:
rgba(0, 0, 0, 0.06) 0px 1px 3px,
rgba(0, 0, 0, 0.12) 0px 1px 2px;
width: 95%;
max-width: 20em;
z-index: 1;
@@ -86,7 +88,7 @@
#file-selection > span {
display: inline-block;
margin-left: 1em;
color: #6f6f6f;
color: var(--textPrimary);
margin-right: auto;
}
#file-selection .action span {
@@ -95,15 +97,15 @@
nav {
top: 0;
z-index: 99999;
background: #fff;
background: var(--surfaceSecondary);
height: 100%;
width: 16em;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
transition: .1s ease left;
box-shadow: 0 0 5px var(--borderPrimary);
transition: 0.1s ease left;
left: -17em;
}
body.rtl nav {
html[dir="rtl"] nav {
left: unset;
right: -17em;
}
@@ -111,7 +113,7 @@
left: 0;
}
body.rtl nav.active {
html[dir="rtl"] nav.active {
left: unset;
right: 0;
}
@@ -131,19 +133,19 @@
margin-bottom: 5em;
}
body.rtl #listing {
html[dir="rtl"] #listing {
margin-right: unset;
}
body.rtl .breadcrumbs {
html[dir="rtl"] .breadcrumbs {
transform: translateX(16em);
}
body.rtl #nav .wrapper {
html[dir="rtl"] #nav .wrapper {
margin-right: unset;
}
body.rtl .dashboard .row {
html[dir="rtl"] .dashboard .row {
margin-right: unset;
}
@@ -166,4 +168,4 @@
#listing.list .item .name {
width: 100%;
}
}
}

View File

@@ -1,6 +1,6 @@
@import "normalize.css/normalize.css";
@import "noty/lib/noty.css";
@import "noty/lib/themes/mint.css";
@import "vue-toastification/dist/index.css";
@import "vue-final-modal/style.css";
@import "./_variables.css";
@import "./_buttons.css";
@import "./_inputs.css";
@@ -16,10 +16,23 @@
@import "./login.css";
@import "./mobile.css";
/* For testing only
:focus {
outline: 2px solid crimson !important;
border-radius: 3px !important;
} */
.link {
color: var(--blue);
}
#loading {
background: var(--background);
}
#loading .spinner > div {
background: var(--iconPrimary);
}
main .spinner {
display: block;
text-align: center;
@@ -32,7 +45,7 @@ main .spinner > div {
height: 0.8em;
margin: 0 0.1em;
font-size: 1em;
background-color: rgba(0, 0, 0, 0.3);
background: var(--iconPrimary);
border-radius: 100%;
display: inline-block;
animation: sk-bouncedelay 1.4s infinite ease-in-out both;
@@ -72,7 +85,7 @@ main .spinner .bounce2 {
transition: 0.2s ease all;
border: 0;
margin: 0;
color: #546e7a;
color: var(--action);
border-radius: 50%;
background: transparent;
padding: 0;
@@ -94,7 +107,7 @@ main .spinner .bounce2 {
}
.action:hover {
background-color: rgba(0, 0, 0, 0.1);
background-color: var(--hover);
}
.action ul {
@@ -115,7 +128,7 @@ main .spinner .bounce2 {
}
.action ul li:hover {
background-color: rgba(0, 0, 0, 0.04);
background-color: var(--divider);
}
#click-overlay {
@@ -138,7 +151,7 @@ main .spinner .bounce2 {
bottom: 0;
right: 0;
background: var(--blue);
color: #fff;
color: var(--iconSecondary);
border-radius: 50%;
font-size: 0.75em;
width: 1.8em;
@@ -146,7 +159,7 @@ main .spinner .bounce2 {
text-align: center;
line-height: 1.55em;
font-weight: bold;
border: 2px solid white;
border: 2px solid var(--borderPrimary);
}
/* PREVIEWER */
@@ -176,14 +189,14 @@ main .spinner .bounce2 {
}
#previewer header > title {
white-space: nowrap;
white-space: nowrap;
text-shadow: 1px 1px 1px #000000;
}
@media (min-width: 738px) {
#previewer header #dropdown .action i {
color: #fff;
text-shadow: 1px 1px 1px #000000;
text-shadow: 1px 1px 1px #000000;
}
}
@@ -217,7 +230,6 @@ main .spinner .bounce2 {
height: 88%;
}
#previewer .preview video {
height: 100%;
}
@@ -302,7 +314,7 @@ main .spinner .bounce2 {
#previewer .spinner > div {
width: 18px;
height: 18px;
background-color: white;
background: var(--iconPrimary);
}
/* EDITOR */
@@ -310,17 +322,21 @@ main .spinner .bounce2 {
#editor-container {
display: flex;
flex-direction: column;
background-color: #fafafa;
background-color: var(--background);
position: fixed;
padding-top: 4em;
top: 0;
left: 0;
height: 100%;
width: 100%;
z-index: 9999;
z-index: 9998;
overflow: hidden;
}
#editor-container .bar {
background: var(--surfacePrimary);
}
#editor-container #editor {
flex: 1;
}
@@ -331,7 +347,7 @@ main .spinner .bounce2 {
}
/*** RTL - flip and position arrow of path ***/
body.rtl .breadcrumbs .chevron {
html[dir="rtl"] .breadcrumbs .chevron {
transform: scaleX(-1) translateX(16em);
}
@@ -343,22 +359,6 @@ body.rtl .breadcrumbs .chevron {
font-size: 1rem;
}
/* * * * * * * * * * * * * * * *
* PROMPT *
* * * * * * * * * * * * * * * */
.noty_buttons {
text-align: right;
padding: 0 10px 10px !important;
}
.noty_buttons button {
background: rgba(0, 0, 0, 0.05);
border: 1px solid rgba(0, 0, 0, 0.1);
box-shadow: 0 0 0 0;
font-size: 1rem;
}
/* * * * * * * * * * * * * * * *
* FOOTER *
* * * * * * * * * * * * * * * */
@@ -436,17 +436,17 @@ body.rtl .breadcrumbs .chevron {
* RTL overrides *
* * * * * * * * * * * * * * * */
body.rtl .card-content textarea {
html[dir="rtl"] .card-content textarea {
direction: ltr;
text-align: left;
}
body.rtl .card-content .small + input {
html[dir="rtl"] .card-content .small + input {
direction: ltr;
text-align: left;
}
body.rtl .card.floating .card-content .file-list {
html[dir="rtl"] .card.floating .card-content .file-list {
direction: ltr;
text-align: left;
}