diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-03-25 12:59:51 +1100 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-03-25 12:59:51 +1100 |
| commit | fe978092e8c13b337eb4e58b9b08b9ea5cc93413 (patch) | |
| tree | 3138398d1a9386f858948d97eb33a69c0a9ea4c1 /scss/sidebar.scss | |
| parent | notifpopups: destroy event wrapper (diff) | |
| download | caelestia-shell-fe978092e8c13b337eb4e58b9b08b9ea5cc93413.tar.gz caelestia-shell-fe978092e8c13b337eb4e58b9b08b9ea5cc93413.tar.bz2 caelestia-shell-fe978092e8c13b337eb4e58b9b08b9ea5cc93413.zip | |
sidebar: create dashboard
Diffstat (limited to 'scss/sidebar.scss')
| -rw-r--r-- | scss/sidebar.scss | 221 |
1 files changed, 221 insertions, 0 deletions
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); + } + } + } + } + } +} |