From 69cefa57ffbaa643234256f9dde5d758e81e933a Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Mon, 10 Jun 2024 03:24:48 +0200 Subject: [PATCH] Added dark theme. Fixed actor country aggregation. --- assets/css/inputs.css | 28 +++--- assets/css/theme.css | 49 +++++++++++ assets/css/tooltip.css | 10 +-- components/actors/actors.vue | 1 + components/alerts/create.vue | 12 +-- components/dialog/dialog.vue | 4 +- components/entities/tile.vue | 2 +- components/filters/birthdate.vue | 2 +- components/filters/channels.vue | 2 +- components/filters/countries.vue | 6 +- components/filters/filters.vue | 42 ++++----- components/filters/gender.vue | 5 +- components/footer/footer.vue | 6 +- components/form/checkbox.vue | 2 +- components/form/range.vue | 7 +- components/header/header.vue | 122 +++++++++++++++++++++------ components/header/notifications.vue | 14 +-- components/icon/icon.vue | 2 +- components/movies/tile.vue | 6 +- components/pagination/pagination.vue | 8 +- components/scenes/scenes.vue | 2 +- components/scenes/tile.vue | 4 +- components/sidebar/sidebar.vue | 4 +- components/stashes/heart.vue | 2 +- components/stashes/tile.vue | 14 +-- pages/auth/login/+Page.vue | 2 +- pages/auth/signup/+Page.vue | 2 +- pages/entities/+Page.vue | 6 +- pages/movies/@movieId/+Page.vue | 4 +- pages/scene/+Page.vue | 21 +++-- pages/search/+Page.vue | 2 +- pages/series/@serieId/+Page.vue | 4 +- pages/tags/+Page.vue | 6 +- pages/users/@username/+Page.vue | 18 ++-- renderer/app.js | 2 +- renderer/container.vue | 9 ++ src/actors.js | 9 +- src/web/server.js | 11 +++ 38 files changed, 299 insertions(+), 153 deletions(-) diff --git a/assets/css/inputs.css b/assets/css/inputs.css index 4556e4a..923cc61 100644 --- a/assets/css/inputs.css +++ b/assets/css/inputs.css @@ -3,9 +3,10 @@ padding: .5rem .75rem; font-size: 1rem; flex-basis: 0; - border: solid 1px var(--grey-light-30); + color: inherit; + border: solid 1px var(--glass-weak-30); border-radius: .25rem; - background: var(--grey-light-60); + background: var(--background-base-10); font: inherit; &:focus { @@ -31,14 +32,14 @@ border-radius: .25rem; background: var(--background); box-shadow: 0 0 3px var(--shadow-weak-30); - color: var(--shadow-strong-20); + color: var(--glass); font-size: .9rem; font-weight: bold; .icon { height: auto; padding: 0 .75rem 0 .25rem; - fill: var(--shadow-strong-10); + fill: var(--glass); } &:hover { @@ -70,7 +71,7 @@ } &:disabled { - background: var(--shadow-weak-10); + background: var(--glass); } } @@ -84,7 +85,7 @@ } &:disabled { - background: var(--shadow-weak-10); + background: var(--glass); } } @@ -118,7 +119,7 @@ .button-cancel { background: none; - color: var(--shadow-strong-10); + color: var(--glass); font-weight: normal; &:hover:not(:disabled) { @@ -127,7 +128,7 @@ } &:disabled { - color: var(--shadow-weak-10); + color: var(--glass); } } @@ -137,7 +138,6 @@ .filter-section { width: 100%; - border-bottom: solid 1px var(--shadow-hint); margin-bottom: .25rem; } @@ -209,7 +209,7 @@ min-width: 1.5rem; flex-shrink: 0; padding: 0 .5rem; - color: var(--shadow); + color: var(--glass); font-weight: bold; font-size: .9rem; @@ -218,7 +218,7 @@ } .icon { - fill: var(--shadow); + fill: var(--glass); } &:hover { @@ -246,7 +246,7 @@ display: flex; justify-content: space-between; padding: .5rem 0 .25rem .25rem; - color: var(--shadow); + color: var(--glass); font-weight: bold; font-size: .9rem; @@ -272,8 +272,8 @@ height: 1.25rem; appearance: none; border-radius: 1rem; - background-color: var(--shadow-weak-40); - background-image: radial-gradient(circle, var(--shadow-weak-10) .3rem, transparent calc(.3rem + 1px)); + background-color: var(--glass-weak-40); + background-image: radial-gradient(circle, var(--glass-weak-10) .3rem, transparent calc(.3rem + 1px)); cursor: pointer; &::-webkit-slider-thumb { diff --git a/assets/css/theme.css b/assets/css/theme.css index 7b84643..f91e6ca 100644 --- a/assets/css/theme.css +++ b/assets/css/theme.css @@ -49,6 +49,16 @@ --highlight-strong-20: rgba(255, 255, 255, .75); --highlight-strong-30: rgba(255, 255, 255, .9); + --glass-weak-50: rgba(0, 0, 0, .02); + --glass-weak-40: rgba(0, 0, 0, .05); + --glass-weak-30: rgba(0, 0, 0, .1); + --glass-weak-20: rgba(0, 0, 0, .2); + --glass-weak-10: rgba(0, 0, 0, .35); + --glass: rgba(0, 0, 0, .5); + --glass-strong-10: rgba(0, 0, 0, .6); + --glass-strong-20: rgba(0, 0, 0, .75); + --glass-strong-30: rgba(0, 0, 0, .9); + --text: #222; --text-light: #fff; @@ -71,3 +81,42 @@ --gold: #d5b522; } + +.dark { + --background-dark-20: #000; + --background-dark-10: #111; + --background: #222; + + --background-base: #252525; + --background-base-10: #1a1a1a; + --background-base-20: #050505; + --background-level-10: #fff; + --background-level-20: #eee; + --background-level-30: #eee; + --background-dim: var(--shadow-weak-10); + + --text: #fcfcfc; + + --glass-weak-50: rgba(255, 255, 255, .02); + --glass-weak-40: rgba(255, 255, 255, .05); + --glass-weak-30: rgba(255, 255, 255, .1); + --glass-weak-20: rgba(255, 255, 255, .2); + --glass-weak-10: rgba(255, 255, 255, .35); + --glass: rgba(255, 255, 255, .5); + --glass-strong-10: rgba(255, 255, 255, .6); + --glass-strong-20: rgba(255, 255, 255, .75); + --glass-strong-30: rgba(255, 255, 255, .9); + + --grey-dark-50: #101010; + --grey-dark-40: #1f1f1f; + --grey-dark-30: #3c3c3c; + --grey-dark-20: #606060; + --grey-dark-10: #808080; + --grey: #aaa; + --grey-light-10: #bbb; + --grey-light-20: #ccc; + --grey-light-30: #ddd; + --grey-light-40: #eee; + --grey-light-50: #fafafa; + --grey-light-60: #fcfcfc; +} diff --git a/assets/css/tooltip.css b/assets/css/tooltip.css index 91792eb..a3f8471 100644 --- a/assets/css/tooltip.css +++ b/assets/css/tooltip.css @@ -177,20 +177,20 @@ /* Dropdown */ .v-popper--theme-dropdown .v-popper__inner { - background: #fff; - color: black; + background: var(--background); + color: var(--text); border-radius: 6px; - border: 1px solid #ddd; + border: solid 1px var(--glass-weak-40); box-shadow: 0 6px 30px rgba(0, 0, 0, .1); } .v-popper--theme-dropdown .v-popper__arrow-inner { visibility: visible; - border-color: #fff; + border-color: var(--background); } .v-popper--theme-dropdown .v-popper__arrow-outer { - border-color: #ddd; + border-color: var(--glass-weak-40); } .resize-observer { diff --git a/components/actors/actors.vue b/components/actors/actors.vue index 9b8789c..69df14a 100644 --- a/components/actors/actors.vue +++ b/components/actors/actors.vue @@ -266,6 +266,7 @@ function updateFilter(prop, value, reload = true) { min-height: 100%; display: flex; align-items: stretch; + background: var(--background-base-10); } .actors-container { diff --git a/components/alerts/create.vue b/components/alerts/create.vue index 4d875ac..031c889 100644 --- a/components/alerts/create.vue +++ b/components/alerts/create.vue @@ -568,14 +568,14 @@ function selectStash(selectedStash) { flex-shrink: 0; width: 3.5rem; font-size: .9rem; - color: var(--shadow); + color: var(--glass); &.item-logic { width: 2.75rem; } .icon { - fill: var(--shadow); + fill: var(--glass); } } @@ -586,11 +586,11 @@ function selectStash(selectedStash) { flex-grow: 1; gap: .5rem 0; padding: .5rem 0; - border-bottom: solid 1px var(--shadow-weak-40); + border-bottom: solid 1px var(--glass-weak-40); &.or .field-item::before, &.and .field-item::before { - color: var(--shadow); + color: var(--glass); padding: 0 .5rem; } @@ -621,7 +621,7 @@ function selectStash(selectedStash) { right: -.5rem; padding: .2rem; border-radius: 1rem; - fill: var(--shadow); + fill: var(--glass); background: var(--background); box-shadow: 0 0 3px var(--shadow-weak-20); @@ -681,7 +681,7 @@ function selectStash(selectedStash) { display: flex; justify-content: space-between; padding: .5rem 1rem; - border-bottom: solid 1px var(--shadow-weak-40); + border-bottom: solid 1px var(--glass-weak-40); } .field-items { diff --git a/components/dialog/dialog.vue b/components/dialog/dialog.vue index d75739b..13ff4b4 100644 --- a/components/dialog/dialog.vue +++ b/components/dialog/dialog.vue @@ -1,5 +1,5 @@