From 0eacbc0ea2b50868d1127bc9a5265d4352632e58 Mon Sep 17 00:00:00 2001
From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
Date: Sat, 25 Jan 2025 16:54:43 +1100
Subject: media: make popdown window
---
assets/icons/caelestia-consecutive-symbolic.svg | 5 +
assets/icons/caelestia-no-repeat-symbolic.svg | 6 +
assets/icons/caelestia-pause-symbolic.svg | 8 ++
assets/icons/caelestia-play-symbolic.svg | 5 +
assets/icons/caelestia-repeat-one-symbolic.svg | 5 +
assets/icons/caelestia-repeat-symbolic.svg | 5 +
assets/icons/caelestia-shuffle-symbolic.svg | 5 +
assets/icons/caelestia-skip-next-symbolic.svg | 8 ++
assets/icons/caelestia-skip-previous-symbolic.svg | 8 ++
scss/popdowns/index.scss | 1 +
scss/popdowns/media.scss | 113 +++++++++++++++++
src/modules/bar.tsx | 4 +-
src/modules/popdowns/index.tsx | 2 +
src/modules/popdowns/media.tsx | 140 ++++++++++++++++++++++
14 files changed, 313 insertions(+), 2 deletions(-)
create mode 100644 assets/icons/caelestia-consecutive-symbolic.svg
create mode 100644 assets/icons/caelestia-no-repeat-symbolic.svg
create mode 100644 assets/icons/caelestia-pause-symbolic.svg
create mode 100644 assets/icons/caelestia-play-symbolic.svg
create mode 100644 assets/icons/caelestia-repeat-one-symbolic.svg
create mode 100644 assets/icons/caelestia-repeat-symbolic.svg
create mode 100644 assets/icons/caelestia-shuffle-symbolic.svg
create mode 100644 assets/icons/caelestia-skip-next-symbolic.svg
create mode 100644 assets/icons/caelestia-skip-previous-symbolic.svg
create mode 100644 scss/popdowns/media.scss
create mode 100644 src/modules/popdowns/media.tsx
diff --git a/assets/icons/caelestia-consecutive-symbolic.svg b/assets/icons/caelestia-consecutive-symbolic.svg
new file mode 100644
index 0000000..5b18fd2
--- /dev/null
+++ b/assets/icons/caelestia-consecutive-symbolic.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/assets/icons/caelestia-no-repeat-symbolic.svg b/assets/icons/caelestia-no-repeat-symbolic.svg
new file mode 100644
index 0000000..f878db7
--- /dev/null
+++ b/assets/icons/caelestia-no-repeat-symbolic.svg
@@ -0,0 +1,6 @@
+
+
diff --git a/assets/icons/caelestia-pause-symbolic.svg b/assets/icons/caelestia-pause-symbolic.svg
new file mode 100644
index 0000000..8012654
--- /dev/null
+++ b/assets/icons/caelestia-pause-symbolic.svg
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/assets/icons/caelestia-play-symbolic.svg b/assets/icons/caelestia-play-symbolic.svg
new file mode 100644
index 0000000..8745847
--- /dev/null
+++ b/assets/icons/caelestia-play-symbolic.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/assets/icons/caelestia-repeat-one-symbolic.svg b/assets/icons/caelestia-repeat-one-symbolic.svg
new file mode 100644
index 0000000..ee38bb6
--- /dev/null
+++ b/assets/icons/caelestia-repeat-one-symbolic.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/assets/icons/caelestia-repeat-symbolic.svg b/assets/icons/caelestia-repeat-symbolic.svg
new file mode 100644
index 0000000..fc514b7
--- /dev/null
+++ b/assets/icons/caelestia-repeat-symbolic.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/assets/icons/caelestia-shuffle-symbolic.svg b/assets/icons/caelestia-shuffle-symbolic.svg
new file mode 100644
index 0000000..232eaac
--- /dev/null
+++ b/assets/icons/caelestia-shuffle-symbolic.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/assets/icons/caelestia-skip-next-symbolic.svg b/assets/icons/caelestia-skip-next-symbolic.svg
new file mode 100644
index 0000000..1d4721c
--- /dev/null
+++ b/assets/icons/caelestia-skip-next-symbolic.svg
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/assets/icons/caelestia-skip-previous-symbolic.svg b/assets/icons/caelestia-skip-previous-symbolic.svg
new file mode 100644
index 0000000..10d0e59
--- /dev/null
+++ b/assets/icons/caelestia-skip-previous-symbolic.svg
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/scss/popdowns/index.scss b/scss/popdowns/index.scss
index 7f16c24..748ddd3 100644
--- a/scss/popdowns/index.scss
+++ b/scss/popdowns/index.scss
@@ -2,3 +2,4 @@
@forward "updates";
@forward "bluetoothdevices";
@forward "networks";
+@forward "media";
diff --git a/scss/popdowns/media.scss b/scss/popdowns/media.scss
new file mode 100644
index 0000000..998c269
--- /dev/null
+++ b/scss/popdowns/media.scss
@@ -0,0 +1,113 @@
+@use "sass:color";
+@use "../scheme";
+@use "../lib";
+@use "../font";
+
+$-accent: scheme.$lavender;
+$-accent2: scheme.$pink;
+
+.media {
+ @include lib.rounded(8);
+ @include lib.border($-accent, 0.4, 2);
+ @include lib.shadow;
+ @include font.mono;
+
+ background-color: scheme.$base;
+ color: $-accent;
+ padding: lib.s(12);
+ font-size: lib.s(14);
+ min-width: lib.s(500);
+ min-height: lib.s(220);
+
+ .icon {
+ font-size: lib.s(32);
+ }
+
+ .overlay {
+ @include lib.rounded(5);
+
+ background-color: color.change(scheme.$base, $alpha: 0.8);
+ }
+
+ .background {
+ @include lib.rounded(5);
+
+ transition: background 300ms ease-in-out;
+ background-color: scheme.$surface0;
+ background-position: center;
+ background-size: cover;
+ background-repeat: no-repeat;
+ }
+
+ .player {
+ padding: lib.s(35) lib.s(12);
+ font-weight: bold;
+
+ @include lib.spacing(10, true);
+
+ .title {
+ font-size: lib.s(18);
+ }
+
+ .artist {
+ color: scheme.$green;
+ }
+
+ .album {
+ color: $-accent2;
+ }
+
+ .controls {
+ margin-top: lib.s(3);
+
+ @include lib.spacing(10);
+
+ button {
+ @include lib.rounded(4);
+ @include lib.element-decel;
+ @include lib.border(scheme.$base, 0.7);
+
+ padding: lib.s(5) lib.s(12);
+ font-size: lib.s(18);
+ background-color: $-accent;
+ color: scheme.$base;
+
+ &:disabled {
+ background-color: scheme.$overlay2;
+ }
+
+ &:hover,
+ &:focus {
+ background-color: color.change($-accent, $alpha: 0.8);
+ }
+
+ &:active {
+ background-color: color.change($-accent, $alpha: 0.6);
+ }
+ }
+ }
+
+ // Progress bar
+ trough {
+ @include lib.rounded(3);
+
+ margin-top: lib.s(10);
+ background-color: scheme.$surface0;
+
+ highlight {
+ @include lib.rounded(3);
+
+ background-color: $-accent2;
+ padding: lib.s(3) 0;
+ }
+
+ slider {
+ @include lib.rounded(3);
+
+ background-color: scheme.$overlay0;
+ min-width: lib.s(15);
+ min-height: lib.s(15);
+ }
+ }
+ }
+}
diff --git a/src/modules/bar.tsx b/src/modules/bar.tsx
index 60471ca..c7f168e 100644
--- a/src/modules/bar.tsx
+++ b/src/modules/bar.tsx
@@ -87,9 +87,9 @@ const MediaPlaying = () => {
players.lastPlayer ? `${players.lastPlayer.title} - ${players.lastPlayer.artist}` : fallback;
return (