diff --git a/css/addons/radarr/favicon/radarr-4k/android-chrome-192x192.png b/css/addons/radarr/radarr-4k-favicon/android-chrome-192x192.png similarity index 100% rename from css/addons/radarr/favicon/radarr-4k/android-chrome-192x192.png rename to css/addons/radarr/radarr-4k-favicon/android-chrome-192x192.png diff --git a/css/addons/radarr/favicon/radarr-4k/android-chrome-512x512.png b/css/addons/radarr/radarr-4k-favicon/android-chrome-512x512.png similarity index 100% rename from css/addons/radarr/favicon/radarr-4k/android-chrome-512x512.png rename to css/addons/radarr/radarr-4k-favicon/android-chrome-512x512.png diff --git a/css/addons/radarr/favicon/radarr-4k/apple-touch-icon.png b/css/addons/radarr/radarr-4k-favicon/apple-touch-icon.png similarity index 100% rename from css/addons/radarr/favicon/radarr-4k/apple-touch-icon.png rename to css/addons/radarr/radarr-4k-favicon/apple-touch-icon.png diff --git a/css/addons/radarr/favicon/radarr-4k/browserconfig.xml b/css/addons/radarr/radarr-4k-favicon/browserconfig.xml similarity index 100% rename from css/addons/radarr/favicon/radarr-4k/browserconfig.xml rename to css/addons/radarr/radarr-4k-favicon/browserconfig.xml diff --git a/css/addons/radarr/favicon/radarr-4k/favicon-16x16.png b/css/addons/radarr/radarr-4k-favicon/favicon-16x16.png similarity index 100% rename from css/addons/radarr/favicon/radarr-4k/favicon-16x16.png rename to css/addons/radarr/radarr-4k-favicon/favicon-16x16.png diff --git a/css/addons/radarr/favicon/radarr-4k/favicon-32x32.png b/css/addons/radarr/radarr-4k-favicon/favicon-32x32.png similarity index 100% rename from css/addons/radarr/favicon/radarr-4k/favicon-32x32.png rename to css/addons/radarr/radarr-4k-favicon/favicon-32x32.png diff --git a/css/addons/radarr/favicon/radarr-4k/favicon.ico b/css/addons/radarr/radarr-4k-favicon/favicon.ico similarity index 100% rename from css/addons/radarr/favicon/radarr-4k/favicon.ico rename to css/addons/radarr/radarr-4k-favicon/favicon.ico diff --git a/css/addons/radarr/favicon/radarr-4k/mstile-144x144.png b/css/addons/radarr/radarr-4k-favicon/mstile-144x144.png similarity index 100% rename from css/addons/radarr/favicon/radarr-4k/mstile-144x144.png rename to css/addons/radarr/radarr-4k-favicon/mstile-144x144.png diff --git a/css/addons/radarr/favicon/radarr-4k/mstile-150x150.png b/css/addons/radarr/radarr-4k-favicon/mstile-150x150.png similarity index 100% rename from css/addons/radarr/favicon/radarr-4k/mstile-150x150.png rename to css/addons/radarr/radarr-4k-favicon/mstile-150x150.png diff --git a/css/addons/radarr/favicon/radarr-4k/mstile-310x150.png b/css/addons/radarr/radarr-4k-favicon/mstile-310x150.png similarity index 100% rename from css/addons/radarr/favicon/radarr-4k/mstile-310x150.png rename to css/addons/radarr/radarr-4k-favicon/mstile-310x150.png diff --git a/css/addons/radarr/favicon/radarr-4k/mstile-310x310.png b/css/addons/radarr/radarr-4k-favicon/mstile-310x310.png similarity index 100% rename from css/addons/radarr/favicon/radarr-4k/mstile-310x310.png rename to css/addons/radarr/radarr-4k-favicon/mstile-310x310.png diff --git a/css/addons/radarr/favicon/radarr-4k/mstile-70x70.png b/css/addons/radarr/radarr-4k-favicon/mstile-70x70.png similarity index 100% rename from css/addons/radarr/favicon/radarr-4k/mstile-70x70.png rename to css/addons/radarr/radarr-4k-favicon/mstile-70x70.png diff --git a/css/addons/radarr/favicon/radarr-4k/safari-pinned-tab.svg b/css/addons/radarr/radarr-4k-favicon/safari-pinned-tab.svg similarity index 100% rename from css/addons/radarr/favicon/radarr-4k/safari-pinned-tab.svg rename to css/addons/radarr/radarr-4k-favicon/safari-pinned-tab.svg diff --git a/css/addons/radarr/favicon/radarr-4k/site.webmanifest b/css/addons/radarr/radarr-4k-favicon/site.webmanifest similarity index 100% rename from css/addons/radarr/favicon/radarr-4k/site.webmanifest rename to css/addons/radarr/radarr-4k-favicon/site.webmanifest diff --git a/css/addons/radarr/favicon/radarr-anime/android-chrome-192x192.png b/css/addons/radarr/radarr-anime-favicon/android-chrome-192x192.png similarity index 100% rename from css/addons/radarr/favicon/radarr-anime/android-chrome-192x192.png rename to css/addons/radarr/radarr-anime-favicon/android-chrome-192x192.png diff --git a/css/addons/radarr/favicon/radarr-anime/android-chrome-512x512.png b/css/addons/radarr/radarr-anime-favicon/android-chrome-512x512.png similarity index 100% rename from css/addons/radarr/favicon/radarr-anime/android-chrome-512x512.png rename to css/addons/radarr/radarr-anime-favicon/android-chrome-512x512.png diff --git a/css/addons/radarr/favicon/radarr-anime/apple-touch-icon.png b/css/addons/radarr/radarr-anime-favicon/apple-touch-icon.png similarity index 100% rename from css/addons/radarr/favicon/radarr-anime/apple-touch-icon.png rename to css/addons/radarr/radarr-anime-favicon/apple-touch-icon.png diff --git a/css/addons/radarr/favicon/radarr-anime/browserconfig.xml b/css/addons/radarr/radarr-anime-favicon/browserconfig.xml similarity index 100% rename from css/addons/radarr/favicon/radarr-anime/browserconfig.xml rename to css/addons/radarr/radarr-anime-favicon/browserconfig.xml diff --git a/css/addons/radarr/favicon/radarr-anime/favicon-16x16.png b/css/addons/radarr/radarr-anime-favicon/favicon-16x16.png similarity index 100% rename from css/addons/radarr/favicon/radarr-anime/favicon-16x16.png rename to css/addons/radarr/radarr-anime-favicon/favicon-16x16.png diff --git a/css/addons/radarr/favicon/radarr-anime/favicon-32x32.png b/css/addons/radarr/radarr-anime-favicon/favicon-32x32.png similarity index 100% rename from css/addons/radarr/favicon/radarr-anime/favicon-32x32.png rename to css/addons/radarr/radarr-anime-favicon/favicon-32x32.png diff --git a/css/addons/radarr/favicon/radarr-anime/favicon.ico b/css/addons/radarr/radarr-anime-favicon/favicon.ico similarity index 100% rename from css/addons/radarr/favicon/radarr-anime/favicon.ico rename to css/addons/radarr/radarr-anime-favicon/favicon.ico diff --git a/css/addons/radarr/favicon/radarr-anime/mstile-144x144.png b/css/addons/radarr/radarr-anime-favicon/mstile-144x144.png similarity index 100% rename from css/addons/radarr/favicon/radarr-anime/mstile-144x144.png rename to css/addons/radarr/radarr-anime-favicon/mstile-144x144.png diff --git a/css/addons/radarr/favicon/radarr-anime/mstile-150x150.png b/css/addons/radarr/radarr-anime-favicon/mstile-150x150.png similarity index 100% rename from css/addons/radarr/favicon/radarr-anime/mstile-150x150.png rename to css/addons/radarr/radarr-anime-favicon/mstile-150x150.png diff --git a/css/addons/radarr/favicon/radarr-anime/mstile-310x150.png b/css/addons/radarr/radarr-anime-favicon/mstile-310x150.png similarity index 100% rename from css/addons/radarr/favicon/radarr-anime/mstile-310x150.png rename to css/addons/radarr/radarr-anime-favicon/mstile-310x150.png diff --git a/css/addons/radarr/favicon/radarr-anime/mstile-310x310.png b/css/addons/radarr/radarr-anime-favicon/mstile-310x310.png similarity index 100% rename from css/addons/radarr/favicon/radarr-anime/mstile-310x310.png rename to css/addons/radarr/radarr-anime-favicon/mstile-310x310.png diff --git a/css/addons/radarr/favicon/radarr-anime/mstile-70x70.png b/css/addons/radarr/radarr-anime-favicon/mstile-70x70.png similarity index 100% rename from css/addons/radarr/favicon/radarr-anime/mstile-70x70.png rename to css/addons/radarr/radarr-anime-favicon/mstile-70x70.png diff --git a/css/addons/radarr/favicon/radarr-anime/safari-pinned-tab.svg b/css/addons/radarr/radarr-anime-favicon/safari-pinned-tab.svg similarity index 100% rename from css/addons/radarr/favicon/radarr-anime/safari-pinned-tab.svg rename to css/addons/radarr/radarr-anime-favicon/safari-pinned-tab.svg diff --git a/css/addons/radarr/favicon/radarr-anime/site.webmanifest b/css/addons/radarr/radarr-anime-favicon/site.webmanifest similarity index 100% rename from css/addons/radarr/favicon/radarr-anime/site.webmanifest rename to css/addons/radarr/radarr-anime-favicon/site.webmanifest diff --git a/css/addons/readarr/favicon/readarr-alt/android-chrome-192x192.png b/css/addons/readarr/readarr-alt-favicon/android-chrome-192x192.png similarity index 100% rename from css/addons/readarr/favicon/readarr-alt/android-chrome-192x192.png rename to css/addons/readarr/readarr-alt-favicon/android-chrome-192x192.png diff --git a/css/addons/readarr/favicon/readarr-alt/android-chrome-512x512.png b/css/addons/readarr/readarr-alt-favicon/android-chrome-512x512.png similarity index 100% rename from css/addons/readarr/favicon/readarr-alt/android-chrome-512x512.png rename to css/addons/readarr/readarr-alt-favicon/android-chrome-512x512.png diff --git a/css/addons/readarr/favicon/readarr-alt/apple-touch-icon.png b/css/addons/readarr/readarr-alt-favicon/apple-touch-icon.png similarity index 100% rename from css/addons/readarr/favicon/readarr-alt/apple-touch-icon.png rename to css/addons/readarr/readarr-alt-favicon/apple-touch-icon.png diff --git a/css/addons/readarr/favicon/readarr-alt/browserconfig.xml b/css/addons/readarr/readarr-alt-favicon/browserconfig.xml similarity index 100% rename from css/addons/readarr/favicon/readarr-alt/browserconfig.xml rename to css/addons/readarr/readarr-alt-favicon/browserconfig.xml diff --git a/css/addons/readarr/favicon/readarr-alt/favicon-16x16.png b/css/addons/readarr/readarr-alt-favicon/favicon-16x16.png similarity index 100% rename from css/addons/readarr/favicon/readarr-alt/favicon-16x16.png rename to css/addons/readarr/readarr-alt-favicon/favicon-16x16.png diff --git a/css/addons/readarr/favicon/readarr-alt/favicon-32x32.png b/css/addons/readarr/readarr-alt-favicon/favicon-32x32.png similarity index 100% rename from css/addons/readarr/favicon/readarr-alt/favicon-32x32.png rename to css/addons/readarr/readarr-alt-favicon/favicon-32x32.png diff --git a/css/addons/readarr/favicon/readarr-alt/favicon.ico b/css/addons/readarr/readarr-alt-favicon/favicon.ico similarity index 100% rename from css/addons/readarr/favicon/readarr-alt/favicon.ico rename to css/addons/readarr/readarr-alt-favicon/favicon.ico diff --git a/css/addons/readarr/favicon/readarr-alt/mstile-144x144.png b/css/addons/readarr/readarr-alt-favicon/mstile-144x144.png similarity index 100% rename from css/addons/readarr/favicon/readarr-alt/mstile-144x144.png rename to css/addons/readarr/readarr-alt-favicon/mstile-144x144.png diff --git a/css/addons/readarr/favicon/readarr-alt/mstile-150x150.png b/css/addons/readarr/readarr-alt-favicon/mstile-150x150.png similarity index 100% rename from css/addons/readarr/favicon/readarr-alt/mstile-150x150.png rename to css/addons/readarr/readarr-alt-favicon/mstile-150x150.png diff --git a/css/addons/readarr/favicon/readarr-alt/mstile-310x150.png b/css/addons/readarr/readarr-alt-favicon/mstile-310x150.png similarity index 100% rename from css/addons/readarr/favicon/readarr-alt/mstile-310x150.png rename to css/addons/readarr/readarr-alt-favicon/mstile-310x150.png diff --git a/css/addons/readarr/favicon/readarr-alt/mstile-310x310.png b/css/addons/readarr/readarr-alt-favicon/mstile-310x310.png similarity index 100% rename from css/addons/readarr/favicon/readarr-alt/mstile-310x310.png rename to css/addons/readarr/readarr-alt-favicon/mstile-310x310.png diff --git a/css/addons/readarr/favicon/readarr-alt/mstile-70x70.png b/css/addons/readarr/readarr-alt-favicon/mstile-70x70.png similarity index 100% rename from css/addons/readarr/favicon/readarr-alt/mstile-70x70.png rename to css/addons/readarr/readarr-alt-favicon/mstile-70x70.png diff --git a/css/addons/readarr/favicon/readarr-alt/safari-pinned-tab.svg b/css/addons/readarr/readarr-alt-favicon/safari-pinned-tab.svg similarity index 100% rename from css/addons/readarr/favicon/readarr-alt/safari-pinned-tab.svg rename to css/addons/readarr/readarr-alt-favicon/safari-pinned-tab.svg diff --git a/css/addons/readarr/favicon/readarr-alt/site.webmanifest b/css/addons/readarr/readarr-alt-favicon/site.webmanifest similarity index 100% rename from css/addons/readarr/favicon/readarr-alt/site.webmanifest rename to css/addons/readarr/readarr-alt-favicon/site.webmanifest diff --git a/css/addons/sonarr/favicon/sonarr-4k/android-chrome-192x192.png b/css/addons/sonarr/sonarr-4k-favicon/android-chrome-192x192.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-4k/android-chrome-192x192.png rename to css/addons/sonarr/sonarr-4k-favicon/android-chrome-192x192.png diff --git a/css/addons/sonarr/favicon/sonarr-4k/android-chrome-512x512.png b/css/addons/sonarr/sonarr-4k-favicon/android-chrome-512x512.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-4k/android-chrome-512x512.png rename to css/addons/sonarr/sonarr-4k-favicon/android-chrome-512x512.png diff --git a/css/addons/sonarr/favicon/sonarr-4k/apple-touch-icon.png b/css/addons/sonarr/sonarr-4k-favicon/apple-touch-icon.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-4k/apple-touch-icon.png rename to css/addons/sonarr/sonarr-4k-favicon/apple-touch-icon.png diff --git a/css/addons/sonarr/favicon/sonarr-4k/browserconfig.xml b/css/addons/sonarr/sonarr-4k-favicon/browserconfig.xml similarity index 100% rename from css/addons/sonarr/favicon/sonarr-4k/browserconfig.xml rename to css/addons/sonarr/sonarr-4k-favicon/browserconfig.xml diff --git a/css/addons/sonarr/favicon/sonarr-4k/favicon-16x16.png b/css/addons/sonarr/sonarr-4k-favicon/favicon-16x16.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-4k/favicon-16x16.png rename to css/addons/sonarr/sonarr-4k-favicon/favicon-16x16.png diff --git a/css/addons/sonarr/favicon/sonarr-4k/favicon-32x32.png b/css/addons/sonarr/sonarr-4k-favicon/favicon-32x32.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-4k/favicon-32x32.png rename to css/addons/sonarr/sonarr-4k-favicon/favicon-32x32.png diff --git a/css/addons/sonarr/favicon/sonarr-4k/favicon.ico b/css/addons/sonarr/sonarr-4k-favicon/favicon.ico similarity index 100% rename from css/addons/sonarr/favicon/sonarr-4k/favicon.ico rename to css/addons/sonarr/sonarr-4k-favicon/favicon.ico diff --git a/css/addons/sonarr/favicon/sonarr-4k/mstile-144x144.png b/css/addons/sonarr/sonarr-4k-favicon/mstile-144x144.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-4k/mstile-144x144.png rename to css/addons/sonarr/sonarr-4k-favicon/mstile-144x144.png diff --git a/css/addons/sonarr/favicon/sonarr-4k/mstile-150x150.png b/css/addons/sonarr/sonarr-4k-favicon/mstile-150x150.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-4k/mstile-150x150.png rename to css/addons/sonarr/sonarr-4k-favicon/mstile-150x150.png diff --git a/css/addons/sonarr/favicon/sonarr-4k/mstile-310x150.png b/css/addons/sonarr/sonarr-4k-favicon/mstile-310x150.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-4k/mstile-310x150.png rename to css/addons/sonarr/sonarr-4k-favicon/mstile-310x150.png diff --git a/css/addons/sonarr/favicon/sonarr-4k/mstile-310x310.png b/css/addons/sonarr/sonarr-4k-favicon/mstile-310x310.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-4k/mstile-310x310.png rename to css/addons/sonarr/sonarr-4k-favicon/mstile-310x310.png diff --git a/css/addons/sonarr/favicon/sonarr-4k/mstile-70x70.png b/css/addons/sonarr/sonarr-4k-favicon/mstile-70x70.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-4k/mstile-70x70.png rename to css/addons/sonarr/sonarr-4k-favicon/mstile-70x70.png diff --git a/css/addons/sonarr/favicon/sonarr-4k/safari-pinned-tab.svg b/css/addons/sonarr/sonarr-4k-favicon/safari-pinned-tab.svg similarity index 100% rename from css/addons/sonarr/favicon/sonarr-4k/safari-pinned-tab.svg rename to css/addons/sonarr/sonarr-4k-favicon/safari-pinned-tab.svg diff --git a/css/addons/sonarr/favicon/sonarr-4k/site.webmanifest b/css/addons/sonarr/sonarr-4k-favicon/site.webmanifest similarity index 100% rename from css/addons/sonarr/favicon/sonarr-4k/site.webmanifest rename to css/addons/sonarr/sonarr-4k-favicon/site.webmanifest diff --git a/css/addons/sonarr/favicon/sonarr-anime-blue/android-chrome-192x192.png b/css/addons/sonarr/sonarr-anime-blue-favicon/android-chrome-192x192.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime-blue/android-chrome-192x192.png rename to css/addons/sonarr/sonarr-anime-blue-favicon/android-chrome-192x192.png diff --git a/css/addons/sonarr/favicon/sonarr-anime-blue/android-chrome-512x512.png b/css/addons/sonarr/sonarr-anime-blue-favicon/android-chrome-512x512.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime-blue/android-chrome-512x512.png rename to css/addons/sonarr/sonarr-anime-blue-favicon/android-chrome-512x512.png diff --git a/css/addons/sonarr/favicon/sonarr-anime-blue/apple-touch-icon.png b/css/addons/sonarr/sonarr-anime-blue-favicon/apple-touch-icon.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime-blue/apple-touch-icon.png rename to css/addons/sonarr/sonarr-anime-blue-favicon/apple-touch-icon.png diff --git a/css/addons/sonarr/favicon/sonarr-anime-blue/browserconfig.xml b/css/addons/sonarr/sonarr-anime-blue-favicon/browserconfig.xml similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime-blue/browserconfig.xml rename to css/addons/sonarr/sonarr-anime-blue-favicon/browserconfig.xml diff --git a/css/addons/sonarr/favicon/sonarr-anime-blue/favicon-16x16.png b/css/addons/sonarr/sonarr-anime-blue-favicon/favicon-16x16.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime-blue/favicon-16x16.png rename to css/addons/sonarr/sonarr-anime-blue-favicon/favicon-16x16.png diff --git a/css/addons/sonarr/favicon/sonarr-anime-blue/favicon-32x32.png b/css/addons/sonarr/sonarr-anime-blue-favicon/favicon-32x32.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime-blue/favicon-32x32.png rename to css/addons/sonarr/sonarr-anime-blue-favicon/favicon-32x32.png diff --git a/css/addons/sonarr/favicon/sonarr-anime-blue/favicon.ico b/css/addons/sonarr/sonarr-anime-blue-favicon/favicon.ico similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime-blue/favicon.ico rename to css/addons/sonarr/sonarr-anime-blue-favicon/favicon.ico diff --git a/css/addons/sonarr/favicon/sonarr-anime-blue/mstile-144x144.png b/css/addons/sonarr/sonarr-anime-blue-favicon/mstile-144x144.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime-blue/mstile-144x144.png rename to css/addons/sonarr/sonarr-anime-blue-favicon/mstile-144x144.png diff --git a/css/addons/sonarr/favicon/sonarr-anime-blue/mstile-150x150.png b/css/addons/sonarr/sonarr-anime-blue-favicon/mstile-150x150.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime-blue/mstile-150x150.png rename to css/addons/sonarr/sonarr-anime-blue-favicon/mstile-150x150.png diff --git a/css/addons/sonarr/favicon/sonarr-anime-blue/mstile-310x150.png b/css/addons/sonarr/sonarr-anime-blue-favicon/mstile-310x150.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime-blue/mstile-310x150.png rename to css/addons/sonarr/sonarr-anime-blue-favicon/mstile-310x150.png diff --git a/css/addons/sonarr/favicon/sonarr-anime-blue/mstile-310x310.png b/css/addons/sonarr/sonarr-anime-blue-favicon/mstile-310x310.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime-blue/mstile-310x310.png rename to css/addons/sonarr/sonarr-anime-blue-favicon/mstile-310x310.png diff --git a/css/addons/sonarr/favicon/sonarr-anime-blue/mstile-70x70.png b/css/addons/sonarr/sonarr-anime-blue-favicon/mstile-70x70.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime-blue/mstile-70x70.png rename to css/addons/sonarr/sonarr-anime-blue-favicon/mstile-70x70.png diff --git a/css/addons/sonarr/favicon/sonarr-anime-blue/safari-pinned-tab.svg b/css/addons/sonarr/sonarr-anime-blue-favicon/safari-pinned-tab.svg similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime-blue/safari-pinned-tab.svg rename to css/addons/sonarr/sonarr-anime-blue-favicon/safari-pinned-tab.svg diff --git a/css/addons/sonarr/favicon/sonarr-anime-blue/site.webmanifest b/css/addons/sonarr/sonarr-anime-blue-favicon/site.webmanifest similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime-blue/site.webmanifest rename to css/addons/sonarr/sonarr-anime-blue-favicon/site.webmanifest diff --git a/css/addons/sonarr/favicon/sonarr-anime/android-chrome-192x192.png b/css/addons/sonarr/sonarr-anime-favicon/android-chrome-192x192.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime/android-chrome-192x192.png rename to css/addons/sonarr/sonarr-anime-favicon/android-chrome-192x192.png diff --git a/css/addons/sonarr/favicon/sonarr-anime/android-chrome-512x512.png b/css/addons/sonarr/sonarr-anime-favicon/android-chrome-512x512.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime/android-chrome-512x512.png rename to css/addons/sonarr/sonarr-anime-favicon/android-chrome-512x512.png diff --git a/css/addons/sonarr/favicon/sonarr-anime/apple-touch-icon.png b/css/addons/sonarr/sonarr-anime-favicon/apple-touch-icon.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime/apple-touch-icon.png rename to css/addons/sonarr/sonarr-anime-favicon/apple-touch-icon.png diff --git a/css/addons/sonarr/favicon/sonarr-anime/browserconfig.xml b/css/addons/sonarr/sonarr-anime-favicon/browserconfig.xml similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime/browserconfig.xml rename to css/addons/sonarr/sonarr-anime-favicon/browserconfig.xml diff --git a/css/addons/sonarr/favicon/sonarr-anime/favicon-16x16.png b/css/addons/sonarr/sonarr-anime-favicon/favicon-16x16.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime/favicon-16x16.png rename to css/addons/sonarr/sonarr-anime-favicon/favicon-16x16.png diff --git a/css/addons/sonarr/favicon/sonarr-anime/favicon-32x32.png b/css/addons/sonarr/sonarr-anime-favicon/favicon-32x32.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime/favicon-32x32.png rename to css/addons/sonarr/sonarr-anime-favicon/favicon-32x32.png diff --git a/css/addons/sonarr/favicon/sonarr-anime/favicon.ico b/css/addons/sonarr/sonarr-anime-favicon/favicon.ico similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime/favicon.ico rename to css/addons/sonarr/sonarr-anime-favicon/favicon.ico diff --git a/css/addons/sonarr/favicon/sonarr-anime/mstile-144x144.png b/css/addons/sonarr/sonarr-anime-favicon/mstile-144x144.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime/mstile-144x144.png rename to css/addons/sonarr/sonarr-anime-favicon/mstile-144x144.png diff --git a/css/addons/sonarr/favicon/sonarr-anime/mstile-150x150.png b/css/addons/sonarr/sonarr-anime-favicon/mstile-150x150.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime/mstile-150x150.png rename to css/addons/sonarr/sonarr-anime-favicon/mstile-150x150.png diff --git a/css/addons/sonarr/favicon/sonarr-anime/mstile-310x150.png b/css/addons/sonarr/sonarr-anime-favicon/mstile-310x150.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime/mstile-310x150.png rename to css/addons/sonarr/sonarr-anime-favicon/mstile-310x150.png diff --git a/css/addons/sonarr/favicon/sonarr-anime/mstile-310x310.png b/css/addons/sonarr/sonarr-anime-favicon/mstile-310x310.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime/mstile-310x310.png rename to css/addons/sonarr/sonarr-anime-favicon/mstile-310x310.png diff --git a/css/addons/sonarr/favicon/sonarr-anime/mstile-70x70.png b/css/addons/sonarr/sonarr-anime-favicon/mstile-70x70.png similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime/mstile-70x70.png rename to css/addons/sonarr/sonarr-anime-favicon/mstile-70x70.png diff --git a/css/addons/sonarr/favicon/sonarr-anime/safari-pinned-tab.svg b/css/addons/sonarr/sonarr-anime-favicon/safari-pinned-tab.svg similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime/safari-pinned-tab.svg rename to css/addons/sonarr/sonarr-anime-favicon/safari-pinned-tab.svg diff --git a/css/addons/sonarr/favicon/sonarr-anime/site.webmanifest b/css/addons/sonarr/sonarr-anime-favicon/site.webmanifest similarity index 100% rename from css/addons/sonarr/favicon/sonarr-anime/site.webmanifest rename to css/addons/sonarr/sonarr-anime-favicon/site.webmanifest diff --git a/docker-mods/sonarr/root/etc/cont-init.d/98-themepark b/docker-mods/sonarr/root/etc/cont-init.d/98-themepark index 46d69e51..3a00ce73 100755 --- a/docker-mods/sonarr/root/etc/cont-init.d/98-themepark +++ b/docker-mods/sonarr/root/etc/cont-init.d/98-themepark @@ -49,6 +49,16 @@ if [[ -z ${TP_THEME} ]]; then TP_THEME='organizr' fi +# Function to download files for a given addon +download_favicon_files() { + local addon=$1 + local urls=$(echo "${TP_SCHEME}://${TP_DOMAIN}/themes.json" | jq -r ".addons.sonarr[\"$addon\"].files[]") + for url in $urls; do + wget -P "${APP_ICON_FILEPATH}" "$url" + printf 'Downloaded favicon: %s\n' "$url" + done +} + # Adding stylesheets if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}"; then echo '---------------------------' @@ -63,16 +73,11 @@ if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}"; then if [[ -n ${TP_ADDON} ]]; then for addon in $(echo "$TP_ADDON" | tr "|" " "); do sheets="${sheets} " - - #if TP_ADDON is one that changes the logo, add the corresponding favicon - #find favicon folder name based on addon name - favicon_dir="${url_base}/css/addons/sonarr/favicon/$(echo "${addon}" | sed 's/-logo//g; s/-text//g')" - #if favicon folder exists, copy content to the app favicon folder - if [ -d "$favicon_dir" ]; then - cp "${favicon_dir}/." "${APP_ICON_FILEPATH}" - echo "Added favicon." + # If the addon variable has "favicon" in it, download all the favicon files from the themes.json file. + if [[ ${addon} == *"favicon"* ]]; then + echo 'Downloading favicon files...' + download_favicon_files "$addon" fi - printf 'Added custom addon: %s\n\n' "${addon}" done fi diff --git a/themes.py b/themes.py index 40f7b203..3d400e54 100644 --- a/themes.py +++ b/themes.py @@ -51,6 +51,11 @@ def create_addons_json() -> str: } ) else: + if len([f for f in files if not f.endswith('.css')]) >= 1: + ADDONS["addons"][app][addon].update({ + "files": [f"{scheme}://{DOMAIN}/css/addons/{app}/{addon}/{file}?sha={get_md5_hash(join(getcwd(),'css','addons',app,addon,file))}" for file in files] + } + ) ADDONS["addons"][app].update({ addon: f"{scheme}://{DOMAIN}/css/addons/{app}/{addon}/{file}?sha={get_md5_hash(join(getcwd(),'css','addons',app,addon,file))}" for file in files if file.split(".")[1] == "css" } @@ -63,8 +68,9 @@ def create_addons_json() -> str: f"{addon_root}/{app}/{addon}/{dir}") if isfile(join(f"{addon_root}/{app}/{addon}/{dir}", file))] ADDONS["addons"][app][addon].update({ dir: { - "css": [f"{scheme}://{DOMAIN}/css/addons/{app}/{addon}/{dir}/{extra_file}?sha={get_md5_hash(join(getcwd(),'css','addons',app,addon,dir,extra_file))}" for extra_file in extra_dir_files if extra_file.split(".")[1] == "css"] - } + "css": [f"{scheme}://{DOMAIN}/css/addons/{app}/{addon}/{dir}/{extra_file}?sha={get_md5_hash(join(getcwd(),'css','addons',app,addon,dir,extra_file))}" for extra_file in extra_dir_files if extra_file.split(".")[1] == "css"], + "files": [f"{scheme}://{DOMAIN}/css/addons/{app}/{addon}/{dir}/{extra_file}?sha={get_md5_hash(join(getcwd(),'css','addons',app,addon,dir,extra_file))}" for extra_file in extra_dir_files if extra_file.split(".")[1] != "css"] + }, } ) return dumps(ADDONS, sort_keys=True) @@ -153,7 +159,6 @@ def create_theme_options() -> None: for theme in community_themes: create_css(theme,theme_type="community") -env_domain = env.get('TP_DOMAIN') scheme = env.get('TP_SCHEME','https') if env.get('TP_SCHEME') else 'https' if __name__ == "__main__": @@ -161,14 +166,15 @@ if __name__ == "__main__": themes = [name for name in listdir('./css/theme-options') if isfile(join('./css/theme-options', name))] docker_mods = [name for name in listdir('./docker-mods')] if isdir('./docker-mods') else [] community_themes = [name for name in listdir('./css/community-theme-options') if isfile(join('./css/community-theme-options', name))] - develop = True if isdir(".git") and subprocess.check_output(["git", "symbolic-ref", "--short", "HEAD"]).decode('ascii').strip() == "develop" else False - if env_domain: - DOMAIN = env_domain + branch: str | None = subprocess.check_output(["git", "symbolic-ref", "--short", "HEAD"]).decode('ascii').strip() if isdir(".git") else None + + if env.get('TP_DOMAIN'): + DOMAIN = env.get('TP_DOMAIN') else: with open("CNAME", "rt", closefd=True) as cname: CNAME = cname.readline() - DOMAIN = CNAME if not develop else f"develop.{CNAME}" + DOMAIN = f"{branch}.{CNAME}" if branch else CNAME apps = loads(create_json(app_folders=app_folders, themes=themes, community_themes=community_themes, docker_mods=docker_mods)) with open("themes.json", "w") as outfile: dump(apps, outfile, indent=2, sort_keys=True) - create_theme_options() \ No newline at end of file + #create_theme_options() \ No newline at end of file