From fe978092e8c13b337eb4e58b9b08b9ea5cc93413 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Tue, 25 Mar 2025 12:59:51 +1100 Subject: sidebar: create dashboard --- scss/common.scss | 21 ----- scss/notifpopups.scss | 8 +- scss/sidebar.scss | 221 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 225 insertions(+), 25 deletions(-) create mode 100644 scss/sidebar.scss (limited to 'scss') diff --git a/scss/common.scss b/scss/common.scss index 88f3326..1cf7249 100644 --- a/scss/common.scss +++ b/scss/common.scss @@ -61,25 +61,4 @@ label.icon { font-size: lib.s(14); color: scheme.$subtext0; } - - .actions { - @include lib.spacing; - - & > * { - @include lib.rounded(5); - @include lib.element-decel; - - padding: lib.s(5) lib.s(10); - background-color: scheme.$surface0; - - &:hover, - &:focus { - background-color: scheme.$surface1; - } - - &:active { - background-color: scheme.$surface2; - } - } - } } diff --git a/scss/notifpopups.scss b/scss/notifpopups.scss index c4760b7..89e5eea 100644 --- a/scss/notifpopups.scss +++ b/scss/notifpopups.scss @@ -3,7 +3,7 @@ @use "lib"; @use "font"; -@mixin popup($colour, $alpha) { +@mixin popup($colour) { .separator { background-color: $colour; } @@ -29,16 +29,16 @@ @include lib.shadow; &.low { - @include popup(scheme.$overlay0, 0.3); + @include popup(scheme.$overlay0); } &.normal { - @include popup(scheme.$primary, 0.3); + @include popup(scheme.$primary); } &.critical { @include lib.border(scheme.$error, 0.5); - @include popup(scheme.$error, 0.8); + @include popup(scheme.$error); } } } diff --git a/scss/sidebar.scss b/scss/sidebar.scss new file mode 100644 index 0000000..84d1d61 --- /dev/null +++ b/scss/sidebar.scss @@ -0,0 +1,221 @@ +@use "sass:color"; +@use "scheme"; +@use "lib"; +@use "font"; + +@mixin notification($accent) { + .separator { + background-color: $accent; + } + + .image { + @include lib.border($accent, 0.05); + } +} + +.sidebar { + @include font.mono; + + background-color: scheme.$mantle; + color: scheme.$text; + padding: lib.s(18) lib.s(20); + min-width: lib.s(380); + + .pane { + @include lib.spacing(20, true); + } + + .separator { + background-color: if(scheme.$light, scheme.$surface1, scheme.$overlay0); + margin: 0 lib.s(10); + } + + .user { + @include lib.spacing(15); + + .face { + @include lib.rounded(10); + + background-position: center; + background-repeat: no-repeat; + background-size: cover; + min-width: lib.s(96); + min-height: lib.s(96); + font-size: lib.s(48); + font-weight: bold; + background-color: scheme.$base; + } + + .details { + font-size: lib.s(14); + color: scheme.$yellow; + + @include lib.spacing(8, true); + + .name { + font-size: lib.s(18); + color: scheme.$text; + margin-bottom: lib.s(10); + } + + .uptime { + color: scheme.$blue; + } + } + } + + .media { + @include lib.spacing(15); + + .cover-art { + @include lib.rounded(10); + @include lib.element-decel; + + background-position: center; + background-repeat: no-repeat; + background-size: cover; + min-width: lib.s(128); + min-height: lib.s(128); + font-size: lib.s(64); + font-weight: bold; + background-color: scheme.$base; + } + + .details { + font-size: lib.s(14); + + .title { + font-size: lib.s(16); + color: scheme.$text; + } + + .artist { + color: scheme.$green; + } + + .controls { + margin-top: lib.s(20); + margin-bottom: lib.s(5); + font-size: lib.s(24); + + & > * { + @include lib.element-decel; + + &:disabled { + color: scheme.$overlay0; + } + + &:hover, + &:focus { + color: scheme.$subtext0; + } + + &:active { + color: scheme.$overlay2; + } + } + } + + .slider { + @include lib.rounded(5); + @include lib.fluent-decel(1000ms); + + min-height: lib.s(8); + background-color: scheme.$surface0; + color: scheme.$overlay0; + } + + .time { + margin-top: lib.s(5); + font-size: lib.s(13); + color: scheme.$subtext0; + } + } + } + + .notifications { + .header-bar { + margin-bottom: lib.s(10); + margin-right: lib.s(-10); + + @include lib.spacing; + + & > button { + @include lib.element-decel; + @include lib.rounded(10); + + padding: lib.s(3) lib.s(8); + + &:hover, + &:focus { + color: scheme.$subtext0; + } + + &:active { + color: scheme.$overlay2; + } + + &.enabled { + background-color: scheme.$primary; + color: scheme.$base; + + &:hover, + &:focus { + background-color: color.mix(scheme.$primary, scheme.$base, 80%); + } + + &:active { + background-color: color.mix(scheme.$primary, scheme.$base, 70%); + } + } + } + } + + .notification { + .wrapper { + padding-bottom: lib.s(10); + } + + .inner { + @include lib.rounded(20); + + background-color: color.change(scheme.$surface1, $alpha: 0.4); + + &.low { + @include notification(if(scheme.$light, scheme.$surface1, scheme.$overlay0)); + } + + &.normal { + @include lib.border(scheme.$primary, if(scheme.$light, 0.5, 0.3)); + @include notification(scheme.$primary); + } + + &.critical { + @include lib.border(scheme.$error, 0.8); + @include notification(scheme.$error); + } + } + + .actions { + @include lib.spacing; + + & > button { + @include lib.rounded(10); + @include lib.element-decel; + + padding: lib.s(5) lib.s(10); + background-color: color.change(scheme.$surface1, $alpha: 0.5); + + &:hover, + &:focus { + background-color: color.change(scheme.$surface2, $alpha: 0.5); + } + + &:active { + background-color: color.change(scheme.$overlay0, $alpha: 0.5); + } + } + } + } + } +} -- cgit v1.2.3-freya