partitioncloud-server/partitioncloud/static/style.css

481 lines
8.3 KiB
CSS
Raw Normal View History

2023-06-10 16:46:55 +02:00
@import url('https://augustin64.fr/static/font/iosevka.css');
/** Color Schemes */
/* Themes used: Catppuccin Latte & Moccha
* https://github.com/catppuccin/catppuccin */
/* Light theme : catppuccin Latte */
2022-12-22 18:20:41 +01:00
:root {
2023-06-10 16:46:55 +02:00
--color-rosewater: #f5e0dc;
--color-flamingo: #f2cdcd;
--color-pink: #f5c2e7;
--color-mauve: #cba6f7;
--color-red: #f38ba8;
--color-maroon: #eba0ac;
--color-peach: #fab387;
--color-yellow: #f9e2af;
--color-green: #a6e3a1;
--color-teal: #94e2d5;
--color-sky: #89dceb;
--color-sapphire: #74c7ec;
--color-blue: #89b4fa;
--color-lavender: #b4befe;
--color-text: #cdd6f4;
--color-subtext1: #bac2de;
--color-subtext0: #a6adc8;
--color-overlay2: #9399b2;
--color-overlay1: #7f849c;
--color-overlay0: #6c7086;
--color-surface2: #585b70;
--color-surface1: #45475a;
--color-surface0: #313244;
--color-base: #1e1e2e;
--color-mantle: #181825;
--color-crust: #11111b;
--font-family: Iosevka Web;
}
/* Dark theme: Catpuccin Mocha */
@media (prefers-color-scheme: light) {
2022-12-22 18:20:41 +01:00
:root {
2023-06-10 16:46:55 +02:00
--color-rosewater: #dc8a78;
--color-flamingo: #dd7878;
--color-pink: #ea76cb;
--color-mauve: #8839ef;
--color-red: #d20f39;
--color-maroon: #e64553;
--color-peach: #fe640b;
--color-yellow: #df8e1d;
--color-green: #40a02b;
--color-teal: #179299;
--color-sky: #04a5e5;
--color-sapphire: #209fb5;
--color-blue: #1e66f5;
--color-lavender: #7287fd;
--color-text: #4c4f69;
--color-subtext1: #5c5f77;
--color-subtext0: #6c6f85;
--color-overlay2: #7c7f93;
--color-overlay1: #8c8fa1;
--color-overlay0: #9ca0b0;
--color-surface2: #acb0be;
--color-surface1: #bcc0cc;
--color-surface0: #ccd0da;
--color-base: #eff1f5;
--color-mantle: #e6e9ef;
--color-crust: #dce0e8;
2022-12-22 18:20:41 +01:00
}
}
2023-06-10 16:46:55 +02:00
/** Various settings (variables) */
:root {
/*--sidebar-size: max(10vw, 160px);*/
--sidebar-size: 200px;
2022-08-16 15:22:03 +02:00
}
2023-01-19 18:03:52 +01:00
2023-06-10 16:46:55 +02:00
/** Generic things */
h1 {
margin-left: 30px;
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
a {
text-decoration: none;
color: var(--color-blue);
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
body {
color: var(--color-text);
background-color: var(--color-base);
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
#page-header {
margin-left: 10px;
2022-08-16 15:22:03 +02:00
}
2023-01-19 18:03:52 +01:00
2023-06-10 16:46:55 +02:00
/** Just general styling of elements */
#content-container {
background-color: var(--color-base);
position: absolute;
top: 0;
left: var(--sidebar-size);
right: 0;
bottom: 0;
2022-08-16 15:22:03 +02:00
2023-06-10 16:46:55 +02:00
-moz-transition: left 0.5s ease;
transition: left 0.5s ease;
2022-08-16 15:22:03 +02:00
2023-06-10 16:46:55 +02:00
padding: 0 25px;
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
.album-cover {
padding: 5px;
margin: 5px;
border-radius: 3px;
background-color: inherit;
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
.album-cover:hover {
background-color: var(--color-base);
2022-08-16 15:22:03 +02:00
}
2022-12-22 18:20:41 +01:00
2023-06-10 16:46:55 +02:00
/** Sidebar toggle */
#sidebar {
background-color: var(--color-mantle);
width: var(--sidebar-size);
position: fixed;
top: 0;
left: 0;
bottom: 0;
2022-12-22 18:20:41 +01:00
}
2023-01-19 18:03:52 +01:00
2023-06-10 16:46:55 +02:00
#slide {
padding: 10px 6px 3px 10px;
2023-01-19 18:03:52 +01:00
border-radius: 3px;
2023-06-10 16:46:55 +02:00
background-color: var(--color-crust);
color: var(--color-blue);
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
#slide-sidebar {
display: none;
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
input:checked#slide-sidebar~#content-container {
left: 0;
overflow: unset;
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
input:checked#slide-sidebar~#sidebar {
display: none;
transition: display 0s 0.5s;
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
input:checked#slide-sidebar~label {
left: 10px;
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
#slide-sidebar~label {
z-index: 1;
position: absolute;
top: 20px;
left: calc(var(--sidebar-size) + 10px);
background-color: var(--color-base);
-moz-transition: left 0.5s ease;
transition: left 0.5s ease;
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
/** Albums: users */
#album-header {
display: flex;
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
section#users {
display: flex;
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
#header-actions {
align-self: center;
margin-left: auto;
margin-right: 0;
display: flex;
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
.user-profile-picture,
.dropdown {
2022-08-16 15:22:03 +02:00
margin: 3px;
2023-06-10 16:46:55 +02:00
width: 30px;
height: 30px;
text-align: center;
line-height: 30px;
2022-08-16 15:22:03 +02:00
2022-12-18 21:39:14 +01:00
border-radius: 5px;
2023-06-10 16:46:55 +02:00
font-weight: 600;
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
.user-profile-picture {
color: var(--color-mantle);
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
.dropdown {
background-color: var(--color-surface1);
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
/** Partitions Grid */
2022-08-16 15:22:03 +02:00
#partitions-grid {
2023-06-10 16:46:55 +02:00
margin-top: 50px;
2022-12-19 10:04:50 +01:00
display: grid;
grid-template-columns: repeat(auto-fill, 200px);
justify-content: center;
2023-06-10 16:46:55 +02:00
overflow-x: scroll;
2022-12-19 10:04:50 +01:00
}
#partitions-grid a {
text-decoration: none;
2022-08-16 15:22:03 +02:00
}
2022-08-17 09:44:31 +02:00
#search-partitions-grid {
display: flex;
overflow-x: scroll;
}
2023-06-10 16:46:55 +02:00
.partition {
background-color: var(--color-surface0);
width: 178px;
margin: 15px 0;
border-radius: 5px;
2022-08-16 15:22:03 +02:00
}
2023-06-10 16:46:55 +02:00
img.partition-thumbnail {
border-radius: 5px 5px 0 0;
height: 178px;
width: 178px;
background-color: var(--color-surface2);
2022-08-16 18:13:00 +02:00
}
2023-06-10 16:46:55 +02:00
.partition {
color: var(--color-text);
}
2023-06-10 16:46:55 +02:00
.partition-author {
font-style: italic;
font-size: .9rem;
}
2023-06-10 16:46:55 +02:00
.partition-description {
padding: 3px;
min-height: 50px;
}
2023-06-11 21:33:54 +02:00
.edit-button {
float: right;
transform: translateX(-96%) translateY(-162%);
padding: 2%;
border-radius: 3px;
box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.2);
background-color: var(--color-blue);
}
2023-06-10 16:46:55 +02:00
/** Sidebar: "settings" */
#albums {
overflow: scroll;
height: 70vh;
2022-08-18 14:54:55 +02:00
}
#albums div {
padding: 5px;
}
2023-06-10 16:46:55 +02:00
.user {
display: flex;
}
2022-12-22 18:20:41 +01:00
2023-06-10 16:46:55 +02:00
.username {
margin-top: 7px;
margin-left: 5px;
}
2022-12-19 18:27:03 +01:00
2023-06-11 21:33:54 +02:00
#settings-container button {
2023-06-10 16:46:55 +02:00
background-color: inherit;
2023-06-11 21:33:54 +02:00
color: var(--color-text);
2023-06-10 16:46:55 +02:00
border-style: none;
border-radius: 3px;
font-size: .9rem;
width: -moz-available;
padding: 5px;
2022-08-18 14:54:55 +02:00
}
2023-06-11 21:33:54 +02:00
#settings-container button:hover {
2023-06-10 16:46:55 +02:00
background-color: var(--color-crust);
2022-08-30 21:39:02 +02:00
}
2023-06-10 16:46:55 +02:00
#settings-container {
position: fixed;
bottom: 0;
background-color: var(--color-base);
width: 180px; /*TODO width: calc(var-(--sidebar-size) - 20px); ?*/
padding: 5px;
margin: 5px;
2022-12-18 21:39:14 +01:00
2022-08-30 21:39:02 +02:00
border-radius: 3px;
}
2023-06-11 21:33:54 +02:00
/* Danger buttons */
button#logout:hover, a#delete-album:hover {
2023-06-10 16:46:55 +02:00
background-color: var(--color-red);
color: var(--color-mantle);
}
2023-06-11 21:33:54 +02:00
button#logout, a#delete-album {
2023-06-10 16:46:55 +02:00
color: var(--color-red);
}
button#logout>svg {
scale: 0.9;
position: absolute;
top: 7px;
left: 10px;
}
#settings-container>.user {
margin-top: 6px;
2022-08-31 13:54:13 +02:00
border-radius: 3px;
}
2023-06-10 16:46:55 +02:00
#settings-container>.user:hover {
background-color: var(--color-mantle);
2022-08-30 21:39:02 +02:00
}
2023-06-10 16:46:55 +02:00
/** Dropdown */
2022-08-30 21:39:02 +02:00
.dropdown-content {
display: none;
position: absolute;
2023-06-10 16:46:55 +02:00
z-index: 2;
background-color: var(--color-surface1);
font-size: 0.9rem;
transform: translateX(-130px);
2022-08-30 21:39:02 +02:00
min-width: 160px;
2023-06-10 16:46:55 +02:00
border-radius: 3px;
2023-06-11 21:33:54 +02:00
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
2022-08-30 21:39:02 +02:00
}
2023-06-10 16:46:55 +02:00
.dropdown:hover .dropdown-content {
2022-08-30 21:39:02 +02:00
display: block;
2023-06-10 16:46:55 +02:00
width: unset;
2022-08-30 21:39:02 +02:00
}
2023-06-11 21:33:54 +02:00
.dropdown-content > a:hover {
2023-06-10 16:46:55 +02:00
background-color: var(--color-surface0);
2022-08-30 21:39:02 +02:00
}
2023-06-10 16:46:55 +02:00
.dropdown-content > a {
color: var(--color-text);
2023-06-11 21:33:54 +02:00
padding: 3px 0;
display: block;
border-radius: inherit;
2022-08-30 21:39:02 +02:00
}
2023-06-10 16:46:55 +02:00
/** Dialogs */
dialog {
display: none;
z-index: 3;
/* Geometry */
top: 0;
border-width: 2px;
border-radius: 3px;
/* Colors */
background-color: var(--color-crust);
color: var(--color-text);
border-color: var(--color-lavender);
min-width: 75vw;
2022-08-31 13:54:13 +02:00
}
2023-06-10 16:46:55 +02:00
.close-dialog {
float: right;
2022-08-31 13:54:13 +02:00
}
2023-06-10 16:46:55 +02:00
dialog:target {
display: block;
2022-08-31 13:54:13 +02:00
}
2023-06-10 16:46:55 +02:00
dialog:target ~ .mask {
display: block;
2022-08-31 13:54:13 +02:00
}
2023-06-10 16:46:55 +02:00
.mask {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background-color: var(--color-crust);
z-index: 1;
opacity: 50%;
2022-12-18 21:39:14 +01:00
}
2023-06-10 16:46:55 +02:00
/** Forms */
input[type="text"],
input[type="search"],
select,
textarea {
padding: 7px;
background-color: var(--color-surface1);
color: var(--color-text);
margin: 3px;
2022-12-22 18:20:41 +01:00
2023-06-10 16:46:55 +02:00
border-radius: 3px;
border-width: 0;
border-style: unset;
2022-12-18 22:40:07 +01:00
}
2023-06-10 16:46:55 +02:00
textarea {
resize: vertical;
2022-12-19 15:19:58 +01:00
}
2023-06-10 16:46:55 +02:00
input[type="submit"] {
padding: 10px 20px;
border: none;
border-radius: 3px;
margin: 5px;
background-color: var(--color-blue);
color: var(--color-base);
cursor: pointer;
2022-12-19 15:19:58 +01:00
}
2023-06-10 16:46:55 +02:00
/* Styles for input[type="file"] */
input[type="file"] {
padding: 7px 20px;
border: none;
border-radius: 3px;
margin: 3px;
background-color: var(--color-blue);
color: var(--color-base);
cursor: pointer;
2022-12-19 15:19:58 +01:00
}
2023-06-10 16:46:55 +02:00
/** Search bar */
#search-form {
margin: 10px;
2022-12-19 15:19:58 +01:00
}
2023-06-10 16:46:55 +02:00
#search-bar {
width: -moz-available;
}
#search-submit {
padding: 5px 5px;
2023-06-11 21:33:54 +02:00
}
/** Flashed messages */
.flash {
margin: 1em;
padding: 1em;
background: var(--color-mantle);
border: 2px solid var(--color-lavender);
border-radius: 3px;
2022-12-18 22:40:07 +01:00
}