diff --git a/README.md b/README.md
index b2c388e4..c3c3fcfd 100644
--- a/README.md
+++ b/README.md
@@ -350,4 +350,4 @@ If you are concerned, you can [read the reason of choosing this license](https:/
1. [flutter_new_pipe_extractor](https://github.com/KRTirtho/flutter_new_pipe_extractor) - NewPipeExtractor binding for Flutter (Android only)
-
© Copyright Spotube 2024
+
© Copyright Spotube 2025
diff --git a/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png
index a65caa1b..1be76a28 100644
Binary files a/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png and b/android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png
index 3ad0f47e..3b97041a 100644
Binary files a/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png and b/android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png
index 8774c0ff..2b5a80f8 100644
Binary files a/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png and b/android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png
index a379c006..f066cff5 100644
Binary files a/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png and b/android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png
index 44621df8..d4ec8645 100644
Binary files a/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png and b/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
index f606c4d8..c79c58a3 100644
--- a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
+++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -1,6 +1,9 @@
-
-
+
+
+
diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
index d26a3a6e..c9e5cfad 100644
Binary files a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
index 63d16c60..159b302f 100644
Binary files a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
index fe2957ad..9c81fb60 100644
Binary files a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
index 85c1d793..3450fb00 100644
Binary files a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
index f22fa5cf..f94fd407 100644
Binary files a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/android/app/src/nightly/res/drawable-hdpi-v31/android12branding.png b/android/app/src/nightly/res/drawable-hdpi-v31/android12branding.png
index 9e62c813..22a9b8d3 100644
Binary files a/android/app/src/nightly/res/drawable-hdpi-v31/android12branding.png and b/android/app/src/nightly/res/drawable-hdpi-v31/android12branding.png differ
diff --git a/android/app/src/nightly/res/drawable-hdpi/android12splash.png b/android/app/src/nightly/res/drawable-hdpi/android12splash.png
index 98fd87f4..1d1cb853 100644
Binary files a/android/app/src/nightly/res/drawable-hdpi/android12splash.png and b/android/app/src/nightly/res/drawable-hdpi/android12splash.png differ
diff --git a/android/app/src/nightly/res/drawable-hdpi/branding.png b/android/app/src/nightly/res/drawable-hdpi/branding.png
index 9e62c813..22a9b8d3 100644
Binary files a/android/app/src/nightly/res/drawable-hdpi/branding.png and b/android/app/src/nightly/res/drawable-hdpi/branding.png differ
diff --git a/android/app/src/nightly/res/drawable-hdpi/ic_launcher_foreground.png b/android/app/src/nightly/res/drawable-hdpi/ic_launcher_foreground.png
index 20a57ba2..5ec1a76a 100644
Binary files a/android/app/src/nightly/res/drawable-hdpi/ic_launcher_foreground.png and b/android/app/src/nightly/res/drawable-hdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/nightly/res/drawable-hdpi/splash.png b/android/app/src/nightly/res/drawable-hdpi/splash.png
index 07c7024a..e3869211 100644
Binary files a/android/app/src/nightly/res/drawable-hdpi/splash.png and b/android/app/src/nightly/res/drawable-hdpi/splash.png differ
diff --git a/android/app/src/nightly/res/drawable-mdpi-v31/android12branding.png b/android/app/src/nightly/res/drawable-mdpi-v31/android12branding.png
index 80579983..3ff2a2da 100644
Binary files a/android/app/src/nightly/res/drawable-mdpi-v31/android12branding.png and b/android/app/src/nightly/res/drawable-mdpi-v31/android12branding.png differ
diff --git a/android/app/src/nightly/res/drawable-mdpi/android12splash.png b/android/app/src/nightly/res/drawable-mdpi/android12splash.png
index a86a2222..3f2a1a0a 100644
Binary files a/android/app/src/nightly/res/drawable-mdpi/android12splash.png and b/android/app/src/nightly/res/drawable-mdpi/android12splash.png differ
diff --git a/android/app/src/nightly/res/drawable-mdpi/branding.png b/android/app/src/nightly/res/drawable-mdpi/branding.png
index 80579983..3ff2a2da 100644
Binary files a/android/app/src/nightly/res/drawable-mdpi/branding.png and b/android/app/src/nightly/res/drawable-mdpi/branding.png differ
diff --git a/android/app/src/nightly/res/drawable-mdpi/ic_launcher_foreground.png b/android/app/src/nightly/res/drawable-mdpi/ic_launcher_foreground.png
index 43f5e0fe..059fa82b 100644
Binary files a/android/app/src/nightly/res/drawable-mdpi/ic_launcher_foreground.png and b/android/app/src/nightly/res/drawable-mdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/nightly/res/drawable-mdpi/splash.png b/android/app/src/nightly/res/drawable-mdpi/splash.png
index 86d3fe74..d8f7cc0e 100644
Binary files a/android/app/src/nightly/res/drawable-mdpi/splash.png and b/android/app/src/nightly/res/drawable-mdpi/splash.png differ
diff --git a/android/app/src/nightly/res/drawable-night-hdpi-v31/android12branding.png b/android/app/src/nightly/res/drawable-night-hdpi-v31/android12branding.png
index 9e62c813..22a9b8d3 100644
Binary files a/android/app/src/nightly/res/drawable-night-hdpi-v31/android12branding.png and b/android/app/src/nightly/res/drawable-night-hdpi-v31/android12branding.png differ
diff --git a/android/app/src/nightly/res/drawable-night-hdpi/android12splash.png b/android/app/src/nightly/res/drawable-night-hdpi/android12splash.png
index 98fd87f4..1d1cb853 100644
Binary files a/android/app/src/nightly/res/drawable-night-hdpi/android12splash.png and b/android/app/src/nightly/res/drawable-night-hdpi/android12splash.png differ
diff --git a/android/app/src/nightly/res/drawable-night-mdpi-v31/android12branding.png b/android/app/src/nightly/res/drawable-night-mdpi-v31/android12branding.png
index 80579983..3ff2a2da 100644
Binary files a/android/app/src/nightly/res/drawable-night-mdpi-v31/android12branding.png and b/android/app/src/nightly/res/drawable-night-mdpi-v31/android12branding.png differ
diff --git a/android/app/src/nightly/res/drawable-night-mdpi/android12splash.png b/android/app/src/nightly/res/drawable-night-mdpi/android12splash.png
index a86a2222..3f2a1a0a 100644
Binary files a/android/app/src/nightly/res/drawable-night-mdpi/android12splash.png and b/android/app/src/nightly/res/drawable-night-mdpi/android12splash.png differ
diff --git a/android/app/src/nightly/res/drawable-night-xhdpi-v31/android12branding.png b/android/app/src/nightly/res/drawable-night-xhdpi-v31/android12branding.png
index 0bcf138d..8e2bb197 100644
Binary files a/android/app/src/nightly/res/drawable-night-xhdpi-v31/android12branding.png and b/android/app/src/nightly/res/drawable-night-xhdpi-v31/android12branding.png differ
diff --git a/android/app/src/nightly/res/drawable-night-xhdpi/android12splash.png b/android/app/src/nightly/res/drawable-night-xhdpi/android12splash.png
index ad3f39d0..ba73b0e2 100644
Binary files a/android/app/src/nightly/res/drawable-night-xhdpi/android12splash.png and b/android/app/src/nightly/res/drawable-night-xhdpi/android12splash.png differ
diff --git a/android/app/src/nightly/res/drawable-night-xxhdpi-v31/android12branding.png b/android/app/src/nightly/res/drawable-night-xxhdpi-v31/android12branding.png
index c7d01776..d301093a 100644
Binary files a/android/app/src/nightly/res/drawable-night-xxhdpi-v31/android12branding.png and b/android/app/src/nightly/res/drawable-night-xxhdpi-v31/android12branding.png differ
diff --git a/android/app/src/nightly/res/drawable-night-xxhdpi/android12splash.png b/android/app/src/nightly/res/drawable-night-xxhdpi/android12splash.png
index 133fb647..5e5cdc45 100644
Binary files a/android/app/src/nightly/res/drawable-night-xxhdpi/android12splash.png and b/android/app/src/nightly/res/drawable-night-xxhdpi/android12splash.png differ
diff --git a/android/app/src/nightly/res/drawable-night-xxxhdpi-v31/android12branding.png b/android/app/src/nightly/res/drawable-night-xxxhdpi-v31/android12branding.png
index 5477b799..42b0bdc2 100644
Binary files a/android/app/src/nightly/res/drawable-night-xxxhdpi-v31/android12branding.png and b/android/app/src/nightly/res/drawable-night-xxxhdpi-v31/android12branding.png differ
diff --git a/android/app/src/nightly/res/drawable-night-xxxhdpi/android12splash.png b/android/app/src/nightly/res/drawable-night-xxxhdpi/android12splash.png
index fa5a8c92..adff9bec 100644
Binary files a/android/app/src/nightly/res/drawable-night-xxxhdpi/android12splash.png and b/android/app/src/nightly/res/drawable-night-xxxhdpi/android12splash.png differ
diff --git a/android/app/src/nightly/res/drawable-v21/background.png b/android/app/src/nightly/res/drawable-v21/background.png
index 203fc77a..4bebb9de 100644
Binary files a/android/app/src/nightly/res/drawable-v21/background.png and b/android/app/src/nightly/res/drawable-v21/background.png differ
diff --git a/android/app/src/nightly/res/drawable-v21/launch_background.xml b/android/app/src/nightly/res/drawable-v21/launch_background.xml
index 52e8749e..5367a886 100644
--- a/android/app/src/nightly/res/drawable-v21/launch_background.xml
+++ b/android/app/src/nightly/res/drawable-v21/launch_background.xml
@@ -6,7 +6,7 @@
-
- -
+
-
diff --git a/android/app/src/nightly/res/drawable-xhdpi-v31/android12branding.png b/android/app/src/nightly/res/drawable-xhdpi-v31/android12branding.png
index 0bcf138d..8e2bb197 100644
Binary files a/android/app/src/nightly/res/drawable-xhdpi-v31/android12branding.png and b/android/app/src/nightly/res/drawable-xhdpi-v31/android12branding.png differ
diff --git a/android/app/src/nightly/res/drawable-xhdpi/android12splash.png b/android/app/src/nightly/res/drawable-xhdpi/android12splash.png
index ad3f39d0..ba73b0e2 100644
Binary files a/android/app/src/nightly/res/drawable-xhdpi/android12splash.png and b/android/app/src/nightly/res/drawable-xhdpi/android12splash.png differ
diff --git a/android/app/src/nightly/res/drawable-xhdpi/branding.png b/android/app/src/nightly/res/drawable-xhdpi/branding.png
index 0bcf138d..8e2bb197 100644
Binary files a/android/app/src/nightly/res/drawable-xhdpi/branding.png and b/android/app/src/nightly/res/drawable-xhdpi/branding.png differ
diff --git a/android/app/src/nightly/res/drawable-xhdpi/ic_launcher_foreground.png b/android/app/src/nightly/res/drawable-xhdpi/ic_launcher_foreground.png
index 4cf86d25..5951fd21 100644
Binary files a/android/app/src/nightly/res/drawable-xhdpi/ic_launcher_foreground.png and b/android/app/src/nightly/res/drawable-xhdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/nightly/res/drawable-xhdpi/splash.png b/android/app/src/nightly/res/drawable-xhdpi/splash.png
index dbb0ea02..17a2c373 100644
Binary files a/android/app/src/nightly/res/drawable-xhdpi/splash.png and b/android/app/src/nightly/res/drawable-xhdpi/splash.png differ
diff --git a/android/app/src/nightly/res/drawable-xxhdpi-v31/android12branding.png b/android/app/src/nightly/res/drawable-xxhdpi-v31/android12branding.png
index c7d01776..d301093a 100644
Binary files a/android/app/src/nightly/res/drawable-xxhdpi-v31/android12branding.png and b/android/app/src/nightly/res/drawable-xxhdpi-v31/android12branding.png differ
diff --git a/android/app/src/nightly/res/drawable-xxhdpi/android12splash.png b/android/app/src/nightly/res/drawable-xxhdpi/android12splash.png
index 133fb647..5e5cdc45 100644
Binary files a/android/app/src/nightly/res/drawable-xxhdpi/android12splash.png and b/android/app/src/nightly/res/drawable-xxhdpi/android12splash.png differ
diff --git a/android/app/src/nightly/res/drawable-xxhdpi/branding.png b/android/app/src/nightly/res/drawable-xxhdpi/branding.png
index c7d01776..d301093a 100644
Binary files a/android/app/src/nightly/res/drawable-xxhdpi/branding.png and b/android/app/src/nightly/res/drawable-xxhdpi/branding.png differ
diff --git a/android/app/src/nightly/res/drawable-xxhdpi/ic_launcher_foreground.png b/android/app/src/nightly/res/drawable-xxhdpi/ic_launcher_foreground.png
index 95fa3443..de1a2667 100644
Binary files a/android/app/src/nightly/res/drawable-xxhdpi/ic_launcher_foreground.png and b/android/app/src/nightly/res/drawable-xxhdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/nightly/res/drawable-xxhdpi/splash.png b/android/app/src/nightly/res/drawable-xxhdpi/splash.png
index 12eb5531..db53f016 100644
Binary files a/android/app/src/nightly/res/drawable-xxhdpi/splash.png and b/android/app/src/nightly/res/drawable-xxhdpi/splash.png differ
diff --git a/android/app/src/nightly/res/drawable-xxxhdpi-v31/android12branding.png b/android/app/src/nightly/res/drawable-xxxhdpi-v31/android12branding.png
index 5477b799..42b0bdc2 100644
Binary files a/android/app/src/nightly/res/drawable-xxxhdpi-v31/android12branding.png and b/android/app/src/nightly/res/drawable-xxxhdpi-v31/android12branding.png differ
diff --git a/android/app/src/nightly/res/drawable-xxxhdpi/android12splash.png b/android/app/src/nightly/res/drawable-xxxhdpi/android12splash.png
index fa5a8c92..adff9bec 100644
Binary files a/android/app/src/nightly/res/drawable-xxxhdpi/android12splash.png and b/android/app/src/nightly/res/drawable-xxxhdpi/android12splash.png differ
diff --git a/android/app/src/nightly/res/drawable-xxxhdpi/branding.png b/android/app/src/nightly/res/drawable-xxxhdpi/branding.png
index 5477b799..42b0bdc2 100644
Binary files a/android/app/src/nightly/res/drawable-xxxhdpi/branding.png and b/android/app/src/nightly/res/drawable-xxxhdpi/branding.png differ
diff --git a/android/app/src/nightly/res/drawable-xxxhdpi/ic_launcher_foreground.png b/android/app/src/nightly/res/drawable-xxxhdpi/ic_launcher_foreground.png
index 3de8a2ee..930704c8 100644
Binary files a/android/app/src/nightly/res/drawable-xxxhdpi/ic_launcher_foreground.png and b/android/app/src/nightly/res/drawable-xxxhdpi/ic_launcher_foreground.png differ
diff --git a/android/app/src/nightly/res/drawable-xxxhdpi/splash.png b/android/app/src/nightly/res/drawable-xxxhdpi/splash.png
index 68e806f4..a74c95a4 100644
Binary files a/android/app/src/nightly/res/drawable-xxxhdpi/splash.png and b/android/app/src/nightly/res/drawable-xxxhdpi/splash.png differ
diff --git a/android/app/src/nightly/res/drawable/background.png b/android/app/src/nightly/res/drawable/background.png
index 203fc77a..4bebb9de 100644
Binary files a/android/app/src/nightly/res/drawable/background.png and b/android/app/src/nightly/res/drawable/background.png differ
diff --git a/android/app/src/nightly/res/drawable/launch_background.xml b/android/app/src/nightly/res/drawable/launch_background.xml
index 52e8749e..5367a886 100644
--- a/android/app/src/nightly/res/drawable/launch_background.xml
+++ b/android/app/src/nightly/res/drawable/launch_background.xml
@@ -6,7 +6,7 @@
-
- -
+
-
diff --git a/android/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher.xml
index 83e651db..c79c58a3 100644
--- a/android/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher.xml
+++ b/android/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -1,6 +1,9 @@
-
-
-
-
\ No newline at end of file
+
+
+
+
+
diff --git a/android/app/src/nightly/res/mipmap-hdpi/ic_launcher.png b/android/app/src/nightly/res/mipmap-hdpi/ic_launcher.png
index a826bb73..8164cc67 100644
Binary files a/android/app/src/nightly/res/mipmap-hdpi/ic_launcher.png and b/android/app/src/nightly/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/android/app/src/nightly/res/mipmap-mdpi/ic_launcher.png b/android/app/src/nightly/res/mipmap-mdpi/ic_launcher.png
index 3743861d..bff95e97 100644
Binary files a/android/app/src/nightly/res/mipmap-mdpi/ic_launcher.png and b/android/app/src/nightly/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/android/app/src/nightly/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/nightly/res/mipmap-xhdpi/ic_launcher.png
index 1be1daa7..df515ed1 100644
Binary files a/android/app/src/nightly/res/mipmap-xhdpi/ic_launcher.png and b/android/app/src/nightly/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/android/app/src/nightly/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/nightly/res/mipmap-xxhdpi/ic_launcher.png
index 3a8a7832..e58ef25f 100644
Binary files a/android/app/src/nightly/res/mipmap-xxhdpi/ic_launcher.png and b/android/app/src/nightly/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/android/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher.png
index 781c9c1a..d39a5e64 100644
Binary files a/android/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher.png and b/android/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/assets/spotube-logo-foreground.jpg b/assets/spotube-logo-foreground.jpg
deleted file mode 100644
index 0af774c9..00000000
Binary files a/assets/spotube-logo-foreground.jpg and /dev/null differ
diff --git a/assets/spotube-logo-foreground.png b/assets/spotube-logo-foreground.png
new file mode 100644
index 00000000..621f5973
Binary files /dev/null and b/assets/spotube-logo-foreground.png differ
diff --git a/assets/spotube-logo-item.png b/assets/spotube-logo-item.png
new file mode 100644
index 00000000..476dda29
Binary files /dev/null and b/assets/spotube-logo-item.png differ
diff --git a/assets/spotube-logo-light.png b/assets/spotube-logo-light.png
new file mode 100644
index 00000000..8c86d621
Binary files /dev/null and b/assets/spotube-logo-light.png differ
diff --git a/assets/spotube-logo-macos.png b/assets/spotube-logo-macos.png
index b14a7691..2694b530 100644
Binary files a/assets/spotube-logo-macos.png and b/assets/spotube-logo-macos.png differ
diff --git a/assets/spotube-logo.bmp b/assets/spotube-logo.bmp
index c3503e85..f95df092 100644
Binary files a/assets/spotube-logo.bmp and b/assets/spotube-logo.bmp differ
diff --git a/assets/spotube-logo.ico b/assets/spotube-logo.ico
index 84906308..562110b9 100644
Binary files a/assets/spotube-logo.ico and b/assets/spotube-logo.ico differ
diff --git a/assets/spotube-logo.png b/assets/spotube-logo.png
index b24a8c23..d46d9ce5 100644
Binary files a/assets/spotube-logo.png and b/assets/spotube-logo.png differ
diff --git a/assets/spotube-logo.svg b/assets/spotube-logo.svg
deleted file mode 100644
index 5cd88f8e..00000000
--- a/assets/spotube-logo.svg
+++ /dev/null
@@ -1,349 +0,0 @@
-
-
diff --git a/assets/spotube-logo_android12.png b/assets/spotube-logo_android12.png
index f04e25b0..4af89de4 100644
Binary files a/assets/spotube-logo_android12.png and b/assets/spotube-logo_android12.png differ
diff --git a/assets/spotube-nightly-item.png b/assets/spotube-nightly-item.png
new file mode 100644
index 00000000..61ef1c5d
Binary files /dev/null and b/assets/spotube-nightly-item.png differ
diff --git a/assets/spotube-nightly-logo-foreground.jpg b/assets/spotube-nightly-logo-foreground.jpg
deleted file mode 100644
index a0c849b6..00000000
Binary files a/assets/spotube-nightly-logo-foreground.jpg and /dev/null differ
diff --git a/assets/spotube-nightly-logo-foreground.png b/assets/spotube-nightly-logo-foreground.png
new file mode 100644
index 00000000..f22f54dc
Binary files /dev/null and b/assets/spotube-nightly-logo-foreground.png differ
diff --git a/assets/spotube-nightly-logo-foreground.svg b/assets/spotube-nightly-logo-foreground.svg
new file mode 100644
index 00000000..de2bf370
--- /dev/null
+++ b/assets/spotube-nightly-logo-foreground.svg
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/spotube-nightly-logo.png b/assets/spotube-nightly-logo.png
index ea7a8b20..269aaabc 100644
Binary files a/assets/spotube-nightly-logo.png and b/assets/spotube-nightly-logo.png differ
diff --git a/assets/spotube-nightly-logo.svg b/assets/spotube-nightly-logo.svg
deleted file mode 100644
index 7601108e..00000000
--- a/assets/spotube-nightly-logo.svg
+++ /dev/null
@@ -1,359 +0,0 @@
-
-
diff --git a/assets/spotube-nightly-logo_android12.png b/assets/spotube-nightly-logo_android12.png
index 1a5bf4f1..e5683399 100644
Binary files a/assets/spotube-nightly-logo_android12.png and b/assets/spotube-nightly-logo_android12.png differ
diff --git a/assets/spotube-tall-capsule.png b/assets/spotube-tall-capsule.png
index 43fb8229..53bff791 100644
Binary files a/assets/spotube-tall-capsule.png and b/assets/spotube-tall-capsule.png differ
diff --git a/assets/spotube-wide-capsule-large.png b/assets/spotube-wide-capsule-large.png
index 09a93d83..41614c80 100644
Binary files a/assets/spotube-wide-capsule-large.png and b/assets/spotube-wide-capsule-large.png differ
diff --git a/assets/spotube-wide-capsule-small.png b/assets/spotube-wide-capsule-small.png
index 17566550..e0717dc5 100644
Binary files a/assets/spotube-wide-capsule-small.png and b/assets/spotube-wide-capsule-small.png differ
diff --git a/assets/spotube_banner.png b/assets/spotube_banner.png
index b2be4539..c9450265 100644
Binary files a/assets/spotube_banner.png and b/assets/spotube_banner.png differ
diff --git a/flutter_launcher_icons-nightly.yaml b/flutter_launcher_icons-nightly.yaml
index c6892d4b..770033bd 100644
--- a/flutter_launcher_icons-nightly.yaml
+++ b/flutter_launcher_icons-nightly.yaml
@@ -2,5 +2,5 @@ flutter_launcher_icons:
android: true
ios: true
image_path: "assets/spotube-nightly-logo.png"
- adaptive_icon_foreground: "assets/spotube-nightly-logo-foreground.jpg"
+ adaptive_icon_foreground: "assets/spotube-nightly-logo-foreground.png"
adaptive_icon_background: "#242832"
diff --git a/flutter_launcher_icons.yaml b/flutter_launcher_icons.yaml
index 372117b1..2c558583 100644
--- a/flutter_launcher_icons.yaml
+++ b/flutter_launcher_icons.yaml
@@ -6,7 +6,7 @@ flutter_launcher_icons:
# image_path_android: "assets/icon/icon.png"
min_sdk_android: 21 # android min sdk min:16, default 21
adaptive_icon_background: "#242832"
- adaptive_icon_foreground: "assets/spotube-logo-foreground.jpg"
+ adaptive_icon_foreground: "assets/spotube-logo-foreground.png"
# adaptive_icon_monochrome: "assets/icon/monochrome.png"
ios: true
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index bbfc1404..88a40d6f 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -2135,7 +2135,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly";
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = nightly.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
@@ -2159,7 +2159,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly";
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = nightly.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
@@ -2183,7 +2183,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly";
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = nightly.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
@@ -2207,7 +2207,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly";
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = nightly.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
@@ -2230,7 +2230,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly";
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = nightly.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
@@ -2253,7 +2253,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly";
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = nightly.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
@@ -2276,7 +2276,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly";
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = nightly.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
@@ -2299,7 +2299,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly";
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = nightly.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
@@ -2322,7 +2322,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly";
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = nightly.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
@@ -2472,7 +2472,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly";
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = nightly.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
@@ -2617,7 +2617,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly";
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = nightly.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
@@ -2759,7 +2759,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-nightly";
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = nightly.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
@@ -2781,9 +2781,9 @@
E612EC4A2D0F07AD0022720C /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
- ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = AppIcon;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
@@ -2824,9 +2824,9 @@
E612EC4B2D0F07AD0022720C /* Debug-nightly */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
- ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = AppIcon;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
@@ -2867,9 +2867,9 @@
E612EC4C2D0F07AD0022720C /* Debug-dev */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
- ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = AppIcon;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
@@ -2910,9 +2910,9 @@
E612EC4D2D0F07AD0022720C /* Debug-stable */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
- ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = AppIcon;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
@@ -2953,9 +2953,9 @@
E612EC4E2D0F07AD0022720C /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
- ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = AppIcon;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
@@ -2993,9 +2993,9 @@
E612EC4F2D0F07AD0022720C /* Release-nightly */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
- ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = AppIcon;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
@@ -3033,9 +3033,9 @@
E612EC502D0F07AD0022720C /* Release-dev */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
- ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = AppIcon;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
@@ -3073,9 +3073,9 @@
E612EC512D0F07AD0022720C /* Release-stable */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
- ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = AppIcon;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
@@ -3113,9 +3113,9 @@
E612EC522D0F07AD0022720C /* Profile */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
- ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = AppIcon;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
@@ -3153,9 +3153,9 @@
E612EC532D0F07AD0022720C /* Profile-nightly */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
- ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = AppIcon;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
@@ -3193,9 +3193,9 @@
E612EC542D0F07AD0022720C /* Profile-dev */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
- ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = AppIcon;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
@@ -3233,9 +3233,9 @@
E612EC552D0F07AD0022720C /* Profile-stable */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
- ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
- ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon;
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = AppIcon;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-1024x1024@1x.png
index dbc4596b..2185c35d 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-1024x1024@1x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-1024x1024@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-20x20@1x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-20x20@1x.png
index 4836771d..172bc383 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-20x20@1x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-20x20@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-20x20@2x.png
index 90954ce9..876617d9 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-20x20@2x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-20x20@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-20x20@3x.png
index 9c0ebd5f..fec86d87 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-20x20@3x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-20x20@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-29x29@1x.png
index 94cd79be..fbb0f45a 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-29x29@1x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-29x29@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-29x29@2x.png
index ff70cab7..854e1e45 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-29x29@2x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-29x29@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-29x29@3x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-29x29@3x.png
index 6cdda1b6..420d2a17 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-29x29@3x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-29x29@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-40x40@1x.png
index 90954ce9..876617d9 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-40x40@1x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-40x40@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-40x40@2x.png
index 5184f84f..6b7a608d 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-40x40@2x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-40x40@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-40x40@3x.png
index 57e21a75..d871fa3f 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-40x40@3x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-40x40@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-50x50@1x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-50x50@1x.png
index 93e157b6..e77b38df 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-50x50@1x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-50x50@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-50x50@2x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-50x50@2x.png
index d175beb2..358cb28f 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-50x50@2x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-50x50@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-57x57@1x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-57x57@1x.png
index 6d634c87..87f4290b 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-57x57@1x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-57x57@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-57x57@2x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-57x57@2x.png
index 22da4950..53c10a09 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-57x57@2x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-57x57@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-60x60@2x.png
index 57e21a75..d871fa3f 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-60x60@2x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-60x60@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-60x60@3x.png
index 3cfd01c2..4bb39789 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-60x60@3x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-60x60@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-72x72@1x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-72x72@1x.png
index a826bb73..8164cc67 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-72x72@1x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-72x72@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-72x72@2x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-72x72@2x.png
index 3a8a7832..e58ef25f 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-72x72@2x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-72x72@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-76x76@1x.png
index f233322b..f5e1ae5a 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-76x76@1x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-76x76@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-76x76@2x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-76x76@2x.png
index 2f5b082a..99bd36c9 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-76x76@2x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-76x76@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-83.5x83.5@2x.png
index e4ecc19a..8d199658 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-83.5x83.5@2x.png and b/ios/Runner/Assets.xcassets/AppIcon-nightly.appiconset/AppIcon-nightly-83.5x83.5@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
index 05843b52..d0d98aa1 100644
--- a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -1 +1 @@
-{"images":[{"size":"20x20","idiom":"iphone","filename":"AppIcon-20x20@2x.png","scale":"2x"},{"size":"20x20","idiom":"iphone","filename":"AppIcon-20x20@3x.png","scale":"3x"},{"size":"29x29","idiom":"iphone","filename":"AppIcon-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"iphone","filename":"AppIcon-29x29@2x.png","scale":"2x"},{"size":"29x29","idiom":"iphone","filename":"AppIcon-29x29@3x.png","scale":"3x"},{"size":"40x40","idiom":"iphone","filename":"AppIcon-40x40@2x.png","scale":"2x"},{"size":"40x40","idiom":"iphone","filename":"AppIcon-40x40@3x.png","scale":"3x"},{"size":"50x50","idiom":"ipad","filename":"AppIcon-50x50@1x.png","scale":"1x"},{"size":"50x50","idiom":"ipad","filename":"AppIcon-50x50@2x.png","scale":"2x"},{"size":"57x57","idiom":"iphone","filename":"AppIcon-57x57@1x.png","scale":"1x"},{"size":"57x57","idiom":"iphone","filename":"AppIcon-57x57@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"AppIcon-60x60@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"AppIcon-60x60@3x.png","scale":"3x"},{"size":"20x20","idiom":"ipad","filename":"AppIcon-20x20@1x.png","scale":"1x"},{"size":"20x20","idiom":"ipad","filename":"AppIcon-20x20@2x.png","scale":"2x"},{"size":"29x29","idiom":"ipad","filename":"AppIcon-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"ipad","filename":"AppIcon-29x29@2x.png","scale":"2x"},{"size":"40x40","idiom":"ipad","filename":"AppIcon-40x40@1x.png","scale":"1x"},{"size":"40x40","idiom":"ipad","filename":"AppIcon-40x40@2x.png","scale":"2x"},{"size":"72x72","idiom":"ipad","filename":"AppIcon-72x72@1x.png","scale":"1x"},{"size":"72x72","idiom":"ipad","filename":"AppIcon-72x72@2x.png","scale":"2x"},{"size":"76x76","idiom":"ipad","filename":"AppIcon-76x76@1x.png","scale":"1x"},{"size":"76x76","idiom":"ipad","filename":"AppIcon-76x76@2x.png","scale":"2x"},{"size":"83.5x83.5","idiom":"ipad","filename":"AppIcon-83.5x83.5@2x.png","scale":"2x"},{"size":"1024x1024","idiom":"ios-marketing","filename":"AppIcon-1024x1024@1x.png","scale":"1x"}],"info":{"version":1,"author":"xcode"}}
\ No newline at end of file
+{"images":[{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@3x.png","scale":"3x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@3x.png","scale":"3x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@3x.png","scale":"3x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@1x.png","scale":"1x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@3x.png","scale":"3x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@1x.png","scale":"1x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@1x.png","scale":"1x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@1x.png","scale":"1x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@2x.png","scale":"2x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@1x.png","scale":"1x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@2x.png","scale":"2x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@1x.png","scale":"1x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@2x.png","scale":"2x"},{"size":"83.5x83.5","idiom":"ipad","filename":"Icon-App-83.5x83.5@2x.png","scale":"2x"},{"size":"1024x1024","idiom":"ios-marketing","filename":"Icon-App-1024x1024@1x.png","scale":"1x"}],"info":{"version":1,"author":"xcode"}}
\ No newline at end of file
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
new file mode 100644
index 00000000..59407b44
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
new file mode 100644
index 00000000..5eacaa5f
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
new file mode 100644
index 00000000..bbb9f839
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
new file mode 100644
index 00000000..28d0d8a8
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
new file mode 100644
index 00000000..b1df0e72
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
new file mode 100644
index 00000000..24b76e25
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
new file mode 100644
index 00000000..5c0b6d57
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
new file mode 100644
index 00000000..bbb9f839
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
new file mode 100644
index 00000000..bdc5656b
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
new file mode 100644
index 00000000..c03c89fe
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png
new file mode 100644
index 00000000..40b88968
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png
new file mode 100644
index 00000000..2050f427
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png
new file mode 100644
index 00000000..d1ccab30
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png
new file mode 100644
index 00000000..47c629f3
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
new file mode 100644
index 00000000..c03c89fe
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
new file mode 100644
index 00000000..22d28c12
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png
new file mode 100644
index 00000000..c9e5cfad
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png
new file mode 100644
index 00000000..3450fb00
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
new file mode 100644
index 00000000..3dd3eda3
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
new file mode 100644
index 00000000..2e69c843
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
new file mode 100644
index 00000000..f769eb6e
Binary files /dev/null and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/BrandingImageNightly.imageset/BrandingImage.png b/ios/Runner/Assets.xcassets/BrandingImageNightly.imageset/BrandingImage.png
index 80579983..3ff2a2da 100644
Binary files a/ios/Runner/Assets.xcassets/BrandingImageNightly.imageset/BrandingImage.png and b/ios/Runner/Assets.xcassets/BrandingImageNightly.imageset/BrandingImage.png differ
diff --git a/ios/Runner/Assets.xcassets/BrandingImageNightly.imageset/BrandingImage@2x.png b/ios/Runner/Assets.xcassets/BrandingImageNightly.imageset/BrandingImage@2x.png
index 0bcf138d..8e2bb197 100644
Binary files a/ios/Runner/Assets.xcassets/BrandingImageNightly.imageset/BrandingImage@2x.png and b/ios/Runner/Assets.xcassets/BrandingImageNightly.imageset/BrandingImage@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/BrandingImageNightly.imageset/BrandingImage@3x.png b/ios/Runner/Assets.xcassets/BrandingImageNightly.imageset/BrandingImage@3x.png
index c7d01776..d301093a 100644
Binary files a/ios/Runner/Assets.xcassets/BrandingImageNightly.imageset/BrandingImage@3x.png and b/ios/Runner/Assets.xcassets/BrandingImageNightly.imageset/BrandingImage@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/LaunchBackgroundNightly.imageset/background.png b/ios/Runner/Assets.xcassets/LaunchBackgroundNightly.imageset/background.png
index 203fc77a..4bebb9de 100644
Binary files a/ios/Runner/Assets.xcassets/LaunchBackgroundNightly.imageset/background.png and b/ios/Runner/Assets.xcassets/LaunchBackgroundNightly.imageset/background.png differ
diff --git a/ios/Runner/Assets.xcassets/LaunchImageNightly.imageset/LaunchImage.png b/ios/Runner/Assets.xcassets/LaunchImageNightly.imageset/LaunchImage.png
index 86d3fe74..d8f7cc0e 100644
Binary files a/ios/Runner/Assets.xcassets/LaunchImageNightly.imageset/LaunchImage.png and b/ios/Runner/Assets.xcassets/LaunchImageNightly.imageset/LaunchImage.png differ
diff --git a/ios/Runner/Assets.xcassets/LaunchImageNightly.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImageNightly.imageset/LaunchImage@2x.png
index dbb0ea02..17a2c373 100644
Binary files a/ios/Runner/Assets.xcassets/LaunchImageNightly.imageset/LaunchImage@2x.png and b/ios/Runner/Assets.xcassets/LaunchImageNightly.imageset/LaunchImage@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/LaunchImageNightly.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImageNightly.imageset/LaunchImage@3x.png
index 12eb5531..db53f016 100644
Binary files a/ios/Runner/Assets.xcassets/LaunchImageNightly.imageset/LaunchImage@3x.png and b/ios/Runner/Assets.xcassets/LaunchImageNightly.imageset/LaunchImage@3x.png differ
diff --git a/ios/Runner/Base.lproj/LaunchScreenNightly.storyboard b/ios/Runner/Base.lproj/LaunchScreenNightly.storyboard
index 6869214f..645a417f 100644
--- a/ios/Runner/Base.lproj/LaunchScreenNightly.storyboard
+++ b/ios/Runner/Base.lproj/LaunchScreenNightly.storyboard
@@ -22,7 +22,7 @@
-
+
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index 91b7ad94..8d6c09a2 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -1,82 +1,82 @@
-
- CADisableMinimumFrameDurationOnPhone
-
- CFBundleDevelopmentRegion
- $(DEVELOPMENT_LANGUAGE)
- CFBundleDisplayName
- Spotube
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- CFBundleIdentifier
- $(PRODUCT_BUNDLE_IDENTIFIER)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- spotube
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- $(FLUTTER_BUILD_NAME)
- CFBundleSignature
- ????
- CFBundleVersion
- $(FLUTTER_BUILD_NUMBER)
- LSRequiresIPhoneOS
-
- NSAppTransportSecurity
-
- NSAllowsArbitraryLoads
-
- NSAllowsArbitraryLoadsForMedia
-
-
- NSCameraUsageDescription
- This app require access to the device camera
- NSMicrophoneUsageDescription
- This app does not require access to the device microphone
- NSPhotoLibraryUsageDescription
- This app require access to the photo library
- UIApplicationSupportsIndirectInputEvents
-
- UIBackgroundModes
-
- audio
-
- UILaunchStoryboardName
- LaunchScreen
- UIMainStoryboardFile
- Main
- UIStatusBarHidden
-
- UISupportedInterfaceOrientations
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- UISupportedInterfaceOrientations~ipad
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationPortraitUpsideDown
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- UIViewControllerBasedStatusBarAppearance
-
- NSLocalNetworkUsageDescription
- To allow other devices on the network control playback of Spotube securely.
- NSBonjourServices
-
- _spotube._tcp
-
- UIFileSharingEnabled
-
- LSSupportsOpeningDocumentsInPlace
-
- UISupportsDocumentBrowser
-
-
+
+ CADisableMinimumFrameDurationOnPhone
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleDisplayName
+ Spotube
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ spotube
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ $(FLUTTER_BUILD_NAME)
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ $(FLUTTER_BUILD_NUMBER)
+ LSRequiresIPhoneOS
+
+ NSAppTransportSecurity
+
+ NSAllowsArbitraryLoads
+
+ NSAllowsArbitraryLoadsForMedia
+
+
+ NSCameraUsageDescription
+ This app require access to the device camera
+ NSMicrophoneUsageDescription
+ This app does not require access to the device microphone
+ NSPhotoLibraryUsageDescription
+ This app require access to the photo library
+ UIApplicationSupportsIndirectInputEvents
+
+ UIBackgroundModes
+
+ audio
+
+ UILaunchStoryboardName
+ LaunchScreen
+ UIMainStoryboardFile
+ Main
+ UIStatusBarHidden
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UIViewControllerBasedStatusBarAppearance
+
+ NSLocalNetworkUsageDescription
+ To allow other devices on the network control playback of Spotube securely.
+ NSBonjourServices
+
+ _spotube._tcp
+
+ UIFileSharingEnabled
+
+ LSSupportsOpeningDocumentsInPlace
+
+ UISupportsDocumentBrowser
+
+
diff --git a/lib/collections/assets.gen.dart b/lib/collections/assets.gen.dart
index 004001f2..bcdff548 100644
--- a/lib/collections/assets.gen.dart
+++ b/lib/collections/assets.gen.dart
@@ -151,34 +151,25 @@ class Assets {
static const AssetGenImage spotubeHeroBanner =
AssetGenImage('assets/spotube-hero-banner.png');
static const AssetGenImage spotubeLogoForeground =
- AssetGenImage('assets/spotube-logo-foreground.jpg');
+ AssetGenImage('assets/spotube-logo-foreground.png');
+ static const AssetGenImage spotubeLogoItem =
+ AssetGenImage('assets/spotube-logo-item.png');
+ static const AssetGenImage spotubeLogoLight =
+ AssetGenImage('assets/spotube-logo-light.png');
static const AssetGenImage spotubeLogoMacos =
AssetGenImage('assets/spotube-logo-macos.png');
- static const AssetGenImage spotubeLogoBmp =
- AssetGenImage('assets/spotube-logo.bmp');
- static const String spotubeLogoIco = 'assets/spotube-logo.ico';
- static const AssetGenImage spotubeLogoPng =
+ static const AssetGenImage spotubeLogo =
AssetGenImage('assets/spotube-logo.png');
- static const String spotubeLogoSvg = 'assets/spotube-logo.svg';
static const AssetGenImage spotubeLogoAndroid12 =
AssetGenImage('assets/spotube-logo_android12.png');
- static const AssetGenImage spotubeNightlyLogoForeground =
- AssetGenImage('assets/spotube-nightly-logo-foreground.jpg');
- static const AssetGenImage spotubeNightlyLogoPng =
- AssetGenImage('assets/spotube-nightly-logo.png');
- static const String spotubeNightlyLogoSvg = 'assets/spotube-nightly-logo.svg';
- static const AssetGenImage spotubeNightlyLogoAndroid12 =
- AssetGenImage('assets/spotube-nightly-logo_android12.png');
+ static const AssetGenImage spotubeNightlyItem =
+ AssetGenImage('assets/spotube-nightly-item.png');
+ static const AssetGenImage spotubeNightlyLogoForegroundPng =
+ AssetGenImage('assets/spotube-nightly-logo-foreground.png');
+ static const String spotubeNightlyLogoForegroundSvg =
+ 'assets/spotube-nightly-logo-foreground.svg';
static const AssetGenImage spotubeScreenshot =
AssetGenImage('assets/spotube-screenshot.png');
- static const AssetGenImage spotubeTallCapsule =
- AssetGenImage('assets/spotube-tall-capsule.png');
- static const AssetGenImage spotubeWideCapsuleLarge =
- AssetGenImage('assets/spotube-wide-capsule-large.png');
- static const AssetGenImage spotubeWideCapsuleSmall =
- AssetGenImage('assets/spotube-wide-capsule-small.png');
- static const AssetGenImage spotubeBanner =
- AssetGenImage('assets/spotube_banner.png');
static const AssetGenImage success = AssetGenImage('assets/success.png');
static const $AssetsTutorialGen tutorial = $AssetsTutorialGen();
static const AssetGenImage userPlaceholder =
@@ -197,21 +188,15 @@ class Assets {
placeholder,
spotubeHeroBanner,
spotubeLogoForeground,
+ spotubeLogoItem,
+ spotubeLogoLight,
spotubeLogoMacos,
- spotubeLogoBmp,
- spotubeLogoIco,
- spotubeLogoPng,
- spotubeLogoSvg,
+ spotubeLogo,
spotubeLogoAndroid12,
- spotubeNightlyLogoForeground,
- spotubeNightlyLogoPng,
- spotubeNightlyLogoSvg,
- spotubeNightlyLogoAndroid12,
+ spotubeNightlyItem,
+ spotubeNightlyLogoForegroundPng,
+ spotubeNightlyLogoForegroundSvg,
spotubeScreenshot,
- spotubeTallCapsule,
- spotubeWideCapsuleLarge,
- spotubeWideCapsuleSmall,
- spotubeBanner,
success,
userPlaceholder
];
diff --git a/lib/collections/intents.dart b/lib/collections/intents.dart
index e4e3fa07..42c580ca 100644
--- a/lib/collections/intents.dart
+++ b/lib/collections/intents.dart
@@ -75,7 +75,7 @@ class HomeTabAction extends Action {
router.navigate(const SearchRoute());
break;
case HomeTabs.lyrics:
- router.navigate(LyricsRoute());
+ router.navigate(const LyricsRoute());
break;
case HomeTabs.userPlaylists:
router.navigate(const UserPlaylistsRoute());
diff --git a/lib/collections/side_bar_tiles.dart b/lib/collections/side_bar_tiles.dart
index 80ca7306..c647c9fb 100644
--- a/lib/collections/side_bar_tiles.dart
+++ b/lib/collections/side_bar_tiles.dart
@@ -38,7 +38,7 @@ List getSidebarTileList(AppLocalizations l10n) => [
SideBarTiles(
id: "lyrics",
pathPrefix: "/lyrics",
- route: LyricsRoute(),
+ route: const LyricsRoute(),
icon: SpotubeIcons.music,
title: l10n.lyrics,
),
diff --git a/lib/components/adaptive/adaptive_pop_sheet_list.dart b/lib/components/adaptive/adaptive_pop_sheet_list.dart
index 4f25dad1..6eba1148 100644
--- a/lib/components/adaptive/adaptive_pop_sheet_list.dart
+++ b/lib/components/adaptive/adaptive_pop_sheet_list.dart
@@ -146,7 +146,7 @@ class AdaptivePopSheetList extends StatelessWidget {
return Tooltip(
tooltip: TooltipContainer(
child: Text(tooltip),
- ),
+ ).call,
child: IconButton(
variance: variance,
icon: icon ?? const Icon(SpotubeIcons.moreVertical),
@@ -170,7 +170,7 @@ class AdaptivePopSheetList extends StatelessWidget {
if (child != null) {
return Tooltip(
- tooltip: TooltipContainer(child: Text(tooltip)),
+ tooltip: TooltipContainer(child: Text(tooltip)).call,
child: Button(
onPressed: () => showDropdownMenu(context, Offset.zero),
style: variance,
@@ -180,7 +180,7 @@ class AdaptivePopSheetList extends StatelessWidget {
}
return Tooltip(
- tooltip: TooltipContainer(child: Text(tooltip)),
+ tooltip: TooltipContainer(child: Text(tooltip)).call,
child: IconButton(
variance: variance,
icon: icon ?? const Icon(SpotubeIcons.moreVertical),
diff --git a/lib/components/expandable_search/expandable_search.dart b/lib/components/expandable_search/expandable_search.dart
index 0c40b843..279a3e5f 100644
--- a/lib/components/expandable_search/expandable_search.dart
+++ b/lib/components/expandable_search/expandable_search.dart
@@ -40,7 +40,9 @@ class ExpandableSearchField extends StatelessWidget {
focusNode: searchFocus,
controller: searchController,
placeholder: Text(context.l10n.search_tracks),
- leading: const Icon(SpotubeIcons.search),
+ features: const [
+ InputFeature.leading(Icon(SpotubeIcons.search))
+ ],
),
),
),
diff --git a/lib/components/form/text_form_field.dart b/lib/components/form/text_form_field.dart
index 56ef34a5..3148b7b3 100644
--- a/lib/components/form/text_form_field.dart
+++ b/lib/components/form/text_form_field.dart
@@ -130,8 +130,10 @@ class TextFormBuilderField extends StatelessWidget {
filled: filled,
placeholder: placeholder,
border: border,
- leading: leading,
- trailing: trailing,
+ features: [
+ if (leading != null) InputFeature.leading(leading!),
+ if (trailing != null) InputFeature.trailing(trailing!),
+ ],
padding: padding,
onSubmitted: (value) {
field.validate();
diff --git a/lib/components/heart_button/heart_button.dart b/lib/components/heart_button/heart_button.dart
index 80fa077b..275d5db1 100644
--- a/lib/components/heart_button/heart_button.dart
+++ b/lib/components/heart_button/heart_button.dart
@@ -33,7 +33,7 @@ class HeartButton extends HookConsumerWidget {
if (auth.asData?.value == null) return const SizedBox.shrink();
return Tooltip(
- tooltip: TooltipContainer(child: Text(tooltip ?? "")),
+ tooltip: TooltipContainer(child: Text(tooltip ?? "")).call,
child: IconButton(
variance: variance,
size: size,
diff --git a/lib/components/playbutton_view/playbutton_card.dart b/lib/components/playbutton_view/playbutton_card.dart
index 0b47ae28..ea28c738 100644
--- a/lib/components/playbutton_view/playbutton_card.dart
+++ b/lib/components/playbutton_view/playbutton_card.dart
@@ -151,7 +151,7 @@ class PlaybuttonCard extends StatelessWidget {
],
),
title: Tooltip(
- tooltip: TooltipContainer(child: Text(title)),
+ tooltip: TooltipContainer(child: Text(title)).call,
child: Text(
title,
maxLines: 1,
diff --git a/lib/components/playbutton_view/playbutton_tile.dart b/lib/components/playbutton_view/playbutton_tile.dart
index ec1ca95f..7470105d 100644
--- a/lib/components/playbutton_view/playbutton_tile.dart
+++ b/lib/components/playbutton_view/playbutton_tile.dart
@@ -71,7 +71,7 @@ class PlaybuttonTile extends StatelessWidget {
mainAxisSize: MainAxisSize.min,
children: [
Tooltip(
- tooltip: TooltipContainer(child: Text(context.l10n.add_to_queue)),
+ tooltip: TooltipContainer(child: Text(context.l10n.add_to_queue)).call,
child: IconButton.outline(
icon: const Icon(SpotubeIcons.queueAdd),
onPressed: onAddToQueuePressed,
@@ -80,7 +80,7 @@ class PlaybuttonTile extends StatelessWidget {
),
const Gap(8),
Tooltip(
- tooltip: TooltipContainer(child: Text(context.l10n.play)),
+ tooltip: TooltipContainer(child: Text(context.l10n.play)).call,
child: IconButton.secondary(
icon: switch ((isLoading, isPlaying)) {
(true, _) => const CircularProgressIndicator(
diff --git a/lib/components/shimmers/shimmer_lyrics.dart b/lib/components/shimmers/shimmer_lyrics.dart
index f8d29722..9312865e 100644
--- a/lib/components/shimmers/shimmer_lyrics.dart
+++ b/lib/components/shimmers/shimmer_lyrics.dart
@@ -1,6 +1,5 @@
import 'package:shadcn_flutter/shadcn_flutter.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
-import 'package:gap/gap.dart';
import 'package:skeletonizer/skeletonizer.dart';
diff --git a/lib/components/track_presentation/presentation_modifiers.dart b/lib/components/track_presentation/presentation_modifiers.dart
index c46fef3f..42c3cb4f 100644
--- a/lib/components/track_presentation/presentation_modifiers.dart
+++ b/lib/components/track_presentation/presentation_modifiers.dart
@@ -67,10 +67,6 @@ class TrackPresentationModifiersSection extends HookConsumerWidget {
child: TextField(
controller: controller,
focusNode: focusNode,
- leading: Icon(
- SpotubeIcons.search,
- color: context.theme.colorScheme.mutedForeground,
- ),
placeholder: Text(context.l10n.search_tracks),
onChanged: (value) {
if (value.isEmpty) {
@@ -79,30 +75,41 @@ class TrackPresentationModifiersSection extends HookConsumerWidget {
notifier.filterTracks(value);
}
},
- trailing: ListenableBuilder(
- listenable: controller,
- builder: (context, _) {
- return AnimatedCrossFade(
- duration: const Duration(milliseconds: 300),
- crossFadeState: controller.text.isEmpty
- ? CrossFadeState.showFirst
- : CrossFadeState.showSecond,
- firstChild:
- const SizedBox.square(dimension: 20),
- secondChild: AnimatedScale(
- duration: const Duration(milliseconds: 300),
- scale: controller.text.isEmpty ? 0 : 1,
- child: IconButton.ghost(
- size: const ButtonSize(.6),
- icon: const Icon(SpotubeIcons.close),
- onPressed: () {
- controller.clear();
- notifier.clearFilter();
- },
- ),
- ),
- );
- }),
+ features: [
+ InputFeature.leading(
+ Icon(
+ SpotubeIcons.search,
+ color: context.theme.colorScheme.mutedForeground,
+ ),
+ ),
+ InputFeature.trailing(
+ ListenableBuilder(
+ listenable: controller,
+ builder: (context, _) {
+ return AnimatedCrossFade(
+ duration: const Duration(milliseconds: 300),
+ crossFadeState: controller.text.isEmpty
+ ? CrossFadeState.showFirst
+ : CrossFadeState.showSecond,
+ firstChild:
+ const SizedBox.square(dimension: 20),
+ secondChild: AnimatedScale(
+ duration:
+ const Duration(milliseconds: 300),
+ scale: controller.text.isEmpty ? 0 : 1,
+ child: IconButton.ghost(
+ size: const ButtonSize(.6),
+ icon: const Icon(SpotubeIcons.close),
+ onPressed: () {
+ controller.clear();
+ notifier.clearFilter();
+ },
+ ),
+ ),
+ );
+ }),
+ )
+ ],
),
),
),
diff --git a/lib/components/track_tile/track_options.dart b/lib/components/track_tile/track_options.dart
index 949fcc8b..a0738165 100644
--- a/lib/components/track_tile/track_options.dart
+++ b/lib/components/track_tile/track_options.dart
@@ -474,7 +474,7 @@ class TrackOptions extends HookConsumerWidget {
leading: Assets.logos.songlinkTransparent.image(
width: 22,
height: 22,
- color: colorScheme.foreground.withOpacity(0.5),
+ color: colorScheme.foreground.withValues(alpha: 0.5),
),
child: Text(context.l10n.song_link),
),
diff --git a/lib/models/database/typeconverters/color.dart b/lib/models/database/typeconverters/color.dart
index 70c27374..513921a2 100644
--- a/lib/models/database/typeconverters/color.dart
+++ b/lib/models/database/typeconverters/color.dart
@@ -10,7 +10,7 @@ class ColorConverter extends TypeConverter {
@override
int toSql(Color value) {
- return value.value;
+ return value.toARGB32();
}
}
diff --git a/lib/modules/home/sections/feed.dart b/lib/modules/home/sections/feed.dart
index d3e363cc..216dc491 100644
--- a/lib/modules/home/sections/feed.dart
+++ b/lib/modules/home/sections/feed.dart
@@ -12,7 +12,7 @@ class HomePageFeedSection extends HookConsumerWidget {
@override
Widget build(BuildContext context, ref) {
final homeFeed = ref.watch(homeViewProvider);
- final nonShortSections = homeFeed.asData?.value?.sections
+ final nonShortSections = homeFeed.asData?.value.sections
.where((s) => s.typename == "HomeGenericSectionData")
.toList() ??
[];
diff --git a/lib/modules/library/playlist_generate/multi_select_field.dart b/lib/modules/library/playlist_generate/multi_select_field.dart
index 7118d57d..00a09c95 100644
--- a/lib/modules/library/playlist_generate/multi_select_field.dart
+++ b/lib/modules/library/playlist_generate/multi_select_field.dart
@@ -68,7 +68,7 @@ class MultiSelectField extends HookWidget {
side: BorderSide(
color: enabled
? theme.colorScheme.onSurface
- : theme.colorScheme.onSurface.withOpacity(0.1),
+ : theme.colorScheme.onSurface.withValues(alpha: 0.1),
),
),
mouseCursor: WidgetStateMouseCursor.textable,
diff --git a/lib/modules/library/playlist_generate/seeds_multi_autocomplete.dart b/lib/modules/library/playlist_generate/seeds_multi_autocomplete.dart
index da1288f5..812d9367 100644
--- a/lib/modules/library/playlist_generate/seeds_multi_autocomplete.dart
+++ b/lib/modules/library/playlist_generate/seeds_multi_autocomplete.dart
@@ -119,8 +119,10 @@ class SeedsMultiAutocomplete extends HookWidget {
focusNode: focusNode,
onSubmitted: (_) => onFieldSubmitted(),
enabled: enabled,
- leading: leading,
- trailing: trailing,
+ features: [
+ if (leading != null) InputFeature.leading(leading!),
+ if (trailing != null) InputFeature.trailing(trailing!),
+ ],
placeholder: placeholder,
);
},
diff --git a/lib/modules/player/player_controls.dart b/lib/modules/player/player_controls.dart
index e4c6ca7f..14b9cf43 100644
--- a/lib/modules/player/player_controls.dart
+++ b/lib/modules/player/player_controls.dart
@@ -89,7 +89,7 @@ class PlayerControls extends HookConsumerWidget {
Tooltip(
tooltip: TooltipContainer(
child: Text(context.l10n.slide_to_seek),
- ),
+ ).call,
child: SizedBox(
width: mediaQuery.xlAndUp ? 600 : 500,
child: Slider(
@@ -147,7 +147,7 @@ class PlayerControls extends HookConsumerWidget {
? context.l10n.unshuffle_playlist
: context.l10n.shuffle_playlist,
),
- ),
+ ).call,
child: IconButton(
icon: Icon(
SpotubeIcons.shuffle,
@@ -170,7 +170,7 @@ class PlayerControls extends HookConsumerWidget {
}),
Tooltip(
tooltip: TooltipContainer(
- child: Text(context.l10n.previous_track)),
+ child: Text(context.l10n.previous_track)).call,
child: IconButton.ghost(
enabled: !isFetchingActiveTrack,
icon: const Icon(SpotubeIcons.skipBack),
@@ -184,7 +184,7 @@ class PlayerControls extends HookConsumerWidget {
? context.l10n.pause_playback
: context.l10n.resume_playback,
),
- ),
+ ).call,
child: IconButton.primary(
shape: ButtonShape.circle,
icon: isFetchingActiveTrack
@@ -206,7 +206,7 @@ class PlayerControls extends HookConsumerWidget {
),
Tooltip(
tooltip:
- TooltipContainer(child: Text(context.l10n.next_track)),
+ TooltipContainer(child: Text(context.l10n.next_track)).call,
child: IconButton.ghost(
icon: const Icon(SpotubeIcons.skipForward),
onPressed:
@@ -226,7 +226,7 @@ class PlayerControls extends HookConsumerWidget {
? context.l10n.repeat_playlist
: "",
),
- ),
+ ).call,
child: IconButton(
icon: Icon(
loopMode == PlaylistMode.single
diff --git a/lib/modules/player/player_queue.dart b/lib/modules/player/player_queue.dart
index 0ef86111..06d7e3c7 100644
--- a/lib/modules/player/player_queue.dart
+++ b/lib/modules/player/player_queue.dart
@@ -161,7 +161,7 @@ class PlayerQueue extends HookConsumerWidget {
const SizedBox(width: 10),
Tooltip(
tooltip: TooltipContainer(
- child: Text(context.l10n.clear_all)),
+ child: Text(context.l10n.clear_all)).call,
child: IconButton.outline(
icon: const Icon(SpotubeIcons.playlistRemove),
onPressed: () {
diff --git a/lib/modules/root/bottom_player.dart b/lib/modules/root/bottom_player.dart
index 806d98e2..c2e6369d 100644
--- a/lib/modules/root/bottom_player.dart
+++ b/lib/modules/root/bottom_player.dart
@@ -76,7 +76,7 @@ class BottomPlayer extends HookConsumerWidget {
extraActions: [
Tooltip(
tooltip:
- TooltipContainer(child: Text(context.l10n.mini_player)),
+ TooltipContainer(child: Text(context.l10n.mini_player)).call,
child: IconButton(
variance: ButtonVariance.ghost,
icon: const Icon(SpotubeIcons.miniPlayer),
diff --git a/lib/modules/root/sidebar/sidebar.dart b/lib/modules/root/sidebar/sidebar.dart
index 743b339b..5e98d81f 100644
--- a/lib/modules/root/sidebar/sidebar.dart
+++ b/lib/modules/root/sidebar/sidebar.dart
@@ -20,13 +20,16 @@ class Sidebar extends HookConsumerWidget {
super.key,
});
- static Widget brandLogo() {
+ static Widget brandLogo(BuildContext context) {
return Container(
decoration: BoxDecoration(
color: Colors.black,
borderRadius: BorderRadius.circular(50),
),
- child: Assets.spotubeLogoPng.image(height: 50),
+ child: Assets.spotubeLogo.image(
+ height: 50,
+ cacheHeight: (100 * MediaQuery.devicePixelRatioOf(context)).toInt(),
+ ),
);
}
@@ -68,7 +71,7 @@ class Sidebar extends HookConsumerWidget {
NavigationButton(
label: mediaQuery.lgAndUp ? Text(tile.title) : null,
child: Tooltip(
- tooltip: TooltipContainer(child: Text(tile.title)),
+ tooltip: TooltipContainer(child: Text(tile.title)).call,
child: Icon(tile.icon),
),
onPressed: () {
@@ -85,7 +88,7 @@ class Sidebar extends HookConsumerWidget {
context.navigateTo(tile.route);
},
child: Tooltip(
- tooltip: TooltipContainer(child: Text(tile.title)),
+ tooltip: TooltipContainer(child: Text(tile.title)).call,
child: Icon(tile.icon),
),
),
diff --git a/lib/modules/settings/color_scheme_picker_dialog.dart b/lib/modules/settings/color_scheme_picker_dialog.dart
index 8092f825..3fb05e72 100644
--- a/lib/modules/settings/color_scheme_picker_dialog.dart
+++ b/lib/modules/settings/color_scheme_picker_dialog.dart
@@ -21,7 +21,7 @@ class SpotubeColor extends Color {
@override
String toString() {
- return "$name:$value";
+ return "$name:${toARGB32()}";
}
}
diff --git a/lib/pages/artist/section/footer.dart b/lib/pages/artist/section/footer.dart
index 0fe2ab68..9a1423b5 100644
--- a/lib/pages/artist/section/footer.dart
+++ b/lib/pages/artist/section/footer.dart
@@ -35,7 +35,7 @@ class ArtistPageFooter extends ConsumerWidget {
borderRadius: BorderRadius.circular(10),
image: DecorationImage(
colorFilter: ColorFilter.mode(
- Colors.black.withOpacity(0.5),
+ Colors.black.withValues(alpha: 0.5),
BlendMode.darken,
),
image: UniversalImage.imageProvider(
diff --git a/lib/pages/artist/section/header.dart b/lib/pages/artist/section/header.dart
index 8a91f257..62e66edc 100644
--- a/lib/pages/artist/section/header.dart
+++ b/lib/pages/artist/section/header.dart
@@ -84,7 +84,7 @@ class ArtistPageHeader extends HookConsumerWidget {
Tooltip(
tooltip: TooltipContainer(
child: Text(context.l10n.add_artist_to_blacklist),
- ),
+ ).call,
child: IconButton(
icon: Icon(
SpotubeIcons.userRemove,
diff --git a/lib/pages/connect/control/control.dart b/lib/pages/connect/control/control.dart
index b75a135b..1c3e76c8 100644
--- a/lib/pages/connect/control/control.dart
+++ b/lib/pages/connect/control/control.dart
@@ -188,7 +188,7 @@ class ConnectControlPage extends HookConsumerWidget {
? context.l10n.unshuffle_playlist
: context.l10n.shuffle_playlist,
),
- ),
+ ).call,
child: IconButton(
icon: const Icon(SpotubeIcons.shuffle),
variance: shuffled
@@ -204,7 +204,7 @@ class ConnectControlPage extends HookConsumerWidget {
Tooltip(
tooltip: TooltipContainer(
child: Text(context.l10n.previous_track),
- ),
+ ).call,
child: IconButton.ghost(
icon: const Icon(SpotubeIcons.skipBack),
onPressed: playlist.activeTrack == null
@@ -219,7 +219,7 @@ class ConnectControlPage extends HookConsumerWidget {
? context.l10n.pause_playback
: context.l10n.resume_playback,
),
- ),
+ ).call,
child: IconButton.primary(
shape: ButtonShape.circle,
icon: playlist.activeTrack == null
@@ -247,7 +247,7 @@ class ConnectControlPage extends HookConsumerWidget {
),
Tooltip(
tooltip: TooltipContainer(
- child: Text(context.l10n.next_track)),
+ child: Text(context.l10n.next_track)).call,
child: IconButton.ghost(
icon: const Icon(SpotubeIcons.skipForward),
onPressed: playlist.activeTrack == null
@@ -264,7 +264,7 @@ class ConnectControlPage extends HookConsumerWidget {
? context.l10n.repeat_playlist
: context.l10n.no_loop,
),
- ),
+ ).call,
child: IconButton(
icon: Icon(
loopMode == PlaylistMode.single
diff --git a/lib/pages/getting_started/sections/greeting.dart b/lib/pages/getting_started/sections/greeting.dart
index 4b9c0a89..c0a3e9d3 100644
--- a/lib/pages/getting_started/sections/greeting.dart
+++ b/lib/pages/getting_started/sections/greeting.dart
@@ -17,7 +17,7 @@ class GettingStartedPageGreetingSection extends HookConsumerWidget {
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
- Assets.spotubeLogoPng.image(height: 200),
+ Assets.spotubeLogo.image(height: 200),
const Gap(24),
const Text("Spotube").semiBold().h4(),
const Gap(4),
diff --git a/lib/pages/home/home.dart b/lib/pages/home/home.dart
index 9ca71c04..d42c2def 100644
--- a/lib/pages/home/home.dart
+++ b/lib/pages/home/home.dart
@@ -1,3 +1,5 @@
+import 'dart:ui';
+
import 'package:auto_route/auto_route.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
@@ -28,6 +30,7 @@ class HomePage extends HookConsumerWidget {
@override
Widget build(BuildContext context, ref) {
+ final theme = Theme.of(context);
final controller = useScrollController();
final mediaQuery = MediaQuery.of(context);
final layoutMode =
@@ -45,7 +48,17 @@ class HomePage extends HookConsumerWidget {
if (mediaQuery.smAndDown || layoutMode == LayoutMode.compact)
SliverAppBar(
floating: true,
- title: Assets.spotubeLogoPng.image(height: 45),
+ title: Image.asset(
+ theme.brightness == Brightness.dark
+ ? Assets.spotubeLogo.path
+ : Assets.spotubeLogoLight.path,
+ height: 45,
+ width: 45,
+ color: theme.colorScheme.background,
+ colorBlendMode: BlendMode.saturation,
+ cacheHeight:
+ (100 * MediaQuery.devicePixelRatioOf(context)).toInt(),
+ ),
backgroundColor: context.theme.colorScheme.background,
foregroundColor: context.theme.colorScheme.foreground,
actions: [
diff --git a/lib/pages/lastfm_login/lastfm_login.dart b/lib/pages/lastfm_login/lastfm_login.dart
index ca0f5693..164b9b0d 100644
--- a/lib/pages/lastfm_login/lastfm_login.dart
+++ b/lib/pages/lastfm_login/lastfm_login.dart
@@ -119,15 +119,19 @@ class LastFMLoginPage extends HookConsumerWidget {
],
obscureText: !passwordVisible.value,
placeholder: Text(context.l10n.password),
- trailing: IconButton.ghost(
- icon: Icon(
- passwordVisible.value
- ? SpotubeIcons.eye
- : SpotubeIcons.noEye,
+ features: [
+ InputFeature.trailing(
+ IconButton.ghost(
+ icon: Icon(
+ passwordVisible.value
+ ? SpotubeIcons.eye
+ : SpotubeIcons.noEye,
+ ),
+ onPressed: () => passwordVisible.value =
+ !passwordVisible.value,
+ ),
),
- onPressed: () => passwordVisible.value =
- !passwordVisible.value,
- ),
+ ],
),
),
],
diff --git a/lib/pages/library/user_albums.dart b/lib/pages/library/user_albums.dart
index 60ba7319..beaa779f 100644
--- a/lib/pages/library/user_albums.dart
+++ b/lib/pages/library/user_albums.dart
@@ -75,7 +75,9 @@ class UserAlbumsPage extends HookConsumerWidget {
height: 48,
child: TextField(
onChanged: (value) => searchText.value = value,
- leading: const Icon(SpotubeIcons.filter),
+ features: const [
+ InputFeature.leading(Icon(SpotubeIcons.filter))
+ ],
placeholder: Text(context.l10n.filter_artist),
),
),
diff --git a/lib/pages/library/user_artists.dart b/lib/pages/library/user_artists.dart
index 5f304f5e..35577cd7 100644
--- a/lib/pages/library/user_artists.dart
+++ b/lib/pages/library/user_artists.dart
@@ -80,7 +80,9 @@ class UserArtistsPage extends HookConsumerWidget {
height: 48,
child: TextField(
onChanged: (value) => searchText.value = value,
- leading: const Icon(SpotubeIcons.filter),
+ features: const [
+ InputFeature.leading(Icon(SpotubeIcons.filter)),
+ ],
placeholder: Text(context.l10n.filter_artist),
),
),
diff --git a/lib/pages/library/user_playlists.dart b/lib/pages/library/user_playlists.dart
index 8249726d..8b9e0dc3 100644
--- a/lib/pages/library/user_playlists.dart
+++ b/lib/pages/library/user_playlists.dart
@@ -99,7 +99,9 @@ class UserPlaylistsPage extends HookConsumerWidget {
child: TextField(
onChanged: (value) => searchText.value = value,
placeholder: Text(context.l10n.filter_playlists),
- leading: const Icon(SpotubeIcons.filter),
+ features: const [
+ InputFeature.leading(Icon(SpotubeIcons.filter)),
+ ],
),
),
),
diff --git a/lib/pages/lyrics/lyrics.dart b/lib/pages/lyrics/lyrics.dart
index 5c6df2d2..1bd58d61 100644
--- a/lib/pages/lyrics/lyrics.dart
+++ b/lib/pages/lyrics/lyrics.dart
@@ -101,7 +101,7 @@ class LyricsPage extends HookConsumerWidget {
borderRadius: BorderRadius.zero,
borderWidth: 0,
child: ColoredBox(
- color: palette.color.withOpacity(.7),
+ color: palette.color.withValues(alpha: .7),
child: SafeArea(
child: IndexedStack(
index: selectedIndex.value,
diff --git a/lib/pages/lyrics/mini_lyrics.dart b/lib/pages/lyrics/mini_lyrics.dart
index 58c2bc17..4c28eddd 100644
--- a/lib/pages/lyrics/mini_lyrics.dart
+++ b/lib/pages/lyrics/mini_lyrics.dart
@@ -59,7 +59,7 @@ class MiniLyricsPage extends HookConsumerWidget {
areaActive.value = false;
},
child: Scaffold(
- backgroundColor: theme.colorScheme.background.withOpacity(0.4),
+ backgroundColor: theme.colorScheme.background.withValues(alpha: 0.4),
headers: [
Padding(
padding: const EdgeInsets.all(8.0),
@@ -89,7 +89,8 @@ class MiniLyricsPage extends HookConsumerWidget {
const Spacer(),
Tooltip(
tooltip:
- TooltipContainer(child: Text(context.l10n.lyrics)),
+ TooltipContainer(child: Text(context.l10n.lyrics))
+ .call,
child: IconButton(
variance: showLyrics.value
? ButtonVariance.secondary
@@ -115,7 +116,7 @@ class MiniLyricsPage extends HookConsumerWidget {
Tooltip(
tooltip: TooltipContainer(
child: Text(context.l10n.show_hide_ui_on_hover),
- ),
+ ).call,
child: IconButton(
variance: hoverMode.value
? ButtonVariance.secondary
@@ -136,7 +137,7 @@ class MiniLyricsPage extends HookConsumerWidget {
return Tooltip(
tooltip: TooltipContainer(
child: Text(context.l10n.always_on_top),
- ),
+ ).call,
child: IconButton(
variance: snapshot.data == true
? ButtonVariance.secondary
@@ -199,7 +200,7 @@ class MiniLyricsPage extends HookConsumerWidget {
Tooltip(
tooltip: TooltipContainer(
child: Text(context.l10n.queue),
- ),
+ ).call,
child: IconButton.ghost(
icon: const Icon(SpotubeIcons.queue),
onPressed: playlistQueue.activeTrack != null
@@ -245,7 +246,8 @@ class MiniLyricsPage extends HookConsumerWidget {
const Flexible(child: PlayerControls(compact: true)),
Tooltip(
tooltip: TooltipContainer(
- child: Text(context.l10n.exit_mini_player)),
+ child: Text(context.l10n.exit_mini_player))
+ .call,
child: IconButton.ghost(
icon: const Icon(SpotubeIcons.maximize),
onPressed: () async {
@@ -268,7 +270,7 @@ class MiniLyricsPage extends HookConsumerWidget {
const Duration(milliseconds: 200));
} finally {
if (context.mounted) {
- context.navigateTo(LyricsRoute());
+ context.navigateTo(const LyricsRoute());
}
}
},
diff --git a/lib/pages/search/search.dart b/lib/pages/search/search.dart
index c0a244a5..25fb046a 100644
--- a/lib/pages/search/search.dart
+++ b/lib/pages/search/search.dart
@@ -209,7 +209,7 @@ class SearchPage extends HookConsumerWidget {
fontSize: 20,
fontWeight: FontWeight.w900,
color: theme.colorScheme.foreground
- .withOpacity(0.7),
+ .withValues(alpha: 0.7),
),
),
const SizedBox(height: 20),
diff --git a/lib/pages/settings/about.dart b/lib/pages/settings/about.dart
index 27775f3c..713b8c12 100644
--- a/lib/pages/settings/about.dart
+++ b/lib/pages/settings/about.dart
@@ -45,7 +45,7 @@ class AboutSpotubePage extends HookConsumerWidget {
padding: const EdgeInsets.symmetric(horizontal: 16.0),
child: Column(
children: [
- Assets.spotubeLogoPng.image(
+ Assets.spotubeLogo.image(
height: 200,
width: 200,
),
diff --git a/lib/pages/settings/sections/accounts.dart b/lib/pages/settings/sections/accounts.dart
index 5e40b9ec..a381dc23 100644
--- a/lib/pages/settings/sections/accounts.dart
+++ b/lib/pages/settings/sections/accounts.dart
@@ -49,7 +49,7 @@ class SettingsAccountSection extends HookConsumerWidget {
),
),
onTap: () {
- context.navigateTo(ProfileRoute());
+ context.navigateTo(const ProfileRoute());
},
),
if (auth.asData?.value == null)
diff --git a/lib/pages/track/track.dart b/lib/pages/track/track.dart
index 2918d1d7..8e6df748 100644
--- a/lib/pages/track/track.dart
+++ b/lib/pages/track/track.dart
@@ -77,7 +77,7 @@ class TrackPage extends HookConsumerWidget {
),
fit: BoxFit.cover,
colorFilter: ColorFilter.mode(
- colorScheme.background.withOpacity(0.5),
+ colorScheme.background.withValues(alpha: 0.5),
BlendMode.srcOver,
),
alignment: Alignment.topCenter,
@@ -196,7 +196,7 @@ class TrackPage extends HookConsumerWidget {
Tooltip(
tooltip: TooltipContainer(
child: Text(context.l10n.play_next),
- ),
+ ).call,
child: IconButton.outline(
icon: const Icon(
SpotubeIcons.lightning),
@@ -214,7 +214,7 @@ class TrackPage extends HookConsumerWidget {
? context.l10n.pause_playback
: context.l10n.play,
),
- ),
+ ).call,
child: IconButton.primary(
shape: ButtonShape.circle,
icon: Icon(
diff --git a/lib/provider/audio_player/audio_player_streams.dart b/lib/provider/audio_player/audio_player_streams.dart
index fbcf74e4..c221a2b0 100644
--- a/lib/provider/audio_player/audio_player_streams.dart
+++ b/lib/provider/audio_player/audio_player_streams.dart
@@ -65,7 +65,9 @@ class AudioPlayerStreamListeners {
final currentSegments = await ref.read(segmentProvider.future);
if (currentSegments?.segments.isNotEmpty != true ||
- position < const Duration(seconds: 3)) return;
+ position < const Duration(seconds: 3)) {
+ return;
+ }
for (final segment in currentSegments!.segments) {
final seconds = position.inSeconds;
diff --git a/lib/provider/authentication/authentication.dart b/lib/provider/authentication/authentication.dart
index 583955b0..497ccf79 100644
--- a/lib/provider/authentication/authentication.dart
+++ b/lib/provider/authentication/authentication.dart
@@ -61,7 +61,7 @@ class AuthenticationNotifier extends AsyncNotifier {
Timer? refreshTimer;
- ref.listenSelf((prevData, newData) async {
+ listenSelf((prevData, newData) async {
if (newData.asData?.value == null) return;
if (newData.asData!.value!.isExpired) {
diff --git a/lib/provider/download_manager_provider.dart b/lib/provider/download_manager_provider.dart
index 5e9eda20..1b588399 100644
--- a/lib/provider/download_manager_provider.dart
+++ b/lib/provider/download_manager_provider.dart
@@ -46,7 +46,9 @@ class DownloadManagerProvider extends ChangeNotifier {
//? WebA audiotagging is not supported yet
//? Although in future by converting weba to opus & then tagging it
//? is possible using vorbis comments
- downloadCodec == SourceCodecs.weba) return;
+ downloadCodec == SourceCodecs.weba) {
+ return;
+ }
final file = File(request.path);
diff --git a/macos/Podfile.lock b/macos/Podfile.lock
index 95feb26d..b3bbbb0b 100644
--- a/macos/Podfile.lock
+++ b/macos/Podfile.lock
@@ -168,7 +168,7 @@ EXTERNAL SOURCES:
:path: Flutter/ephemeral/.symlinks/plugins/window_manager/macos
SPEC CHECKSUMS:
- app_links: 9028728e32c83a0831d9db8cf91c526d16cc5468
+ app_links: afe860c55c7ef176cea7fb630a2b7d7736de591d
audio_service: 0d9e4e25347bb3efb768f3b9f005911a81e587a7
audio_session: 48ab6500f7a5e7c64363e206565a5dfe5a0c1441
bonsoir_darwin: 29c7ccf356646118844721f36e1de4b61f6cbd0e
diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png
index ce03848f..87d35152 100644
Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png differ
diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png
index 9988ac22..951e2199 100644
Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png differ
diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png
index c23f1e0c..8fc26ab9 100644
Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png differ
diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png
index de5236c1..136e59bf 100644
Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png differ
diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png
index 85449d04..cb3042ee 100644
Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png differ
diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png
index e93200f0..5a8f2b83 100644
Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png differ
diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png
index 4be23237..4fe48af6 100644
Binary files a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png and b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png differ
diff --git a/pubspec.lock b/pubspec.lock
index 4744467d..61f30dca 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -74,18 +74,18 @@ packages:
dependency: transitive
description:
name: archive
- sha256: "08064924cbf0ab88280a0c3f60db9dd24fec693927e725ecb176f16c629d1cb8"
+ sha256: "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd"
url: "https://pub.dev"
source: hosted
- version: "4.0.1"
+ version: "4.0.7"
args:
dependency: "direct main"
description:
name: args
- sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6
+ sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04
url: "https://pub.dev"
source: hosted
- version: "2.6.0"
+ version: "2.7.0"
asn1lib:
dependency: transitive
description:
@@ -934,10 +934,10 @@ packages:
dependency: "direct main"
description:
name: flutter_native_splash
- sha256: "1152ab0067ca5a2ebeb862fe0a762057202cceb22b7e62692dcbabf6483891bb"
+ sha256: "8321a6d11a8d13977fa780c89de8d257cce3d841eecfb7a4cadffcc4f12d82dc"
url: "https://pub.dev"
source: hosted
- version: "2.4.3"
+ version: "2.4.6"
flutter_new_pipe_extractor:
dependency: "direct main"
description:
@@ -1238,10 +1238,10 @@ packages:
dependency: transitive
description:
name: image
- sha256: "599d08e369969bdf83138f5b4e0a7e823d3f992f23b8a64dd626877c37013533"
+ sha256: "4e973fcf4caae1a4be2fa0a13157aa38a8f9cb049db6529aa00b4d71abc4d928"
url: "https://pub.dev"
source: hosted
- version: "4.4.0"
+ version: "4.5.4"
image_picker:
dependency: "direct main"
description:
@@ -1883,10 +1883,10 @@ packages:
dependency: transitive
description:
name: posix
- sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a
+ sha256: f0d7856b6ca1887cfa6d1d394056a296ae33489db914e365e2044fdada449e62
url: "https://pub.dev"
source: hosted
- version: "6.0.1"
+ version: "6.0.2"
process:
dependency: transitive
description:
@@ -2753,10 +2753,10 @@ packages:
dependency: transitive
description:
name: yaml
- sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
+ sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce
url: "https://pub.dev"
source: hosted
- version: "3.1.2"
+ version: "3.1.3"
youtube_explode_dart:
dependency: "direct main"
description:
diff --git a/pubspec.yaml b/pubspec.yaml
index 9e464205..4398bf28 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -60,7 +60,7 @@ dependencies:
flutter_inappwebview: ^6.1.3
flutter_localizations:
sdk: flutter
- flutter_native_splash: ^2.4.0
+ flutter_native_splash: ^2.4.6
flutter_riverpod: ^2.5.1
flutter_secure_storage: ^9.0.0
flutter_sharing_intent: ^1.1.0
diff --git a/web/index.html b/web/index.html
index 59b9a339..a9b82f02 100644
--- a/web/index.html
+++ b/web/index.html
@@ -32,6 +32,8 @@
+
+