diff --git a/banners/tp_banner.png b/banners/tp_banner.png
index 02313cd5..bde70360 100644
Binary files a/banners/tp_banner.png and b/banners/tp_banner.png differ
diff --git a/css/addons/bazarr/bazarr-4k-logo/bazarr-4k-logo.css b/css/addons/bazarr/bazarr-4k-logo/bazarr-4k-logo.css
index a9328c19..382585ce 100644
--- a/css/addons/bazarr/bazarr-4k-logo/bazarr-4k-logo.css
+++ b/css/addons/bazarr/bazarr-4k-logo/bazarr-4k-logo.css
@@ -1,8 +1,8 @@
- .mantine-Avatar-root[class*="bazarr-"] img {
+ .bazarr-Avatar-root[class*="bazarr-"] img {
display: none !important;
}
- .mantine-Avatar-root[class*="bazarr-"]:before {
+ .bazarr-Avatar-root[class*="bazarr-"]:before {
background-image: url("/theme.park/css/addons/bazarr/bazarr-4k-logo/bazarr4k.png");
display: inline-block;
width: 32px;
@@ -14,6 +14,6 @@
-o-background-size: cover;
}
- #root>div>nav>div>div.mantine-Group-root.mantine-Group-child[class*="bazarr-"]>div>span:after {
+ #root>div>header>div>div.bazarr-Group-root[class*="bazarr-"]>div>span:after {
content: " 4K";
}
\ No newline at end of file
diff --git a/css/addons/bazarr/bazarr-4k-logo/bazarr4k.png b/css/addons/bazarr/bazarr-4k-logo/bazarr4k.png
index 7c6c7924..3e774d9f 100644
Binary files a/css/addons/bazarr/bazarr-4k-logo/bazarr4k.png and b/css/addons/bazarr/bazarr-4k-logo/bazarr4k.png differ
diff --git a/css/addons/bazarr/bazarr-darker/bazarr-darker.css b/css/addons/bazarr/bazarr-darker/bazarr-darker.css
index 2f423c72..28033f04 100644
--- a/css/addons/bazarr/bazarr-darker/bazarr-darker.css
+++ b/css/addons/bazarr/bazarr-darker/bazarr-darker.css
@@ -37,19 +37,19 @@
}
/* HEADER */
-.mantine-Header-root[class*="bazarr-"] {
+.bazarr-Header-root[class*="bazarr-"] {
background-color: var(--header-color) !important;
border-bottom: 1px solid var(--transparency-light-15);
}
/* SIDE MENU */
-.mantine-Navbar-root[class*="bazarr-"] {
+.bazarr-Navbar-root[class*="bazarr-"] {
background-color: var(--side-menu-color) !important;
color: white !important;
}
-#root>div>div>main>div>div.mantine-Group-root[class*="bazarr-"],
-#root>div>div>main>div>div>div.mantine-Group-root[class*="bazarr-"],
-#root>div>div>main>form>div.mantine-Group-root[class*="bazarr-"] {
+#root>div>div>main>div>div.bazarr-Group-root[class*="bazarr-"],
+#root>div>div>main>div>div>div.bazarr-Group-root[class*="bazarr-"],
+#root>div>div>main>form>div.bazarr-Group-root[class*="bazarr-"] {
background: #262626 !important;
}
\ No newline at end of file
diff --git a/css/addons/lidarr/lidarr-alt-calendar/lidarr-alt-calendar.css b/css/addons/lidarr/lidarr-alt-calendar/lidarr-alt-calendar.css
new file mode 100644
index 00000000..4789dc35
--- /dev/null
+++ b/css/addons/lidarr/lidarr-alt-calendar/lidarr-alt-calendar.css
@@ -0,0 +1,19 @@
+[class*="CalendarEvent-downloaded-"] {
+ background: rgb(var(--calendar-downloaded) / .4) !important;
+}
+
+[class*="CalendarEvent-downloading-"] {
+ background: rgb(var(--calendar-downloading) / .4) !important;
+}
+
+[class*="CalendarEvent-unmonitored-"] {
+ background: rgb(var(--calendar-unmonitored) / .4) !important;
+}
+
+[class*="CalendarEvent-missing-"] {
+ background: rgb(var(--calendar-missing) / .4) !important;
+}
+
+[class*="CalendarEvent-unreleased-"] {
+ background: rgb(var(--calendar-unreleased) / .4) !important;
+}
\ No newline at end of file
diff --git a/css/addons/organizr/glass/example.jpg b/css/addons/organizr/glass/example.jpg
index f938bc5d..aa3d3e51 100644
Binary files a/css/addons/organizr/glass/example.jpg and b/css/addons/organizr/glass/example.jpg differ
diff --git a/css/addons/radarr/radarr-4k-logo/radarr-v3-mobile.png b/css/addons/radarr/radarr-4k-logo/radarr-v3-mobile.png
index 65dee236..a187ee65 100644
Binary files a/css/addons/radarr/radarr-4k-logo/radarr-v3-mobile.png and b/css/addons/radarr/radarr-4k-logo/radarr-v3-mobile.png differ
diff --git a/css/addons/radarr/radarr-4k-logo/radarr4k-v3.png b/css/addons/radarr/radarr-4k-logo/radarr4k-v3.png
index ee888e27..65f2b852 100644
Binary files a/css/addons/radarr/radarr-4k-logo/radarr4k-v3.png and b/css/addons/radarr/radarr-4k-logo/radarr4k-v3.png differ
diff --git a/css/addons/radarr/radarr-4k-logo/radarr4k.png b/css/addons/radarr/radarr-4k-logo/radarr4k.png
index 469c3675..ac86fcb4 100644
Binary files a/css/addons/radarr/radarr-4k-logo/radarr4k.png and b/css/addons/radarr/radarr-4k-logo/radarr4k.png differ
diff --git a/css/addons/radarr/radarr-alt-calendar/radarr-alt-calendar.css b/css/addons/radarr/radarr-alt-calendar/radarr-alt-calendar.css
new file mode 100644
index 00000000..ee66372d
--- /dev/null
+++ b/css/addons/radarr/radarr-alt-calendar/radarr-alt-calendar.css
@@ -0,0 +1,31 @@
+
+[class*="CalendarEvent-event-"] {
+ background: rgb(var(--calendar-unmonitored) / .4);
+}
+
+[class*="CalendarEvent-downloaded-"] {
+ background: rgb(var(--calendar-available) / .4) !important;
+}
+
+[class*="CalendarEvent-missing-"],
+[class*="CalendarEvent-missingMonitored"] {
+ background-color: rgb(var(--calendar-missing) / .4);
+}
+
+[class*="CalendarEvent-missingUnmonitored-"] {
+ background: rgb(var(--calendar-missing-unmonitored) / .4) !important;
+}
+
+[class*="CalendarEvent-unreleased-"],
+[class*="CalendarEvent-continuing-"] {
+ background: rgb(var(--calendar-unaired) / .4) !important;
+}
+
+[class*="CalendarEvent-unmonitored-"] {
+ background: rgb(var(--calendar-unmonitored) / .4) !important;
+}
+
+[class*="CalendarEvent-downloading-"],
+[class*="CalendarEvent-queue-"] {
+ background: rgb(var(--calendar-downloading) / .4) !important;
+}
\ No newline at end of file
diff --git a/css/addons/readarr/readarr-alt-calendar/readarr-alt-calendar.css b/css/addons/readarr/readarr-alt-calendar/readarr-alt-calendar.css
new file mode 100644
index 00000000..3cdff79e
--- /dev/null
+++ b/css/addons/readarr/readarr-alt-calendar/readarr-alt-calendar.css
@@ -0,0 +1,20 @@
+[class*="CalendarEvent-downloaded-"]:not([class*="AgendaEvent-"]) {
+ background: rgb(var(--calendar-downloaded) / .4) !important;
+}
+
+[class*="CalendarEvent-missing-"]:not([class*="AgendaEvent-"]) {
+ background: rgb(var(--calendar-missing) / .4) !important;
+}
+
+[class*="CalendarEvent-unreleased-"]:not([class*="AgendaEvent-"]) {
+ background: rgb(var(--calendar-unreleased) / .4) !important;
+}
+
+[class*="CalendarEvent-unmonitored-"]:not([class*="AgendaEvent-"]) {
+ background: rgb(var(--calendar-unmonitored) / .4) !important;
+}
+
+[class*="CalendarEvent-downloading-"]:not([class*="AgendaEvent-"]),
+[class*="CalendarEvent-queue-"]:not([class*="AgendaEvent-"]) {
+ background: rgb(var(--calendar-downloading) / .4) !important;
+}
\ No newline at end of file
diff --git a/css/addons/sonarr/sonarr-4k-logo/sonarr-4k.png b/css/addons/sonarr/sonarr-4k-logo/sonarr-4k.png
index a42e2fa5..6046b6d4 100644
Binary files a/css/addons/sonarr/sonarr-4k-logo/sonarr-4k.png and b/css/addons/sonarr/sonarr-4k-logo/sonarr-4k.png differ
diff --git a/css/addons/sonarr/sonarr-4k-text-logo/sonarr-4k-text-logo.css b/css/addons/sonarr/sonarr-4k-text-logo/sonarr-4k-text-logo.css
new file mode 100644
index 00000000..3a3f3387
--- /dev/null
+++ b/css/addons/sonarr/sonarr-4k-text-logo/sonarr-4k-text-logo.css
@@ -0,0 +1,55 @@
+@media (min-width: 752px) {
+ [class*="PageHeader-logo-"] {
+ display: none !important;
+ }
+ [class*="PageHeader-logoContainer-"]:before {
+ background-image: url("/theme.park/css/addons/sonarr/sonarr-4k-text-logo/sonarr-4k-text.png");
+ display: inline-block;
+ margin-left: 15px;
+ width: 124px;
+ height: 40px;
+ content:"";
+ background-size: cover;
+ -webkit-background-size: cover;
+ -moz-background-size: cover;
+ -o-background-size: cover;
+ }
+}
+
+
+[class*="LoadingPage-logoFull-"] {
+ display: none !important;
+}
+
+[class*="LoadingPage-page-"]:before {
+ background-image: url("/theme.park/css/addons/sonarr/sonarr-4k-text-logo/sonarr-4k-text.png");
+ display: inline-block;
+ width: 124px;
+ height: 40px;
+ content:"";
+ background-size: cover;
+ -webkit-background-size: cover;
+ -moz-background-size: cover;
+ -o-background-size: cover;
+ margin-top: 50px;
+ margin-right: auto;
+ margin-left: auto;
+
+}
+
+@media (max-width: 767px) {
+ [class*="PageHeader-logo-"] {
+ display: none !important;
+ }
+ [class*="PageHeader-logoContainer-"]:before {
+ background-image: url("/theme.park/css/addons/sonarr/sonarr-4k-logo/sonarr-4k.png");
+ display: inline-block;
+ width: 32px;
+ height: 32px;
+ content:"";
+ background-size: cover;
+ -webkit-background-size: cover;
+ -moz-background-size: cover;
+ -o-background-size: cover;
+ }
+}
diff --git a/css/addons/sonarr/sonarr-4k-text-logo/sonarr-4k-text.png b/css/addons/sonarr/sonarr-4k-text-logo/sonarr-4k-text.png
new file mode 100644
index 00000000..90caa9d6
Binary files /dev/null and b/css/addons/sonarr/sonarr-4k-text-logo/sonarr-4k-text.png differ
diff --git a/css/addons/sonarr/sonarr-text-logo/sonarr-text-logo.css b/css/addons/sonarr/sonarr-text-logo/sonarr-text-logo.css
new file mode 100644
index 00000000..15c7ab13
--- /dev/null
+++ b/css/addons/sonarr/sonarr-text-logo/sonarr-text-logo.css
@@ -0,0 +1,38 @@
+@media (min-width: 752px) {
+ [class*="PageHeader-logo-"] {
+ display: none !important;
+ }
+ [class*="PageHeader-logoContainer-"]:before {
+ background-image: url("/theme.park/css/addons/sonarr/sonarr-text-logo/sonarr-text.png");
+ display: inline-block;
+ margin-left: 15px;
+ width: 124px;
+ height: 40px;
+ content:"";
+ background-size: cover;
+ -webkit-background-size: cover;
+ -moz-background-size: cover;
+ -o-background-size: cover;
+ }
+}
+
+
+[class*="LoadingPage-logoFull-"] {
+ display: none !important;
+}
+
+[class*="LoadingPage-page-"]:before {
+ background-image: url("/theme.park/css/addons/sonarr/sonarr-text-logo/sonarr-text.png");
+ display: inline-block;
+ width: 124px;
+ height: 40px;
+ content:"";
+ background-size: cover;
+ -webkit-background-size: cover;
+ -moz-background-size: cover;
+ -o-background-size: cover;
+ margin-top: 50px;
+ margin-right: auto;
+ margin-left: auto;
+
+}
diff --git a/css/addons/sonarr/sonarr-text-logo/sonarr-text.png b/css/addons/sonarr/sonarr-text-logo/sonarr-text.png
new file mode 100644
index 00000000..d8494cd3
Binary files /dev/null and b/css/addons/sonarr/sonarr-text-logo/sonarr-text.png differ
diff --git a/css/addons/unraid/login-page/alien/alien-base.css b/css/addons/unraid/login-page/alien/alien-base.css
new file mode 100644
index 00000000..da099aa8
--- /dev/null
+++ b/css/addons/unraid/login-page/alien/alien-base.css
@@ -0,0 +1,245 @@
+@import "https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.2/animate.min.css";
+@import "https://fonts.googleapis.com/css?family=Share+Tech+Mono&display=swap";
+@import "https://fonts.googleapis.com/css?family=VT323";
+
+
+ /* Replace the variables if you have a dark background */
+ /* Light colors for dark backgrounds */
+ /*
+ --div-background-color-10: rgba(255, 255, 255, 0.1);
+ --div-background-color-15: rgba(255, 255, 255, 0.15);
+ --div-background-color-25: rgba(255, 255, 255, 0.25);
+ --div-background-color-35: rgba(255, 255, 255, 0.35);
+ https://www.transparenttextures.com/patterns/hexellence.png
+ https://www.transparenttextures.com/patterns/gplay.png
+ https://www.transparenttextures.com/patterns/simple-horizontal-light.png
+ https://www.colourlovers.com/palette/3428762/Fallout?widths=1
+
+ https://codepen.io/lbebber/pen/XJRdrV/ CRT KEY FRAMES
+ https://brennan.io/2017/06/14/alien-computer-card/
+ https://www.cssmatic.com/noise-texture
+
+ https://codepen.io/somethingformed/pen/raWJXV
+ radial-gradient(ellipse at center,#0f7 0,rgba(0,255,119,0) 100%) center center/cover no-repeat fixed,
+ */
+
+* {
+ outline: none;
+}
+
+@media only screen and (max-width: 500px) {
+ #login {
+ -webkit-backdrop-filter: blur(0px);
+ backdrop-filter: blur(0px);
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ height: 100%;
+ width: 100%;
+ border-radius: none !important;
+ }
+ .background-wrap,#video-bg-elem {display: none;}
+
+ #login {
+ -webkit-box-shadow: inset 0px 0px 0px 2px #F000 !important;
+ box-shadow: inset 0px 0px 0px 2px #F000 !important;
+ }
+}
+
+html {
+ background: var(--main-bg) !important;
+}
+
+body {
+ background: var(--main-bg) !important;
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ height: 100%;
+ width: 100%;
+ overflow: hidden;
+}
+@media only screen and (max-width: 768px) {
+ #login {
+ min-width: 300px;
+ }
+}
+/*FOR VIDEO BACKGROUND*/
+.background-wrap {
+ position: fixed;
+ z-index: -1000;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ top: 0;
+ left: 0;
+}
+#video-bg-elem {
+ position: absolute;
+ top: 0;
+ left: 0;
+ min-height: 100%;
+ min-width: 100%;
+}
+/*TEXT COLOR*/
+#login h1,
+#login h2,
+#login .error {
+ color: var(--text-color) !important;
+ text-shadow: var(--text-shadow) var(--text-color);
+ font-size: 20px;
+}
+#login a {
+ color: var(--link-color);
+ text-shadow: var(--text-shadow) var(--text-color);
+}
+#login a:hover {
+ color: var(--link-color-hover);
+ text-shadow: var(--text-shadow) var(--text-color);
+}
+#login input {
+ color: var(--input-color);
+ text-shadow: 0 0 5px var(--text-color);
+}
+#login ::placeholder {
+ color: var(--input-color);
+ text-shadow: 0 0 5px var(--text-color);
+}
+#login ::-webkit-input-placeholder {
+ color: var(--input-color);
+ text-shadow: 0 0 5px var(--text-color);
+}
+#login ::-moz-placeholder {
+ color: var(--input-color);
+ text-shadow: 0 0 5px var(--text-color);
+}
+#login :-ms-input-placeholder {
+ color: var(--input-color);
+ text-shadow: 0 0 5px var(--text-color);
+}
+#login :-moz-placeholder {
+ color: var(--input-color);
+ text-shadow: 0 0 5px var(--text-color);
+}
+#login input:focus::-webkit-input-placeholder {
+ color: transparent !important;
+ text-shadow: 0 0 0px transparent;
+}
+#login input:focus:-moz-placeholder {
+ color: transparent !important;
+ text-shadow: 0 0 0px transparent;
+}
+#login input:focus::-moz-placeholder {
+ color: transparent !important;
+ text-shadow: 0 0 0px transparent;
+}
+#login input:focus:-ms-input-placeholder {
+ color: transparent !important;
+ text-shadow: 0 0 0px transparent;
+}
+
+/*TEXT FONT*/
+#login h1,
+#login h2,
+#login a,
+#login .button,
+#login .error {
+ font-family: var(--text-font);
+ -webkit-font-smoothing: none;
+ line-height: 1.2;
+}
+
+/* CASE COLOR */
+#login [class^='case-'],
+#login [class*=' case-'] {
+ font-family: cases!important;
+ speak: none;
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-transform: none;
+ color: var(--case-color);
+ text-shadow: var(--text-shadow) var(--text-color);
+}
+/*INPUT FORMS*/
+#login [type=text],
+#login [type=password] {
+ font-family: var(--input-font);
+ background-color: rgba(0, 0, 0, 0.25);
+ border: 2px solid transparent;
+ text-transform: uppercase;
+ border-radius: 5px;
+}
+#login [type=text]:active,
+#login [type=text]:focus,
+#login [type=password]:active,
+#login [type=password]:focus {
+ font-family: var(--input-font);
+ background-color: rgba(0, 0, 0, 0.25);
+ border: 2px solid transparent;
+ text-transform: uppercase;
+
+}
+
+
+/*BUTTON*/
+#login .button {
+ color: var(--button-text-color);
+ text-shadow: var(--text-shadow) var(--text-color);
+ background: linear-gradient(90deg, var(--button-color2) 0, var(--button-color)) 0 0 no-repeat, linear-gradient(90deg, var(--button-color2) 0, var(--button-color)) 0 100% no-repeat, linear-gradient(0deg, var(--button-color2) 0, var(--button-color2)) 0 100% no-repeat, linear-gradient(0deg, var(--button-color) 0, var(--button-color)) 100% 100% no-repeat;
+ background: -webkit-gradient(linear, left top, right top, from(var(--button-color2)), to(var(--button-color))) 0 0 no-repeat, -webkit-gradient(linear, left top, right top, from(var(--button-color2)), to(var(--button-color))) 0 100% no-repeat, -webkit-gradient(linear, left bottom, left top, from(var(--button-color2)), to(var(--button-color2))) 0 100% no-repeat, -webkit-gradient(linear, left bottom, left top, from(var(--button-color)), to(var(--button-color))) 100% 100% no-repeat;
+ background-size: 100% 2px, 100% 2px, 2px 100%, 2px 100%;
+}
+#login .button:hover {
+ color: var(--button-text-color-hover);
+ text-shadow: var(--text-shadow) var(--button-color-hover);
+ box-shadow: var(--box-shadow) var(--button-color-hover);
+ background-color: var(--button-color-hover);
+ background: -webkit-gradient(linear, left top, right top, from(var(--button-color2-hover)), to(var(--button-color-hover)));
+ background: linear-gradient(90deg, var(--button-color2-hover) 0, var(--button-color-hover));
+}
+
+
+#login {
+ background: var(--div-background-color-15) !important;
+ -webkit-backdrop-filter: blur(10px);
+ backdrop-filter: blur(10px);
+ padding-top: 1rem;
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ transform: translate(-50%, -50%) !;
+ -ms-transform: translate(-50%, -50%);
+ -webkit-transform: translate(-50%, -50%);
+ margin: 0 !important;
+ text-transform: uppercase;
+ min-width: 300px;
+}
+
+#login .angle:after {
+ display: none;
+}
+#login .wordmark {
+ display: none;
+}
+
+#login .logo {
+ background: var(--logo);
+ background-size: contain;
+ padding: 2rem;
+ border-radius: 0;
+ margin: 0rem 1rem 0rem 1rem;
+}
+#login .error {
+ animation-name: shake;
+ animation-duration: .8s;
+}
+/*LOGIN BOX SHADOW*/
+.shadow {
+ -webkit-box-shadow: inset 0px 0px 0px 2px var(--text-color) !important;
+ box-shadow: inset 0px 0px 0px 2px var(--text-color) !important;
+}
diff --git a/css/addons/unraid/login-page/alien/custom.css b/css/addons/unraid/login-page/alien/custom.css
index f6119099..0ceb7f8b 100644
--- a/css/addons/unraid/login-page/alien/custom.css
+++ b/css/addons/unraid/login-page/alien/custom.css
@@ -1,4 +1,4 @@
-@import url("/theme.park/css/addons/unraid/login-page/alien/alien_base.css");
+@import url("/theme.park/css/addons/unraid/login-page/alien/alien-base.css");
:root {
--main-bg: radial-gradient(ellipse at center,rgba(0, 255, 119, 0.1) 0,rgba(0,255,119,0) 100%) center center/cover no-repeat fixed,
url(/theme.park/css/addons/unraid/login-page/alien/wallpaper/hallway2.jpg) center center/cover no-repeat fixed;
diff --git a/css/addons/unraid/login-page/alien/hallway.css b/css/addons/unraid/login-page/alien/hallway.css
index 64a8ea36..30b5f895 100644
--- a/css/addons/unraid/login-page/alien/hallway.css
+++ b/css/addons/unraid/login-page/alien/hallway.css
@@ -1,4 +1,4 @@
-@import url("/theme.park/css/addons/unraid/login-page/alien/alien_base.css");
+@import url("/theme.park/css/addons/unraid/login-page/alien/alien-base.css");
:root {
--main-bg: radial-gradient(ellipse at center,rgba(0, 255, 119, 0.1) 0,rgba(0,255,119,0) 100%) center center/cover no-repeat fixed,
url(/theme.park/css/addons/unraid/login-page/alien/wallpaper/hallway.jpg) center center/cover no-repeat fixed;
diff --git a/css/addons/unraid/login-page/alien/hallway2.css b/css/addons/unraid/login-page/alien/hallway2.css
index 8703ec31..d36cbacd 100644
--- a/css/addons/unraid/login-page/alien/hallway2.css
+++ b/css/addons/unraid/login-page/alien/hallway2.css
@@ -1,4 +1,4 @@
-@import url("/theme.park/css/addons/unraid/login-page/alien/alien_base.css");
+@import url("/theme.park/css/addons/unraid/login-page/alien/alien-base.css");
:root {
--main-bg: radial-gradient(ellipse at center,rgba(0, 255, 119, 0.1) 0,rgba(0,255,119,0) 100%) center center/cover no-repeat fixed,
url(/theme.park/css/addons/unraid/login-page/alien/wallpaper/hallway2.jpg) center center/cover no-repeat fixed;
diff --git a/css/addons/unraid/login-page/alien/hallway3.css b/css/addons/unraid/login-page/alien/hallway3.css
index cf887a85..ae35822b 100644
--- a/css/addons/unraid/login-page/alien/hallway3.css
+++ b/css/addons/unraid/login-page/alien/hallway3.css
@@ -1,4 +1,4 @@
-@import url("/theme.park/css/addons/unraid/login-page/alien/alien_base.css");
+@import url("/theme.park/css/addons/unraid/login-page/alien/alien-base.css");
:root {
--main-bg: radial-gradient(ellipse at center,rgba(0, 255, 119, 0.1) 0,rgba(0,255,119,0) 100%) center center/cover no-repeat fixed,
url(/theme.park/css/addons/unraid/login-page/alien/wallpaper/hallway3.jpg) center center/cover no-repeat fixed;
diff --git a/css/addons/unraid/login-page/alien/hallway4.css b/css/addons/unraid/login-page/alien/hallway4.css
index 6f7e2f1f..2d375993 100644
--- a/css/addons/unraid/login-page/alien/hallway4.css
+++ b/css/addons/unraid/login-page/alien/hallway4.css
@@ -1,4 +1,4 @@
-@import url("/theme.park/css/addons/unraid/login-page/alien/alien_base.css");
+@import url("/theme.park/css/addons/unraid/login-page/alien/alien-base.css");
:root {
--main-bg: radial-gradient(ellipse at center,rgba(0, 255, 119, 0.1) 0,rgba(0,255,119,0) 100%) center center/cover no-repeat fixed,
url(/theme.park/css/addons/unraid/login-page/alien/wallpaper/hallway4.jpg) center center/cover no-repeat fixed;
diff --git a/css/addons/unraid/login-page/alien/isolation.css b/css/addons/unraid/login-page/alien/isolation.css
index 0cbee905..bb32a2cb 100644
--- a/css/addons/unraid/login-page/alien/isolation.css
+++ b/css/addons/unraid/login-page/alien/isolation.css
@@ -1,4 +1,4 @@
-@import url("/theme.park/css/addons/unraid/login-page/alien/alien_base.css");
+@import url("/theme.park/css/addons/unraid/login-page/alien/alien-base.css");
:root {
--main-bg: radial-gradient(ellipse at center,rgba(0, 255, 119, 0.1) 0,rgba(0,255,119,0) 100%) center center/cover no-repeat fixed,
url(/theme.park/css/addons/unraid/login-page/alien/wallpaper/isolation.png) center center/cover no-repeat fixed;
diff --git a/css/addons/unraid/login-page/alien/isolation_video.css b/css/addons/unraid/login-page/alien/isolation_video.css
index 80b42eb2..3717cdd5 100644
--- a/css/addons/unraid/login-page/alien/isolation_video.css
+++ b/css/addons/unraid/login-page/alien/isolation_video.css
@@ -1,4 +1,4 @@
-@import url("/theme.park/css/addons/unraid/login-page/alien/alien_base.css");
+@import url("/theme.park/css/addons/unraid/login-page/alien/alien-base.css");
:root {
--main-bg: transparent;
--logo: url(/theme.park/css/addons/unraid/login-page/alien/logo/wings_green.png) center no-repeat;
diff --git a/css/addons/unraid/login-page/alien/logo/uscss_nostromo.jpg b/css/addons/unraid/login-page/alien/logo/uscss_nostromo.jpg
index 1276c6ca..903b3dbf 100644
Binary files a/css/addons/unraid/login-page/alien/logo/uscss_nostromo.jpg and b/css/addons/unraid/login-page/alien/logo/uscss_nostromo.jpg differ
diff --git a/css/addons/unraid/login-page/alien/logo/weyland-yutani-logo-by-synthetic-dreamer1.png b/css/addons/unraid/login-page/alien/logo/weyland-yutani-logo-by-synthetic-dreamer1.png
index 64690ca1..bbc2c556 100644
Binary files a/css/addons/unraid/login-page/alien/logo/weyland-yutani-logo-by-synthetic-dreamer1.png and b/css/addons/unraid/login-page/alien/logo/weyland-yutani-logo-by-synthetic-dreamer1.png differ
diff --git a/css/addons/unraid/login-page/alien/logo/wings.png b/css/addons/unraid/login-page/alien/logo/wings.png
index 1e395a98..e1e76710 100644
Binary files a/css/addons/unraid/login-page/alien/logo/wings.png and b/css/addons/unraid/login-page/alien/logo/wings.png differ
diff --git a/css/addons/unraid/login-page/alien/logo/wings_green2.png b/css/addons/unraid/login-page/alien/logo/wings_green2.png
index eecdd1b2..f5b08f7e 100644
Binary files a/css/addons/unraid/login-page/alien/logo/wings_green2.png and b/css/addons/unraid/login-page/alien/logo/wings_green2.png differ
diff --git a/css/addons/unraid/login-page/alien/logo/wings_shadow.png b/css/addons/unraid/login-page/alien/logo/wings_shadow.png
index d1169c63..0dfb81c1 100644
Binary files a/css/addons/unraid/login-page/alien/logo/wings_shadow.png and b/css/addons/unraid/login-page/alien/logo/wings_shadow.png differ
diff --git a/css/addons/unraid/login-page/alien/logo/wings_yellow.png b/css/addons/unraid/login-page/alien/logo/wings_yellow.png
index fbc2d777..5175b609 100644
Binary files a/css/addons/unraid/login-page/alien/logo/wings_yellow.png and b/css/addons/unraid/login-page/alien/logo/wings_yellow.png differ
diff --git a/css/addons/unraid/login-page/alien/nightmare.css b/css/addons/unraid/login-page/alien/nightmare.css
index f8ca9083..381b2fed 100644
--- a/css/addons/unraid/login-page/alien/nightmare.css
+++ b/css/addons/unraid/login-page/alien/nightmare.css
@@ -1,4 +1,4 @@
-@import url("/theme.park/css/addons/unraid/login-page/alien/alien_base.css");
+@import url("/theme.park/css/addons/unraid/login-page/alien/alien-base.css");
:root {
--main-bg: radial-gradient(ellipse at center,rgba(0, 255, 119, 0.1) 0,rgba(0,255,119,0) 100%) center center/cover no-repeat fixed,
url(/theme.park/css/addons/unraid/login-page/alien/wallpaper/nightmare.png) center center/cover no-repeat fixed;
diff --git a/css/addons/unraid/login-page/alien/scanner.css b/css/addons/unraid/login-page/alien/scanner.css
index 474f827e..6b934e7a 100644
--- a/css/addons/unraid/login-page/alien/scanner.css
+++ b/css/addons/unraid/login-page/alien/scanner.css
@@ -1,4 +1,4 @@
-@import url("/theme.park/css/addons/unraid/login-page/alien/alien_base.css");
+@import url("/theme.park/css/addons/unraid/login-page/alien/alien-base.css");
:root {
--main-bg: radial-gradient(ellipse at center,rgba(0, 255, 119, 0.1) 0,rgba(0,255,119,0) 100%) center center/cover no-repeat fixed,
url(/theme.park/css/addons/unraid/login-page/alien/wallpaper/scanner.jpg) center center/cover no-repeat fixed;
diff --git a/css/addons/unraid/login-page/alien/wallpaper/hallway2.jpg b/css/addons/unraid/login-page/alien/wallpaper/hallway2.jpg
index 11f46c93..5b80aa8a 100644
Binary files a/css/addons/unraid/login-page/alien/wallpaper/hallway2.jpg and b/css/addons/unraid/login-page/alien/wallpaper/hallway2.jpg differ
diff --git a/css/addons/unraid/login-page/alien/wallpaper/hallway3.jpg b/css/addons/unraid/login-page/alien/wallpaper/hallway3.jpg
index 71309461..dbb85e5e 100644
Binary files a/css/addons/unraid/login-page/alien/wallpaper/hallway3.jpg and b/css/addons/unraid/login-page/alien/wallpaper/hallway3.jpg differ
diff --git a/css/addons/unraid/login-page/alien/wallpaper/noise.png b/css/addons/unraid/login-page/alien/wallpaper/noise.png
index 302cf49d..b9c59daf 100644
Binary files a/css/addons/unraid/login-page/alien/wallpaper/noise.png and b/css/addons/unraid/login-page/alien/wallpaper/noise.png differ
diff --git a/css/addons/unraid/login-page/alien/wallpaper/ripley.jpg b/css/addons/unraid/login-page/alien/wallpaper/ripley.jpg
index ff0cc01c..bae238d9 100644
Binary files a/css/addons/unraid/login-page/alien/wallpaper/ripley.jpg and b/css/addons/unraid/login-page/alien/wallpaper/ripley.jpg differ
diff --git a/css/addons/unraid/login-page/alien/wallpaper/scanner.jpg b/css/addons/unraid/login-page/alien/wallpaper/scanner.jpg
index f86fa7a0..15c5c3a9 100644
Binary files a/css/addons/unraid/login-page/alien/wallpaper/scanner.jpg and b/css/addons/unraid/login-page/alien/wallpaper/scanner.jpg differ
diff --git a/css/addons/unraid/login-page/alien/wallpaper/xeno.jpg b/css/addons/unraid/login-page/alien/wallpaper/xeno.jpg
index 8b9797d6..fcac495b 100644
Binary files a/css/addons/unraid/login-page/alien/wallpaper/xeno.jpg and b/css/addons/unraid/login-page/alien/wallpaper/xeno.jpg differ
diff --git a/css/addons/unraid/login-page/custom_login.sh b/css/addons/unraid/login-page/custom_login.sh
index b70c4a2a..a6dbbee2 100644
--- a/css/addons/unraid/login-page/custom_login.sh
+++ b/css/addons/unraid/login-page/custom_login.sh
@@ -1,12 +1,23 @@
#!/bin/bash
TYPE="retro-terminal"
THEME="green.css"
-DOMAIN="theme-park.dev" # If you update the domain after the script has been run, You must disable and re the whole theme with the DISABLE_THEME env.
+DOMAIN="theme-park.dev"
SCHEME="https"
ADD_JS="true"
JS="custom_text_header.js"
DISABLE_THEME="false"
+## FAQ
+
+ # If you update the DOMAIN variable after the script has been run,
+ # you must disable the whole theme with the DISABLE_THEME="true" env first and re-run it again after with "false".
+
+ # Your domain can be your custom domain or a github pages (user.github.io) etc. Don't add the whole URL with scheme, you only need to add the domain.
+
+ # If your custom domain uses a subfolder you must escape the forward slash. (custom.com\/subfolder)
+
+ # If you are on an Unraid version older than 6.10 you need to update the LOGIN_PAGE variable to "/usr/local/emhttp/login.php"
+
echo -e "Variables set:\\n\
TYPE = ${TYPE}\\n\
THEME = ${THEME}\\n\
@@ -16,16 +27,15 @@ ADD_JS = ${ADD_JS}\\n\
JS = ${JS}\\n\
DISABLE_THEME = ${DISABLE_THEME}\\n"
+echo "NOTE: Change the LOGIN_PAGE variable to /usr/local/emhttp/login.php if you are on a version older than 6.10"
+LOGIN_PAGE="/usr/local/emhttp/webGui/include/.login.php"
+
+
IFS='"'
set $(cat /etc/unraid-version)
UNRAID_VERSION="$2"
IFS=$' \t\n'
-LOGIN_PAGE="/usr/local/emhttp/login.php"
-# Changing file path to login.php if version >= 6.10
-if [[ "${UNRAID_VERSION}" =~ ^6.10.* ]]; then
-echo "Unraid version: ${UNRAID_VERSION}, changing path to login page"
-LOGIN_PAGE="/usr/local/emhttp/webGui/include/.login.php"
-fi
+echo "Unraid version: ${UNRAID_VERSION}"
# Restore login.php
if [ ${DISABLE_THEME} = "true" ]; then
diff --git a/css/addons/unraid/login-page/fallout/dirty_terminal.css b/css/addons/unraid/login-page/fallout/dirty_terminal.css
index 8017f2cf..ed3559ab 100644
--- a/css/addons/unraid/login-page/fallout/dirty_terminal.css
+++ b/css/addons/unraid/login-page/fallout/dirty_terminal.css
@@ -1,4 +1,4 @@
-@import url("/theme.park/css/addons/unraid/login-page/fallout/fallout_base.css");
+@import url("/theme.park/css/addons/unraid/login-page/fallout/fallout-base.css");
:root {
--main-bg-color: url(/theme.park/css/addons/unraid/login-page/fallout/wallpaper/rocky-wall.png),
url(/theme.park/css/addons/unraid/login-page/fallout/wallpaper/terminal.jpg) center center/cover no-repeat fixed;
diff --git a/css/addons/unraid/login-page/fallout/dirty_terminal2.css b/css/addons/unraid/login-page/fallout/dirty_terminal2.css
index 62693e42..d4a10876 100644
--- a/css/addons/unraid/login-page/fallout/dirty_terminal2.css
+++ b/css/addons/unraid/login-page/fallout/dirty_terminal2.css
@@ -1,4 +1,4 @@
-@import url("/theme.park/css/addons/unraid/login-page/fallout/fallout_base.css");
+@import url("/theme.park/css/addons/unraid/login-page/fallout/fallout-base.css");
:root {
--main-bg-color: url(/theme.park/css/addons/unraid/login-page/fallout/wallpaper/rocky-wall.png),
url(/theme.park/css/addons/unraid/login-page/fallout/wallpaper/terminal2.jpg) center center/cover no-repeat fixed;
diff --git a/css/addons/unraid/login-page/fallout/fallout-base.css b/css/addons/unraid/login-page/fallout/fallout-base.css
new file mode 100644
index 00000000..24c5e667
--- /dev/null
+++ b/css/addons/unraid/login-page/fallout/fallout-base.css
@@ -0,0 +1,195 @@
+@import "https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.2/animate.min.css";
+@import "https://fonts.googleapis.com/css?family=Share+Tech+Mono&display=swap";
+@import "https://fonts.googleapis.com/css?family=VT323";
+
+
+* {
+ outline: none;
+}
+
+@media (max-width: 500px) {
+ #login {
+ -webkit-backdrop-filter: blur(0px);
+ backdrop-filter: blur(0px);
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ height: 100%;
+ width: 100%;
+ border-radius: none !important;
+ }
+ .background-wrap,#video-bg-elem {display: none;}
+}
+
+html {
+ background: var(--main-bg-color) !important;
+}
+body {
+ background: var(--main-bg-color) !important;
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ height: 100%;
+ width: 100%;
+ overflow: hidden;
+}
+@media only screen and (max-width: 768px) {
+ #login {
+ min-width: 300px;
+ }
+}
+/*FOR VIDEO BACKGROUND*/
+.background-wrap {
+ position: fixed;
+ z-index: -1000;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ top: 0;
+ left: 0;
+}
+#video-bg-elem {
+ display: block;
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ transform: translate(-50%, -50%);
+ z-index: 1;
+}
+/*TEXT COLOR*/
+#login h1,
+#login h2,
+#login .error {
+ color: var(--text-color) !important;
+}
+#login a {
+ color: var(--link-color);
+}
+#login a:hover {
+ color: var(--link-color-hover);
+}
+#login input {
+ color: var(--input-color);
+}
+#login ::placeholder {
+ color: var(--input-color);
+}
+#login ::-webkit-input-placeholder {
+ color: var(--input-color);
+}
+#login ::-moz-placeholder {
+ color: var(--input-color);
+}
+#login :-ms-input-placeholder {
+ color: var(--input-color);
+}
+#login :-moz-placeholder {
+ color: var(--input-color);
+}
+#login input:focus::-webkit-input-placeholder {
+ color: transparent !important;
+}
+#login input:focus:-moz-placeholder {
+ color: transparent !important;
+}
+#login input:focus::-moz-placeholder {
+ color: transparent !important;
+}
+#login input:focus:-ms-input-placeholder {
+ color: transparent !important;
+}
+
+/*TEXT FONT*/
+#login h1,
+#login h2,
+#login a,
+#login .button,
+#login .error {
+ font-family: var(--text-font);
+}
+
+/* CASE COLOR */
+#login [class^='case-'],
+#login [class*=' case-'] {
+ font-family: cases!important;
+ speak: none;
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-transform: none;
+ color: var(--case-color);
+}
+/*INPUT FORMS*/
+#login [type=text],
+#login [type=password] {
+ font-family: var(--input-font);
+ background-color: rgba(0, 0, 0, 0.25);
+ border: 2px solid transparent;
+ text-transform: uppercase;
+ border-radius: 5px;
+}
+#login [type=text]:active,
+#login [type=text]:focus,
+#login [type=password]:active,
+#login [type=password]:focus {
+ font-family: var(--input-font);
+ background-color: rgba(0, 0, 0, 0.25);
+ border: 2px solid transparent;
+ text-transform: uppercase;
+
+}
+
+
+/*BUTTON*/
+#login .button {
+ color: var(--button-text-color);
+ background: linear-gradient(90deg, var(--button-color2) 0, var(--button-color)) 0 0 no-repeat, linear-gradient(90deg, var(--button-color2) 0, var(--button-color)) 0 100% no-repeat, linear-gradient(0deg, var(--button-color2) 0, var(--button-color2)) 0 100% no-repeat, linear-gradient(0deg, var(--button-color) 0, var(--button-color)) 100% 100% no-repeat;
+ background: -webkit-gradient(linear, left top, right top, from(var(--button-color2)), to(var(--button-color))) 0 0 no-repeat, -webkit-gradient(linear, left top, right top, from(var(--button-color2)), to(var(--button-color))) 0 100% no-repeat, -webkit-gradient(linear, left bottom, left top, from(var(--button-color2)), to(var(--button-color2))) 0 100% no-repeat, -webkit-gradient(linear, left bottom, left top, from(var(--button-color)), to(var(--button-color))) 100% 100% no-repeat;
+ background-size: 100% 2px, 100% 2px, 2px 100%, 2px 100%;
+}
+#login .button:hover {
+ color: var(--button-text-color-hover);
+ background-color: var(--button-color);
+ background: -webkit-gradient(linear, left top, right top, from(var(--button-color2)), to(var(--button-color)));
+ background: linear-gradient(90deg, var(--button-color2) 0, var(--button-color));
+}
+
+
+#login {
+ background: var(--div-background-color-15) !important;
+ -webkit-backdrop-filter: blur(10px);
+ backdrop-filter: blur(10px);
+ padding-top: 1rem;
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ transform: translate(-50%, -50%) !;
+ -ms-transform: translate(-50%, -50%);
+ -webkit-transform: translate(-50%, -50%);
+ margin: 0 !important;
+ text-transform: uppercase;
+ min-width: 300px;
+}
+
+#login .angle:after {
+ display: none;
+}
+#login .wordmark {
+ display: none;
+}
+
+#login .logo {
+ background: var(--logo);
+ background-size: contain;
+ padding: 2rem;
+ border-radius: 0;
+ margin: 0rem 1rem 0rem 1rem;
+}
+#login .error {
+ animation-name: shake;
+ animation-duration: .8s;
+}
diff --git a/css/addons/unraid/login-page/fallout/fallout_video.css b/css/addons/unraid/login-page/fallout/fallout_video.css
index 3f529e4e..facbe875 100644
--- a/css/addons/unraid/login-page/fallout/fallout_video.css
+++ b/css/addons/unraid/login-page/fallout/fallout_video.css
@@ -1,4 +1,4 @@
-@import url("/theme.park/css/addons/unraid/login-page/fallout/fallout_base.css");
+@import url("/theme.park/css/addons/unraid/login-page/fallout/fallout-base.css");
:root {
--main-bg-color: transparent;
--logo: url(/theme.park/css/addons/unraid/login-page/fallout/logo/vault-tec_green.png) center no-repeat;
diff --git a/css/addons/unraid/login-page/fallout/logo/vault-tec_green.png b/css/addons/unraid/login-page/fallout/logo/vault-tec_green.png
index 8cfa9d0d..32c850a1 100644
Binary files a/css/addons/unraid/login-page/fallout/logo/vault-tec_green.png and b/css/addons/unraid/login-page/fallout/logo/vault-tec_green.png differ
diff --git a/css/addons/unraid/login-page/fallout/logo/vault-tec_white.png b/css/addons/unraid/login-page/fallout/logo/vault-tec_white.png
index 81f7ff74..04d129d9 100644
Binary files a/css/addons/unraid/login-page/fallout/logo/vault-tec_white.png and b/css/addons/unraid/login-page/fallout/logo/vault-tec_white.png differ
diff --git a/css/addons/unraid/login-page/fallout/terminal.css b/css/addons/unraid/login-page/fallout/terminal.css
index db6721d0..dc07396a 100644
--- a/css/addons/unraid/login-page/fallout/terminal.css
+++ b/css/addons/unraid/login-page/fallout/terminal.css
@@ -1,4 +1,4 @@
-@import url("/theme.park/css/addons/unraid/login-page/fallout/fallout_base.css");
+@import url("/theme.park/css/addons/unraid/login-page/fallout/fallout-base.css");
:root {
--main-bg-color: url(/theme.park/css/addons/unraid/login-page/fallout/wallpaper/terminal.jpg) center center/cover no-repeat fixed;
--logo: url(/theme.park/css/addons/unraid/login-page/fallout/logo/vault-tec_green.png) center no-repeat;
diff --git a/css/addons/unraid/login-page/fallout/terminal2.css b/css/addons/unraid/login-page/fallout/terminal2.css
index b39c2aa6..b7aba792 100644
--- a/css/addons/unraid/login-page/fallout/terminal2.css
+++ b/css/addons/unraid/login-page/fallout/terminal2.css
@@ -1,4 +1,4 @@
-@import url("/theme.park/css/addons/unraid/login-page/fallout/fallout_base.css");
+@import url("/theme.park/css/addons/unraid/login-page/fallout/fallout-base.css");
:root {
--main-bg-color: url(/theme.park/css/addons/unraid/login-page/fallout/wallpaper/terminal2.jpg) center center/cover no-repeat fixed;
--logo: url(/theme.park/css/addons/unraid/login-page/fallout/logo/vault-tec_green.png) center no-repeat;
diff --git a/css/addons/unraid/login-page/fallout/wallpaper/terminal.jpg b/css/addons/unraid/login-page/fallout/wallpaper/terminal.jpg
index a767780c..dfa2cb2d 100644
Binary files a/css/addons/unraid/login-page/fallout/wallpaper/terminal.jpg and b/css/addons/unraid/login-page/fallout/wallpaper/terminal.jpg differ
diff --git a/css/addons/unraid/login-page/fallout/wallpaper/terminal2.jpg b/css/addons/unraid/login-page/fallout/wallpaper/terminal2.jpg
index 5424c647..4f09dbbc 100644
Binary files a/css/addons/unraid/login-page/fallout/wallpaper/terminal2.jpg and b/css/addons/unraid/login-page/fallout/wallpaper/terminal2.jpg differ
diff --git a/css/addons/whisparr/whisparr-alt-calendar/whisparr-alt-calendar.css b/css/addons/whisparr/whisparr-alt-calendar/whisparr-alt-calendar.css
new file mode 100644
index 00000000..827f6533
--- /dev/null
+++ b/css/addons/whisparr/whisparr-alt-calendar/whisparr-alt-calendar.css
@@ -0,0 +1,58 @@
+:root {
+ --calendar-in-cinemas: 53 197 244;
+ --calendar-downloading: 122 67 182;
+ --calendar-unmonitored: 173 173 173;
+ --calendar-unaired: 93 156 236;
+ --calendar-missing: 240 80 80;
+ --calendar-missing-unmonitored: 255 165 0;
+ --calendar-available: 39 194 76;
+}
+
+/* CALENDAR */
+[class*="CalendarEvent-downloaded-"] {
+ background: rgb(var(--calendar-available) / .4) !important;
+
+}
+
+[class*="CalendarEvent-missing-"],
+[class*="CalendarEvent-missingMonitored"] {
+ background-color: rgb(var(--calendar-missing) / .4);
+
+}
+
+[class*="CalendarEvent-missingUnmonitored-"] {
+ background: rgb(var(--calendar-missing-unmonitored) / .4) !important;
+
+}
+
+[class*="CalendarEvent-unreleased-"],
+[class*="CalendarEvent-continuing-"] {
+ background: rgb(var(--calendar-unaired) / .4) !important;
+
+}
+
+[class*="CalendarEvent-event-"] {
+ background: rgb(var(--calendar-unmonitored) / .4);
+}
+
+[class*="CalendarEvent-unmonitored-"] {
+ background: rgb(var(--calendar-unmonitored) / .4) !important;
+
+}
+
+[class*="CalendarEvent-downloading-"],
+[class*="CalendarEvent-queue-"] {
+ background: rgb(var(--calendar-downloading) / .4) !important;
+
+}
+
+/* Color Impaired Mode */
+
+[class*="CalendarEvent-missing-"].colorImpaired,
+[class*="CalendarEvent-missingMonitored-"].colorImpaired {
+ background: repeating-linear-gradient(90deg, rgb(var(--calendar-missing) / .2), rgb(var(--calendar-missing) / .2) 5px, rgb(var(--calendar-missing) / .4) 5px, rgb(var(--calendar-missing) / .4) 10px) !important;
+}
+
+[class*="CalendarEvent-missingUnmonitored-"].colorImpaired {
+ background: repeating-linear-gradient(90deg, rgb(var(--calendar-missing-unmonitored) / .2), rgb(var(--calendar-missing-unmonitored) / .2) 5px, rgb(var(--calendar-missing-unmonitored) / .4) 5px, rgb(var(--calendar-missing-unmonitored) / .4) 10px) !important;
+}
\ No newline at end of file
diff --git a/css/base/bazarr/bazarr-base.css b/css/base/bazarr/bazarr-base.css
index 7cb6436a..c655fb32 100644
--- a/css/base/bazarr/bazarr-base.css
+++ b/css/base/bazarr/bazarr-base.css
@@ -21,17 +21,17 @@ html {
color: var(--text-hover) !important;
}
-.mantine-Text-root[class*="bazarr-"]:not(.mantine-Badge-light span div):not(.mantine-Progress-bar div):not(a) {
+.bazarr-Text-root[class*="bazarr-"]:not(.bazarr-Badge-light span div):not(.bazarr-Progress-bar div):not(a) {
color: var(--text);
}
a,
-.mantine-Text-root.mantine-Anchor-root[class*="bazarr-"] {
+.bazarr-Text-root.bazarr-Anchor-root[class*="bazarr-"] {
color: var(--link-color);
}
a:hover,
-.mantine-Text-root.mantine-Anchor-root[class*="bazarr-"]:hover {
+.bazarr-Text-root.bazarr-Anchor-root[class*="bazarr-"]:hover {
color: var(--link-color-hover);
}
@@ -42,58 +42,56 @@ h3,
h4,
h5,
h6,
-.mantine-Blockquote-icon {
+.bazarr-Blockquote-icon {
color: var(--text-hover) !important;
}
/* HEADER */
-.mantine-Header-root[class*="bazarr-"] {
+.bazarr-Header-root[class*="bazarr-"] {
background: var(--main-bg-color);
border-bottom: 1px solid var(--transparency-light-15);
}
/* SUBHEADER */
-/* .mantine-Container-root[class*="bazarr-"] .mantine-Group-root[class*="bazarr-"]:not(td>*):not(.mantine-Card-root div), */
-#root>div>div>main>div>div.mantine-Group-root[class*="bazarr-"],
-#root>div>div>main>div>div>div.mantine-Group-root[class*="bazarr-"]:not([role="navigation"]),
-#root>div>div>main>form>div.mantine-Group-root[class*="bazarr-"] {
+#root>div>div>main>div>div.bazarr-Group-root[class*="bazarr-"],
+#root>div>div>main>form>div.bazarr-Group-root[class*="bazarr-"] {
background: var(--transparency-dark-25);
}
-.mantine-Button-icon.mantine-Button-leftIcon[class*="bazarr-"] {
+.bazarr-Button-icon.bazarr-Button-leftIcon[class*="bazarr-"] {
color: var(--text)
}
/* SIDEMENU */
-.mantine-Navbar-root[class*="bazarr-"] {
+.bazarr-Navbar-root[class*="bazarr-"] {
background: var(--transparency-dark-25);
border-right: 1px solid var(--transparency-light-15);
}
-.mantine-Divider-root .mantine-Divider-horizontal[class*="bazarr-"] {
+.bazarr-Divider-root .bazarr-Divider-horizontal[class*="bazarr-"] {
border-top-color: var(--transparency-light-10);
}
-.mantine-Navbar-root[class*="bazarr-"] .mantine-Stack-root[class*="bazarr-"] a[aria-current="page"] {
+.bazarr-Navbar-root[class*="bazarr-"] .bazarr-Stack-root[class*="bazarr-"] a[aria-current="page"] {
background: var(--transparency-dark-15) !important;
border-left: 2px solid rgb(var(--accent-color));
}
-.mantine-Navbar-root[class*="bazarr-"] .mantine-Stack-root[class*="bazarr-"] a {
+.bazarr-Navbar-root[class*="bazarr-"] .bazarr-Stack-root[class*="bazarr-"] a {
border-left: 2px solid var(--transparency-light-10);
}
-.mantine-Navbar-root[class*="bazarr-"] .mantine-Stack-root a [class*="bazarr-"]:hover:not(.mantine-Badge-light):not(.mantine-Badge-inner),
-.mantine-Navbar-root[class*="bazarr-"] .mantine-Stack-root [class*="bazarr-"]:hover:not(.mantine-Badge-light):not(.mantine-Badge-inner) {
+.bazarr-Navbar-root[class*="bazarr-"] .bazarr-Stack-root a [class*="bazarr-"]:hover:not(.bazarr-Badge-light):not(.bazarr-Badge-inner),
+.bazarr-Navbar-root[class*="bazarr-"] .bazarr-Stack-root [class*="bazarr-"]:hover:not(.bazarr-Badge-light):not(.bazarr-Badge-inner) {
color: rgb(var(--accent-color));
background: transparent;
}
-.mantine-Navbar-root[class*="bazarr-"] {
+.bazarr-Navbar-root[class*="bazarr-"] {
background: var(--main-bg-color);
}
@@ -111,11 +109,12 @@ h6,
border-bottom: 1px solid var(--transparency-light-20) !important;
}
-[class*="bazarr-"].__mantine-ref-striped tbody tr:nth-of-type(2n+1) {
+[class*="bazarr-"].__bazarr-ref-striped tbody tr:nth-of-type(2n+1),
+[class*="bazarr-"][data-striped] tbody tr:nth-of-type(2n+1) {
background: var(--transparency-dark-15) !important;
}
-.mantine-Table-root .__mantine-ref-striped .mantine-Table-striped[class*="bazarr-"] {
+.bazarr-Table-root .__bazarr-ref-striped .bazarr-Table-striped[class*="bazarr-"] {
color: var(--text)
}
@@ -124,28 +123,28 @@ h6,
color: var(--text-hover) !important;
}
-.mantine-Skeleton-root.mantine-Skeleton-visible[class*="bazarr-"]::after {
+.bazarr-Skeleton-root.bazarr-Skeleton-visible[class*="bazarr-"]::after {
background: var(--transparency-light-10);
}
-.mantine-Skeleton-root.mantine-Skeleton-visible[class*="bazarr-"]::before {
+.bazarr-Skeleton-root.bazarr-Skeleton-visible[class*="bazarr-"]::before {
background: var(--transparency-dark-25);
}
/* PAGINATION */
-.mantine-Group-child.mantine-Pagination-item {
+.bazarr-Group-child.bazarr-Pagination-item {
border: 1px solid var(--transparency-light-10);
background: var(--transparency-dark-15);
color: var(--text);
}
-.mantine-Group-child.mantine-Pagination-item[class*="bazarr-"]:disabled {
+.bazarr-Group-child.bazarr-Pagination-item[class*="bazarr-"]:disabled {
background: var(--transparency-light-15);
color: var(--text-muted);
}
-.mantine-Group-child.mantine-Pagination-item.mantine-Pagination-active[class*="bazarr-"] {
+.bazarr-Group-child.bazarr-Pagination-item.bazarr-Pagination-active[class*="bazarr-"] {
background: rgb(var(--accent-color));
color: var(--label-text-color);
}
@@ -153,328 +152,360 @@ h6,
/* BUTTONS */
-.mantine-Button-filled.mantine-Button-root.mantine-Group-child[class*="bazarr-"] {
+.bazarr-UnstyledButton-root.bazarr-Button-root {
color: var(--button-text);
background: var(--button-color);
}
-.mantine-Button-filled.mantine-Button-root.mantine-Group-child[class*="bazarr-"]:hover {
- color: var(--button-text-hover);
- background: var(--button-color-hover);
+.bazarr-UnstyledButton-root.bazarr-Button-root:disabled,
+.bazarr-UnstyledButton-root.bazarr-Button-root[data-disabled] {
+ border-color: transparent;
+ background-color: var(--transparency-light-15);
+ color: var(--text-muted);
}
-.mantine-Button-subtle.mantine-Button-root.mantine-Group-child[class*="bazarr-"]:hover {
+.bazarr-UnstyledButton-root.bazarr-Button-root:hover {
+ color: var(--button-text-hover);
+ background: var(--button-color-hover);
+ border: 1px solid var(--button-color-hover) !important;
+}
+
+.bazarr-Button-subtle.bazarr-Button-root.bazarr-Group-child[class*="bazarr-"]:hover {
background: var(--transparency-dark-15);
}
-.mantine-Button-subtle.mantine-Button-root.mantine-Group-child[class*="bazarr-"]:not(.__mantine-ref-loading):disabled {
+.bazarr-Button-subtle.bazarr-Button-root.bazarr-Group-child[class*="bazarr-"]:not(.__bazarr-ref-loading):disabled {
background: transparent;
opacity: .5;
}
-.mantine-ActionIcon-hover.mantine-ActionIcon-root[class*="bazarr-"]:hover {
+.bazarr-ActionIcon-hover.bazarr-ActionIcon-root[class*="bazarr-"]:hover {
background: var(--transparency-dark-15);
}
-.mantine-Button-filled.mantine-Button-root[class*="bazarr-"] {
+.bazarr-Button-filled.bazarr-Button-root[class*="bazarr-"] {
color: var(--button-text);
background: var(--button-color);
}
-.mantine-Button-filled.mantine-Button-root[class*="bazarr-"]:hover {
+.bazarr-Button-filled.bazarr-Button-root[class*="bazarr-"]:hover {
color: var(--button-text-hover);
background: var(--button-color-hover);
}
-[class*="bazarr-"].mantine-Switch-input:checked {
+[class*="bazarr-"].bazarr-Switch-input:checked {
background-color: rgb(var(--accent-color));
border-color: rgb(var(--accent-color));
}
-[class*="bazarr-"].mantine-Switch-input:checked::before {
+input:checked+[class*="bazarr-"] {
+ background-color: rgb(var(--accent-color)) !important;
+ border-color: rgb(var(--accent-color)) !important;
+ color: rgb(255, 255, 255);
+ transition: color 150ms ease 0s;
+}
+
+[class*="bazarr-"].bazarr-Switch-input:checked::before {
border-color: var(--label-text-color);
background: var(--label-text-color);
}
-[class*="bazarr-"].mantine-Switch-input:checked::after {
+[class*="bazarr-"].bazarr-Switch-input:checked::after {
color: var(--label-text-color);
}
-[class*="bazarr-"].mantine-Switch-label {
+[class*="bazarr-"].bazarr-Switch-label {
color: var(--text-hover);
}
-[class*="bazarr-"].mantine-Switch-input {
+[class*="bazarr-"].bazarr-Switch-input {
background: var(--transparency-dark-15);
border: 1px solid var(--transparency-light-10);
}
-.mantine-UnstyledButton-root.__mantine-ref-control.mantine-Accordion-control[class*="bazarr-"]:hover {
+.bazarr-UnstyledButton-root.__bazarr-ref-control.bazarr-Accordion-control[class*="bazarr-"]:hover {
background: var(--transparency-dark-15);
}
-.mantine-Accordion-item[class*="bazarr-"] {
+.bazarr-Accordion-item[class*="bazarr-"] {
border-bottom: var(--transparency-light-10) 1px solid;
}
-.__mantine-ref-icon.mantine-Accordion-icon[class*="bazarr-"] {
+.__bazarr-ref-icon.bazarr-Accordion-icon[class*="bazarr-"] {
color: rgb(var(--accent-color))
}
-.mantine-ActionIcon-transparent.mantine-ActionIcon-root[class*="bazarr-"] {
+.bazarr-ActionIcon-transparent.bazarr-ActionIcon-root[class*="bazarr-"] {
color: rgb(var(--accent-color))
}
-.mantine-UnstyledButton-root[class*="bazarr-"] {
- color: var(--text);
+.bazarr-UnstyledButton-root[class*="bazarr-"] {
+ color: var(--button-text);
border: 1px solid var(--transparency-light-10);
}
-.mantine-UnstyledButton-root[class*="bazarr-"]:hover {
+.bazarr-UnstyledButton-root[class*="bazarr-"]:hover {
box-shadow: rgb(0 0 0 / 5%) 0px 1px 3px, rgb(0 0 0 / 5%) 0px 20px 25px -5px, rgb(0 0 0 / 4%) 0px 10px 10px -5px;
border: 1px solid rgb(var(--accent-color));
}
-.mantine-Slider-bar[class*="bazarr-"] {
+.bazarr-Slider-bar[class*="bazarr-"] {
background: rgb(var(--accent-color));
}
-.mantine-Slider-thumb[class*="bazarr-"] {
+.bazarr-Slider-thumb[class*="bazarr-"] {
border: 4px solid rgb(var(--accent-color));
color: var(--label-text-color);
background: var(--label-text-color);
}
-.mantine-Slider-mark.mantine-Slider-markFilled[class*="bazarr-"] {
+.bazarr-Slider-mark.bazarr-Slider-markFilled[class*="bazarr-"] {
border: 2px solid var(--label-text-color);
background: var(--label-text-color);
}
-[class*="bazarr-"].mantine-Slider-track::before {
+[class*="bazarr-"].bazarr-Slider-track::before {
background: var(--transparency-dark-15);
}
-[class*="bazarr-"].mantine-Slider-mark {
+[class*="bazarr-"].bazarr-Slider-mark {
border: 2px solid rgb(var(--accent-color));
background-color: rgb(var(--accent-color))
}
/* ACTION BUTTON */
-.mantine-ActionIcon-light.mantine-ActionIcon-root[class*="bazarr-"] {
+.bazarr-ActionIcon-root[class*="bazarr-"] {
background: var(--button-color);
color: var(--button-text);
border: 1px solid var(--button-color)
}
-.mantine-ActionIcon-light.mantine-ActionIcon-root[class*="bazarr-"]:hover {
+.bazarr-ActionIcon-root[class*="bazarr-"]:disabled {
+ background: var(--transparency-light-15);
+ color: var(--text-muted);
+ border: 1px solid var(--transparency-light-15);
+}
+
+
+.bazarr-ActionIcon-root[class*="bazarr-"]:hover {
background: var(--button-color-hover);
color: var(--button-text-hover);
border: 1px solid var(--button-color-hover)
}
-.mantine-ActionIcon-hover.mantine-ActionIcon-root.mantine-Group-child[class*="bazarr-"] {
+.bazarr-ActionIcon-hover.bazarr-ActionIcon-root.bazarr-Group-child[class*="bazarr-"] {
color: var(--text);
}
/* BADGES/PROGRESSBARS */
-.mantine-Progress-root[class*="bazarr-"] {
+.bazarr-Progress-root[class*="bazarr-"] {
background: var(--transparency-dark-15);
}
-.mantine-Badge-light.mantine-Badge-root[class*="bazarr-"] {
+.bazarr-Badge-root[class*="bazarr-"]:not(#root > div > div > main > div > div > div.bazarr-Stack-root[class*="bazarr-"] > div[class*="bazarr-"] > table > tbody > tr > td > div > div > div > div) {
background-color: rgb(var(--accent-color));
color: var(--label-text-color)
}
-[class*="mantine-MultiSelect-"].mantine-MultiSelect-value[class*="bazarr-"],
-.mantine-ActionIcon-transparent.mantine-ActionIcon-root.mantine-MultiSelect-defaultValueRemove[class*="bazarr-"] {
+[class*="bazarr-MultiSelect-"].bazarr-MultiSelect-value[class*="bazarr-"],
+.bazarr-ActionIcon-transparent.bazarr-ActionIcon-root.bazarr-MultiSelect-defaultValueRemove[class*="bazarr-"] {
background: rgb(var(--accent-color));
color: var(--label-text-color)
}
/* INPUT */
-[class*="mantine-Autocomplete-"].mantine-Autocomplete-input.mantine-Autocomplete-withIcon[class*="bazarr-"],
-[class*="mantine-TextInput-"].mantine-TextInput-input[class*="bazarr-"],
-[class*="mantine-NumberInput-"].mantine-NumberInput-input[class*="bazarr-"],
-[class*="mantine-PasswordInput-"].mantine-PasswordInput-input.mantine-PasswordInput-input[class*="bazarr-"] {
+[class*="bazarr-Autocomplete-"].bazarr-Autocomplete-input.bazarr-Autocomplete-withIcon[class*="bazarr-"],
+[class*="bazarr-TextInput-"].bazarr-TextInput-input[class*="bazarr-"],
+[class*="bazarr-NumberInput-"].bazarr-NumberInput-input[class*="bazarr-"],
+[class*="bazarr-PasswordInput-"].bazarr-PasswordInput-input.bazarr-PasswordInput-input[class*="bazarr-"] {
background: var(--transparency-dark-25);
border: 1px solid var(--transparency-light-10);
color: var(--text);
}
-[class*="mantine-Autocomplete-"].mantine-Autocomplete-input.mantine-Autocomplete-withIcon[class*="bazarr-"]:focus,
-[class*="mantine-Autocomplete-"].mantine-Autocomplete-input.mantine-Autocomplete-withIcon[class*="bazarr-"]:focus-within,
-[class*="mantine-TextInput-"].mantine-TextInput-input[class*="bazarr-"]:focus,
-[class*="mantine-TextInput-"].mantine-TextInput-input[class*="bazarr-"]:focus-within,
-[class*="mantine-NumberInput-"].mantine-NumberInput-input[class*="bazarr-"]:focus,
-[class*="mantine-NumberInput-"].mantine-NumberInput-input[class*="bazarr-"]:focus-within,
-[class*="mantine-PasswordInput-"].mantine-PasswordInput-input.mantine-PasswordInput-input[class*="bazarr-"]:focus,
-[class*="mantine-PasswordInput-"].mantine-PasswordInput-input.mantine-PasswordInput-input[class*="bazarr-"]:focus-within {
+[class*="bazarr-Autocomplete-"].bazarr-Autocomplete-input.bazarr-Autocomplete-withIcon[class*="bazarr-"]:focus,
+[class*="bazarr-Autocomplete-"].bazarr-Autocomplete-input.bazarr-Autocomplete-withIcon[class*="bazarr-"]:focus-within,
+[class*="bazarr-TextInput-"].bazarr-TextInput-input[class*="bazarr-"]:focus,
+[class*="bazarr-TextInput-"].bazarr-TextInput-input[class*="bazarr-"]:focus-within,
+[class*="bazarr-NumberInput-"].bazarr-NumberInput-input[class*="bazarr-"]:focus,
+[class*="bazarr-NumberInput-"].bazarr-NumberInput-input[class*="bazarr-"]:focus-within,
+[class*="bazarr-PasswordInput-"].bazarr-PasswordInput-input.bazarr-PasswordInput-input[class*="bazarr-"]:focus,
+[class*="bazarr-PasswordInput-"].bazarr-PasswordInput-input.bazarr-PasswordInput-input[class*="bazarr-"]:focus-within {
outline: none;
border-color: rgb(var(--accent-color)) !important;
color: var(--text-hover)
}
-.mantine-NumberInput-control.mantine-NumberInput-controlUp[class*="bazarr-"] {
+.bazarr-NumberInput-control.bazarr-NumberInput-controlUp[class*="bazarr-"] {
border-bottom-color: var(--transparency-light-10);
border-left-color: var(--transparency-light-10);
}
-.mantine-NumberInput-control.mantine-NumberInput-controlDown[class*="bazarr-"] {
+.bazarr-NumberInput-control.bazarr-NumberInput-controlDown[class*="bazarr-"] {
border-left-color: var(--transparency-light-10);
}
-.mantine-NumberInput-control.mantine-NumberInput-controlUp[class*="bazarr-"]::after {
+.bazarr-NumberInput-control.bazarr-NumberInput-controlUp[class*="bazarr-"]::after {
border-color: transparent transparent var(--text);
}
-.mantine-NumberInput-control.mantine-NumberInput-controlDown[class*="bazarr-"]::after {
+.bazarr-NumberInput-control.bazarr-NumberInput-controlDown[class*="bazarr-"]::after {
border-color: var(--text) transparent transparent;
}
-[class*="bazarr-"].mantine-Checkbox-inner input {
+[class*="bazarr-"].bazarr-Checkbox-inner input {
background: var(--transparency-dark-15);
border: 1px solid var(--transparency-light-10);
}
-[class*="bazarr-"].mantine-Checkbox-input:checked {
+[class*="bazarr-"].bazarr-Checkbox-input:checked {
background-color: rgb(var(--accent-color));
border-color: rgb(var(--accent-color));
}
-.__mantine-ref-icon[class*="bazarr-"].mantine-Checkbox-icon {
+.__bazarr-ref-icon[class*="bazarr-"].bazarr-Checkbox-icon {
color: var(--label-text-color)
}
-[class*="mantine-TextInput-"].mantine-TextInput-input[class*="bazarr-"],
-[class*="mantine-Autocomplete-"].mantine-Autocomplete-input.mantine-Autocomplete-withIcon[class*="bazarr-"] {
+[class*="bazarr-TextInput-"].bazarr-TextInput-input[class*="bazarr-"],
+[class*="bazarr-Autocomplete-"].bazarr-Autocomplete-input.bazarr-Autocomplete-withIcon[class*="bazarr-"] {
color: var(--text);
}
textarea,
-[class*="mantine-Textarea-"].mantine-Textarea-input[class*="bazarr-"] {
+[class*="bazarr-Textarea-"].bazarr-Textarea-input[class*="bazarr-"] {
background: var(--transparency-dark-15);
}
textarea:focus,
-[class*="mantine-Textarea-"].mantine-Textarea-input[class*="bazarr-"]:focus,
+[class*="bazarr-Textarea-"].bazarr-Textarea-input[class*="bazarr-"]:focus,
textarea:focus-within,
-[class*="mantine-Textarea-"].mantine-Textarea-input[class*="bazarr-"]:focus-within {
+[class*="bazarr-Textarea-"].bazarr-Textarea-input[class*="bazarr-"]:focus-within {
border-color: rgb(var(--accent-color)) !important;
}
/* SELECT */
-.mantine-Select-wrapper[class*="bazarr-"] input,
-[class*="mantine-MultiSelect-"].mantine-MultiSelect-input[class*="bazarr-"] {
+.bazarr-Select-wrapper[class*="bazarr-"] input,
+[class*="bazarr-MultiSelect-"].bazarr-MultiSelect-input[class*="bazarr-"] {
background-color: var(--transparency-dark-15);
color: var(--text);
border: 1px solid var(--transparency-light-10);
}
-[class*="mantine-MultiSelect-"].mantine-MultiSelect-input[class*="bazarr-"]:focus,
-[class*="mantine-MultiSelect-"].mantine-MultiSelect-input[class*="bazarr-"]:focus-within {
+[class*="bazarr-MultiSelect-"].bazarr-MultiSelect-input[class*="bazarr-"]:focus,
+[class*="bazarr-MultiSelect-"].bazarr-MultiSelect-input[class*="bazarr-"]:focus-within {
border-color: rgb(var(--accent-color)) !important;
}
-.mantine-Select-wrapper[class*="bazarr-"] input:focus,
-.mantine-Select-wrapper[class*="bazarr-"] input:focus-within {
+.bazarr-Select-wrapper[class*="bazarr-"] input:focus,
+.bazarr-Select-wrapper[class*="bazarr-"] input:focus-within {
outline: none;
border-color: rgb(var(--accent-color)) !important;
}
/* DROPDOWNS */
-.mantine-Paper-root.mantine-Menu-body[class*="bazarr-"] {
+.bazarr-Select-dropdown {
+ background: rgba(255, 0, 0, 0.283);
+}
+
+.bazarr-Paper-root.bazarr-Menu-body[class*="bazarr-"],
+.bazarr-Menu-dropdown[class*="bazarr-"] {
border: 1px solid var(--transparency-light-10);
background: var(--drop-down-menu-bg);
}
-[class*="bazarr-"].mantine-Menu-itemInner {
+[class*="bazarr-"].bazarr-Menu-itemInner {
color: var(--text);
}
-.mantine-Menu-item.mantine-Menu-itemHovered[class*="bazarr-"] {
+.bazarr-Menu-item[class*="bazarr-"]:disabled [class*="bazarr-"].bazarr-Menu-itemInner {
+ color: var(--text-muted) !important;
+}
+
+.bazarr-Menu-item.bazarr-Menu-itemHovered[class*="bazarr-"] {
background-color: var(--transparency-light-10);
color: var(--text-hover);
}
-.mantine-Menu-item[class*="bazarr-"]:hover {
+.bazarr-Menu-item[class*="bazarr-"]:hover {
color: var(--text-hover);
+ background-color: var(--transparency-light-10);
}
-.mantine-ScrollArea-root.mantine-Paper-root.mantine-Select-dropdown[class*="bazarr-"] {
+.bazarr-ScrollArea-root.bazarr-Paper-root.bazarr-Select-dropdown[class*="bazarr-"] {
background: var(--drop-down-menu-bg);
border: 1px solid var(--drop-down-menu-bg);
}
-.mantine-Select-item.mantine-Select-selected[class*="bazarr-"] {
+.bazarr-Select-item.bazarr-Select-selected[class*="bazarr-"] {
background: var(--transparency-light-10);
}
-[class*="bazarr-"].mantine-Select-item:hover {
+[class*="bazarr-"].bazarr-Select-item:hover {
background: var(--transparency-dark-15)
}
-.mantine-ScrollArea-root.mantine-Paper-root.mantine-Autocomplete-dropdown[class*="bazarr-"] {
+.bazarr-ScrollArea-root.bazarr-Paper-root.bazarr-Autocomplete-dropdown[class*="bazarr-"] {
background: var(--drop-down-menu-bg);
color: var(--text);
border: 1px solid var(--drop-down-menu-bg);
}
-.mantine-Autocomplete-item.mantine-Autocomplete-hovered[class*="bazarr-"] {
+.bazarr-Autocomplete-item.bazarr-Autocomplete-hovered[class*="bazarr-"] {
background: var(--transparency-dark-15);
}
-[class*="bazarr-"].mantine-Autocomplete-item {
+[class*="bazarr-"].bazarr-Autocomplete-item {
color: var(--text);
}
/* MODAL */
-.mantine-Paper-root.mantine-Modal-modal[class*="bazarr-"] {
+.bazarr-Paper-root.bazarr-Modal-modal[class*="bazarr-"] {
color: var(--text);
box-shadow: rgb(0 0 0 / 5%) 0px 1px 3px, rgb(0 0 0 / 5%) 0px 28px 23px -7px, rgb(0 0 0 / 4%) 0px 12px 12px -7px;
background: var(--modal-bg-color);
}
-.mantine-Divider-root.mantine-Divider-horizontal[class*="bazarr-"] {
+.bazarr-Divider-root.bazarr-Divider-horizontal[class*="bazarr-"] {
border-top-color: var(--transparency-light-10);
}
-.mantine-ActionIcon-hover.mantine-ActionIcon-root.mantine-Modal-close[class*="bazarr-"]:hover {
+.bazarr-ActionIcon-hover.bazarr-ActionIcon-root.bazarr-Modal-close[class*="bazarr-"]:hover {
background: var(--transparency-dark-15);
}
-.mantine-ActionIcon-hover.mantine-ActionIcon-root.mantine-Modal-close[class*="bazarr-"] {
+.bazarr-ActionIcon-hover.bazarr-ActionIcon-root.bazarr-Modal-close[class*="bazarr-"] {
color: var(--text);
}
-.mantine-ActionIcon-hover.mantine-ActionIcon-root[class*="bazarr-"] {
+.bazarr-ActionIcon-hover.bazarr-ActionIcon-root[class*="bazarr-"] {
color: var(--text);
}
/* RELEASES */
-.mantine-Paper-root.mantine-Card-root[class*="bazarr-"] {
+.bazarr-Paper-root.bazarr-Card-root[class*="bazarr-"] {
background: var(--transparency-dark-15);
}
-.mantine-List-item[class*="bazarr-"] {
+.bazarr-List-item[class*="bazarr-"] {
color: var(--text);
}
/* ALERTS */
-.mantine-Alert-root.mantine-Alert-light[class*="bazarr-"] {
+.bazarr-Alert-root[class*="bazarr-"] {
background: var(--transparency-dark-15);
}
-[class*="bazarr-"].mantine-Alert-message {
+[class*="bazarr-"].bazarr-Alert-message {
color: var(--text);
}
-[class*="bazarr-"].mantine-Alert-label {
+[class*="bazarr-"].bazarr-Alert-label {
color: var(--text-hover)
}
@@ -500,41 +531,41 @@ line {
}
/* NOTIFICATIONS */
-.mantine-Notification-root.mantine-Notification-withIcon[class*="bazarr-"],
-.mantine-Notification-root[class*="bazarr-"] {
+.bazarr-Notification-root.bazarr-Notification-withIcon[class*="bazarr-"],
+.bazarr-Notification-root[class*="bazarr-"] {
background: var(--drop-down-menu-bg);
border: 1px solid var(--drop-down-menu-bg);
}
code,
-.mantine-Code-root[class*="bazarr-"] {
+.bazarr-Code-root[class*="bazarr-"] {
background: rgb(var(--accent-color));
color: var(--label-text-color);
}
-.mantine-Code-root.mantine-Code-block[class*="bazarr-"] {
+.bazarr-Code-root.bazarr-Code-block[class*="bazarr-"] {
background: var(--transparency-dark-15);
color: var(text);
}
/* SPINNER */
-.mantine-Notification-root.mantine-Notification-withIcon[class*="bazarr-"] svg {
+.bazarr-Notification-root.bazarr-Notification-withIcon[class*="bazarr-"] svg {
stroke: rgb(var(--accent-color));
}
/* PROGRESSBAR */
-[class*="bazarr-"].mantine-Progress-bar[style="width: 100%;"] {
+[class*="bazarr-"].bazarr-Progress-bar[style="width: 100%;"] {
background: rgb(var(--accent-color));
}
-[class*="bazarr-"].mantine-Progress-bar[style="width: 100%;"] .mantine-Text-root.mantine-Progress-label[class*="bazarr-"] {
+[class*="bazarr-"].bazarr-Progress-bar[style="width: 100%;"] .bazarr-Text-root.bazarr-Progress-label[class*="bazarr-"] {
color: var(--label-text-color);
}
/* LOADER */
-.mantine-LoadingOverlay-root[class*="bazarr-"] svg {
+.bazarr-LoadingOverlay-root[class*="bazarr-"] svg {
stroke: rgb(var(--accent-color));
}
\ No newline at end of file
diff --git a/css/base/calibreweb/calibreweb-base.css b/css/base/calibreweb/calibreweb-base.css
index 344b474d..26729b94 100644
--- a/css/base/calibreweb/calibreweb-base.css
+++ b/css/base/calibreweb/calibreweb-base.css
@@ -14,16 +14,17 @@
/* Set theme to CaliBlur in UI Configuration -> View Configuration -> Theme -> CaliBlur -> Submit */
/* APP VARS*/
-@import url("/theme.park/css/defaults/placeholders.css");
-@import url("/theme.park/css/defaults/transparent.css");
+ @import url("/theme.park/css/defaults/placeholders.css");
+ @import url("/theme.park/css/defaults/transparent.css");
:root {
- --color-background: var(--main-bg-color);
- --color-primary: rgb(var(--accent-color));
- --color-secondary: var(--button-color);
- --color-secondary-hover: var(--button-color-hover);
- --color-background-mobile: var(--main-bg-color);
- }
+ --color-background: var(--main-bg-color);
+ --color-primary: rgb(var(--accent-color));
+ --color-secondary: var(--button-color);
+ --color-secondary-hover: var(--button-color-hover);
+ --color-background-mobile: var(--main-bg-color);
+ }
+
*,
*:focus,
*:active,
@@ -32,11 +33,23 @@
outline: none !important;
}
+ body:not(.blur):not(.login):not(.me):not(.author):not(.editbook):not(.upload):not(.shelfedit):not(.langlist):not(.authorlist):not(.serieslist):not(.catlist):not(.shelforder):not(.admin):not(.modal-open)>div.container-fluid>div.row-fluid>div.col-sm-10:after {
+ background: var(--main-bg-color) !important;
+ background-image: none !important;
+ }
+
body:not(.read-frame) {
background: var(--main-bg-color) !important;
background-image: none;
}
+ body.advsearch:not(.blur)>div.container-fluid>div.row-fluid>div.col-sm-10>div.col-sm-8:before,
+ body.book:not(.blur)>div.container-fluid>div.row-fluid>div.col-sm-10>div.single:before,
+ body.stat:not(.blur)>div.container-fluid>div.row-fluid>div.col-sm-10:before,
+ body:not(.blur):not(.me):not(.author):not(.editbook):not(.upload):not(.shelfedit):not(.admin):not(.modal-open)>div.container-fluid>div.row-fluid>div.col-sm-10>div.discover:first-of-type:before {
+ background: var(--main-bg-color) !important;
+ }
+
.blur-wrapper:after {
background: var(--main-bg-color) !important;
}
@@ -122,6 +135,11 @@
color: var(--text-hover)
}
+
+ .hr {
+ background-color: var(--transparency-light-15) !important;
+ }
+
/* LINKS */
a,
body.admin,
@@ -152,6 +170,19 @@
color: var(--text-hover) !important;
}
+ .table-hover>tbody>tr:hover {
+ background-color: var(--transparency-light-10);
+ }
+
+ .table>tbody>tr>td,
+ .table>tbody>tr>th,
+ .table>tfoot>tr>td,
+ .table>tfoot>tr>th,
+ .table>thead>tr>td,
+ .table>thead>tr>th {
+ border-top: 1px solid var(--transparency-light-05);
+ background: rgba(0, 0, 0, .15);
+ }
/* MODAL */
.modal-content {
@@ -328,14 +359,16 @@
box-shadow: 0 0 4px rgba(0, 0, 0, 0.6);
line-height: 24px;
}
+
.cover {
- box-shadow: 0 0 4px rgba(0, 0, 0, 0.6);
- }
-
- .cover .read {
- padding: 0 0;
- line-height: 15px;
- }
- body.serieslist.grid-view div.container-fluid > div > div.col-sm-10::before {
- display: none;
- }
\ No newline at end of file
+ box-shadow: 0 0 4px rgba(0, 0, 0, 0.6);
+ }
+
+ .cover .read {
+ padding: 0 0;
+ line-height: 15px;
+ }
+
+ body.serieslist.grid-view div.container-fluid>div>div.col-sm-10::before {
+ display: none;
+ }
\ No newline at end of file
diff --git a/css/base/emby/emby-base.css b/css/base/emby/emby-base.css
index ece17185..4c992a64 100644
--- a/css/base/emby/emby-base.css
+++ b/css/base/emby/emby-base.css
@@ -235,7 +235,8 @@ html {
.raised:not(.nobackdropfilter) {
background: rgba(85, 85, 85, .3);
-webkit-backdrop-filter: saturate(1.8) blur(1.5em);
- backdrop-filter: saturate(1.8) blur(1.5em)
+ backdrop-filter: saturate(1.8) blur(1.5em);
+ color: var(--transparency-light-95);
}
.dialog-blur,
diff --git a/css/base/lidarr/lidarr-base.css b/css/base/lidarr/lidarr-base.css
index 07c21433..8824e320 100644
--- a/css/base/lidarr/lidarr-base.css
+++ b/css/base/lidarr/lidarr-base.css
@@ -15,12 +15,11 @@
@import url("/theme.park/css/defaults/servarr-base.css");
:root {
- --calendar-downloading: 122 67 182;
--calendar-downloaded: 39 194 76;
- --calendar-unreleased: 93 156 236;
- --calendar-partial: 255, 165, 0;
+ --calendar-downloading: 122 67 182;
--calendar-unmonitored: 173 173 173;
--calendar-missing: 240 80 80;
+ --calendar-unreleased: 93 156 236;
}
/* LIDARR SPECIFIC */
@@ -213,56 +212,21 @@
}
/* CALENDAR */
-[class*="CalendarEvent-downloaded-"] {
- background: rgb(var(--calendar-available) / .7) !important;
- border-left-color: transparent !important;
+[class*="CalendarEvent-event-"]>div>div>a {
+ color: var(--transparency-light-95) !important;
}
-[class*="Calendar-calendar-"] [class*="CalendarEvent-downloaded-"]:hover {
- background: rgb(var(--calendar-available) / .5) !important;
- border-left-color: transparent !important;
+/* Color Impaired Mode */
+[class*="CalendarEvent-unmonitored-"].colorImpaired {
+ background: repeating-linear-gradient(90deg, rgb(var(--calendar-unmonitored) / .2), rgb(var(--calendar-unmonitored) / .2) 5px, rgb(var(--calendar-unmonitored) / .4) 5px, rgb(var(--calendar-unmonitored) / .4) 10px) !important;
}
-[class*="CalendarEvent-missing-"] {
- background: rgb(var(--calendar-missing) / .7) !important;
- border-left-color: transparent !important;
+[class*="CalendarEvent-missing-"].colorImpaired{
+ background: repeating-linear-gradient(90deg, rgb(var(--calendar-missing) / .2), rgb(var(--calendar-missing) / .2) 5px, rgb(var(--calendar-missing) / .4) 5px, rgb(var(--calendar-missing) / .4) 10px) !important;
}
-[class*="Calendar-calendar-"] [class*="CalendarEvent-missing-"]:hover {
- background: rgba(var(--calendar-missing) / .5) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-unreleased-"] {
- background: rgb(var(--calendar-unaired) / .7) !important;
- border-left-color: transparent !important;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-unreleased-"]:hover {
- background: rgb(var(--calendar-unaired) / .5) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-unmonitored-"] {
- background: rgb(var(--calendar-unmonitored) / .7) !important;
- border-left-color: transparent !important;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-unmonitored-"]:hover {
- background: rgb(var(--calendar-unmonitored) / .5) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-downloading-"],
-[class*="CalendarEvent-queue-"] {
- background: rgb(var(--calendar-downloading) / .7) !important;
- border-left-color: transparent !important;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-downloading-"]:hover,
-[class*="Calendar-calendar-"] [class*="CalendarEvent-queue-"]:hover {
- background: rgb(var(--calendar-downloading) / .5) !important;
- border-left-color: transparent !important;
+[class*="CalendarEvent-unreleased-"].colorImpaired{
+ background: repeating-linear-gradient(90deg, rgb(var(--calendar-unreleased) / .2), rgb(var(--calendar-unreleased) / .2) 5px, rgb(var(--calendar-unreleased) / .4) 5px, rgb(var(--calendar-unreleased) / .4) 10px) !important;
}
[class*="ArtistIndexHeader-sortName-"]:hover,
diff --git a/css/base/ombi/ombi-base.css b/css/base/ombi/ombi-base.css
index b2486f8b..a3e597db 100644
--- a/css/base/ombi/ombi-base.css
+++ b/css/base/ombi/ombi-base.css
@@ -83,7 +83,7 @@ a:hover {
/* TOP NAV */
.top-search-bar .mat-form-field-flex {
- border: 1px solid rgba(255, 255, 255, 0.10);
+ border: 1px solid rgba(255, 255, 255, 0.10) !important;
background: var(--transparency-dark-45);
}
@@ -271,55 +271,20 @@ a:hover {
}
} */
-/* MOBILE */
-@media (min-width: 768px) {
- .sidenav-container .sidenav {
- background: var(--transparency-dark-45) !important;
- }
+.detailed-container {
+ border: none !important;
+ background-color: var(--transparency-dark-25) !important;
}
-
-
-@media (max-width: 768px) {
- .p-carousel-item {
- min-height: 230px !important;
- max-width: 11.7rem !important
- }
-
- .p-carousel .p-carousel-content .p-carousel-next,
- .p-carousel .p-carousel-content .p-carousel-prev {
- display: none;
- }
-
- .right {
- text-align: right !important;
- margin-top: -61px;
- }
-}
-
-.p-carousel-item {
- min-height: 290px;
- max-height: 290px;
- max-width: 12rem;
-}
-
-@media (max-width: 768px) {
- .section h2 {
- margin-left: 5px !important;
- }
-}
-
-@media (min-width: 768px) {
- .section h2 {
- margin-left: 63px !important;
- }
+.detailed-container .poster {
+ border: 1px solid transparent !important;
}
/* CARDS */
-.ombi-card {
+ .ombi-card {
padding: 0px !important;
margin: 5px !important;
}
-
+/*
#cardImage,
.ombi-card {
border-radius: .75rem !important;
@@ -328,7 +293,7 @@ a:hover {
#cardImage {
min-height: 225px;
}
-
+*/
.p-carousel-indicators,
.p-carousel-items-container {
display: flex;
@@ -339,11 +304,8 @@ a:hover {
.c .card-top-info {
top: -1px !important;
position: absolute;
- border-radius: .75rem .75rem 0 0 !important;
- background-color: var(--transparency-dark-70) !important;
- backdrop-filter: blur(10px) !important;
- -webkit-backdrop-filter: blur(10px) !important;
- transition: 0s -webkit-filter linear;
+ border-radius:10px 10px 0 0 !important;
+ background-color: var(--transparency-dark-90) !important;
}
.ombi-card .button-request-container .button-request {
diff --git a/css/base/overseerr/overseerr-base.css b/css/base/overseerr/overseerr-base.css
index 16a34747..6fa1d8bc 100644
--- a/css/base/overseerr/overseerr-base.css
+++ b/css/base/overseerr/overseerr-base.css
@@ -2,18 +2,24 @@
@import url("/theme.park/css/defaults/transparent.css");
/* TEXT */
-[class*="text-gray-"]:not(button:disabled):not(button) {
+[class*="text-gray-"]:not(button:disabled):not(button):not(.text-gray-100) {
color: var(--text);
}
-[class*="text-indigo-"]:not(.text-indigo-100) {
- color: rgb(var(--accent-color))
+[class*="text-indigo-"]:not(.text-indigo-100),
+.text-overseerr {
+ color: rgb(var(--accent-color));
}
.text-indigo-100 {
color: var(--label-text-color);
}
+.text-gray-400,
+.text-gray-200 {
+ color: var(--transparency-light-95) !important;
+}
+
h1,
h2,
h3,
@@ -68,13 +74,21 @@ button[class*="bg-indigo-"],
button[class*="bg-gray-"],
button[class*="border-indigo-"],
button[class*="border-gray-"],
-#__next > div > div.relative.flex.flex-col.flex-1.w-0.min-w-0.mb-16.lg\:ml-64 > main > div > div > div.relative.z-40.mt-6.mb-12.lg\:flex.lg\:items-end.lg\:justify-between.lg\:space-x-5 > div.flex.flex-col-reverse.mt-6.space-y-4.space-y-reverse.justify-stretch.lg\:flex-row.lg\:justify-end.lg\:space-x-reverse.lg\:space-y-0.lg\:space-x-3 > a,
+#__next>div>div.relative.flex.flex-col.flex-1.w-0.min-w-0.mb-16.lg\:ml-64>main>div>div>div.relative.z-40.mt-6.mb-12.lg\:flex.lg\:items-end.lg\:justify-between.lg\:space-x-5>div.flex.flex-col-reverse.mt-6.space-y-4.space-y-reverse.justify-stretch.lg\:flex-row.lg\:justify-end.lg\:space-x-reverse.lg\:space-y-0.lg\:space-x-3>a,
button.input-action {
- background-color: var(--button-color);
- border-color: var(--button-color);
+ background-color: rgb(var(--accent-color), .5);
+ border-color: rgb(var(--accent-color), .5);
color: var(--button-text);
}
+#headlessui-listbox-button-\:r5\:>span:nth-child(1)>span.ml-1.truncate.text-gray-400 {
+ color: var(--button-text);
+}
+
+.focus\:border-blue-300:focus {
+ border-color: rgb(var(--accent-color)) !important;
+}
+
button[type="submit"],
button[class="input-action"] {
color: var(--button-text)
@@ -86,10 +100,10 @@ button[class*="border-indigo-"]:hover,
button[class*="border-gray-"]:hover,
button.input-action:hover,
button[class="input-action"]:hover,
-#__next > div > div.relative.flex.flex-col.flex-1.w-0.min-w-0.mb-16.lg\:ml-64 > main > div > div > div.relative.z-40.mt-6.mb-12.lg\:flex.lg\:items-end.lg\:justify-between.lg\:space-x-5 > div.flex.flex-col-reverse.mt-6.space-y-4.space-y-reverse.justify-stretch.lg\:flex-row.lg\:justify-end.lg\:space-x-reverse.lg\:space-y-0.lg\:space-x-3 > a:hover {
- background-color: var(--button-color-hover);
- border-color: var(--button-color-hover);
- color: var(--button-text-hover);
+#__next>div>div.relative.flex.flex-col.flex-1.w-0.min-w-0.mb-16.lg\:ml-64>main>div>div>div.relative.z-40.mt-6.mb-12.lg\:flex.lg\:items-end.lg\:justify-between.lg\:space-x-5>div.flex.flex-col-reverse.mt-6.space-y-4.space-y-reverse.justify-stretch.lg\:flex-row.lg\:justify-end.lg\:space-x-reverse.lg\:space-y-0.lg\:space-x-3>a:hover {
+ background-color: rgb(var(--accent-color), .8);
+ border-color: rgb(var(--accent-color), .8);
+ color: var(--button-text-hover) !important;
}
button[type="submit"]:hover,
@@ -123,13 +137,36 @@ textarea:focus {
input[type=password],
input[type=text],
-select,
textarea {
border-color: rgba(255, 255, 255, .1);
background: var(--transparency-dark-25);
color: var(--text);
}
+select:focus {
+ border-color: rgba(255, 255, 255, .1) !important;
+ background: var(--drop-down-menu-bg) !important;
+ color: var(--text) !important;
+}
+
+select,
+#__next>div>div.relative.mb-16.flex.w-0.min-w-0.flex-1.flex-col.lg\:ml-64>main>div>div>div.mb-4.flex.flex-col.justify-between.lg\:flex-row.lg\:items-end>div.mt-2.flex.flex-grow.flex-col.sm\:flex-row.lg\:flex-grow-0>div>span {
+ border-color: rgba(255, 255, 255, .1) !important;
+ background: var(--transparency-dark-25) !important;
+ color: var(--text) !important;
+}
+
+select {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;
+ background-position: right .5rem center !important;
+ background-repeat: no-repeat !important;
+ background-size: 1.5em 1.5em !important;
+ padding-right: 2.5rem !important;
+ -webkit-print-color-adjust: exact !important;
+ color-adjust: exact !important;
+ print-color-adjust: exact !important;
+}
+
input[type=checkbox] {
color: rgba(var(--accent-color));
}
@@ -154,6 +191,7 @@ body>div.fixed.top-0.bottom-0.left-0.right-0.z-50.flex.items-center.justify-cent
span.bg-indigo-500 {
background-color: rgb(var(--accent-color));
color: var(--label-text-color) !important;
+ border-color: rgb(var(--accent-color));
}
.react-select-container .react-select__control {
@@ -197,9 +235,9 @@ body {
color: var(--text);
}
-.bg-gray-800 {
- --tw-bg-opacity: 0.05;
- background-color: rgb(255, 255, 255, var(--tw-bg-opacity));
+[data-popper-placement] {
+ background: rgb(var(--accent-color)) !important;
+ color: var(--label-text-color) !important;
}
.hover\:bg-gray-700:hover {
@@ -274,14 +312,30 @@ body {
--tw-gradient-to: rgb(var(--accent-color), .8);
}
-#__next>div>div.fixed.top-0.bottom-0.left-0.z-30.hidden.lg\:flex.lg\:flex-shrink-0>div>div>div>nav>a.flex.group.items-center.px-2.py-2.text-lg.leading-6.font-medium.rounded-md.text-white.focus\:outline-none.transition.ease-in-out.duration-150.bg-gradient-to-br.from-indigo-600.to-purple-600.hover\:from-indigo-500.hover\:to-purple-500,
-#__next>div>div.lg\:hidden>div>div.relative.flex.flex-col.flex-1.w-full.max-w-xs.bg-gray-800.sidebar.appear-done.enter-done>div.flex.flex-col.flex-1.h-0.pt-8.pb-8.overflow-y-auto.sm\:pb-4>nav>a.flex.items-center.px-2.py-2.text-base.leading-6.font-medium.rounded-md.text-white.focus\:outline-none.transition.ease-in-out.duration-150.bg-gradient-to-br.from-indigo-600.to-purple-600.hover\:from-indigo-500.hover\:to-purple-500 {
- --tw-gradient-from: rgb(var(--accent-color), .5);
- --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(var(--accent-color), .5));
+[role="menuitem"]:hover {
+ background: rgb(var(--accent-color), .3);
}
#__next>div>div.fixed.top-0.bottom-0.left-0.z-30.hidden.lg\:flex.lg\:flex-shrink-0>div>div>div>nav>a.flex.group.items-center.px-2.py-2.text-lg.leading-6.font-medium.rounded-md.text-white.focus\:outline-none.transition.ease-in-out.duration-150.bg-gradient-to-br.from-indigo-600.to-purple-600.hover\:from-indigo-500.hover\:to-purple-500,
-#__next > div > div.fixed.top-0.bottom-0.left-0.z-30.hidden.lg\:flex.lg\:flex-shrink-0 > div > div > div > nav > a.flex.group.items-center.px-2.py-2.text-lg.leading-6.font-medium.rounded-md.text-white.focus\:outline-none.transition.ease-in-out.duration-150.bg-gradient-to-br.from-indigo-600.to-purple-600.hover\:from-indigo-500.hover\:to-purple-500 > svg {
+#__next>div>div.lg\:hidden>div>div.relative.flex.flex-col.flex-1.w-full.max-w-xs.bg-gray-800.sidebar.appear-done.enter-done>div.flex.flex-col.flex-1.h-0.pt-8.pb-8.overflow-y-auto.sm\:pb-4>nav>a.flex.items-center.px-2.py-2.text-base.leading-6.font-medium.rounded-md.text-white.focus\:outline-none.transition.ease-in-out.duration-150.bg-gradient-to-br.from-indigo-600.to-purple-600.hover\:from-indigo-500.hover\:to-purple-500 {
+ --tw-gradient-from: rgb(var(--accent-color), .3);
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(var(--accent-color), .3));
+}
+
+.from-indigo-600 {
+ --tw-gradient-from: rgb(var(--accent-color), .3);
+ --tw-gradient-to: rgba(var(--accent-color), .3);
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
+}
+
+.from-indigo-600:hover {
+ --tw-gradient-from: rgb(var(--accent-color), .7);
+ --tw-gradient-to: rgba(var(--accent-color), .7);
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
+}
+
+#__next>div>div.fixed.top-0.bottom-0.left-0.z-30.hidden.lg\:flex.lg\:flex-shrink-0>div>div>div>nav>a.flex.group.items-center.px-2.py-2.text-lg.leading-6.font-medium.rounded-md.text-white.focus\:outline-none.transition.ease-in-out.duration-150.bg-gradient-to-br.from-indigo-600.to-purple-600.hover\:from-indigo-500.hover\:to-purple-500,
+#__next>div>div.fixed.top-0.bottom-0.left-0.z-30.hidden.lg\:flex.lg\:flex-shrink-0>div>div>div>nav>a.flex.group.items-center.px-2.py-2.text-lg.leading-6.font-medium.rounded-md.text-white.focus\:outline-none.transition.ease-in-out.duration-150.bg-gradient-to-br.from-indigo-600.to-purple-600.hover\:from-indigo-500.hover\:to-purple-500>svg {
color: rgb(var(--accent-color)) !important;
}
@@ -315,9 +369,9 @@ body>div.fixed.top-0.left-0.z-50.w-full.transition-opacity.ease-out.duration-400
background-color: rgb(var(--accent-color));
}
-body>div.fixed.top-0.left-0.z-50.w-full .bg-indigo-400 {
+/* body>div.fixed.top-0.left-0.z-50.w-full .bg-indigo-400 {
background-color: rgb(var(--accent-color));
-}
+} */
/* DISCOVER PAGE */
@@ -330,9 +384,15 @@ a.slider-title:hover {
color: var(--accent-color-hover);
}
+/* CARDS */
+#__next>div>div.relative.mb-16.flex.w-0.min-w-0.flex-1.flex-col.lg\:ml-64>main>div>div>div>div.hide-scrollbar.relative.-my-2.-ml-4.-mr-4.overflow-y-auto.overflow-x-scroll.overscroll-x-contain.whitespace-nowrap.px-2.py-2>div>a,
+#__next>div>div.relative.mb-16.flex.w-0.min-w-0.flex-1.flex-col.lg\:ml-64>main>div>div>div>div>div.hide-scrollbar.relative.-my-2.-ml-4.-mr-4.overflow-y-auto.overflow-x-scroll.overscroll-x-contain.whitespace-nowrap.px-2.py-2>div>a>div {
+ background: var(--transparency-light-15)
+}
+
/* CARD HOVER */
#__next>div>div.relative.flex.flex-col.flex-1.w-0.min-w-0.mb-16.lg\:ml-64>main>div>div>div>div.relative.px-2.py-2.-my-2.-ml-4.-mr-4.overflow-x-scroll.overflow-y-auto.whitespace-nowrap.hide-scrollbar.overscroll-x-contain>div>div>div>div>div:hover a {
- background: linear-gradient(rgba(var(--accent-color), 0.3) 0%, rgba(0,0,0,.7) 100%) !important;
+ background: linear-gradient(rgba(var(--accent-color), 0.3) 0%, rgba(0, 0, 0, .7) 100%) !important;
}
#__next>div>div.relative.flex.flex-col.flex-1.w-0.min-w-0.mb-16.lg\:ml-64>main>div>div>div>div.relative.px-2.py-2.-my-2.-ml-4.-mr-4.overflow-x-scroll.overflow-y-auto.whitespace-nowrap.hide-scrollbar.overscroll-x-contain>div>div>div.absolute.inset-0.z-0>div.absolute.inset-0 {
@@ -340,13 +400,13 @@ a.slider-title:hover {
}
#__next>div>div.relative.flex.flex-col.flex-1.w-0.min-w-0.mb-16.lg\:ml-64>main>div>div>div>div.relative.px-2.py-2.-my-2.-ml-4.-mr-4.overflow-x-scroll.overflow-y-auto.whitespace-nowrap.hide-scrollbar.overscroll-x-contain>div>a:hover {
- background: linear-gradient(rgba(var(--accent-color), .04) 0%, rgba(var(--accent-color), 0.3) 100%);
+ background: linear-gradient(rgba(var(--accent-color), .4) 0%, rgba(var(--accent-color), 0.3) 100%);
}
/* SHOW PAGE */
#__next>div>div.relative.flex.flex-col.flex-1.w-0.min-w-0.mb-16.lg\:ml-64>main>div>div>div>div.media-page-bg-image>div.absolute.inset-0,
-#__next > div > div.relative.flex.flex-col.flex-1.w-0.min-w-0.mb-16.lg\:ml-64 > main > div > div > div.absolute.left-0.right-0.z-0.-top-16.h-96 > div > div > div.absolute.inset-0 {
+#__next>div>div.relative.flex.flex-col.flex-1.w-0.min-w-0.mb-16.lg\:ml-64>main>div>div>div.absolute.left-0.right-0.z-0.-top-16.h-96>div>div>div.absolute.inset-0 {
background: var(--overseerr-gradient) !important;
}
@@ -511,11 +571,19 @@ body>div.fixed.top-0.bottom-0.left-0.right-0.z-50.flex.items-center.justify-cent
display: none !important;
}
+body>div.fixed.top-0.bottom-0.left-0.right-0.z-50.flex.h-full.w-full.items-center.justify-center.bg-gray-800.bg-opacity-70.opacity-100>div>div.absolute.top-0.left-0.right-0.z-0.h-64.max-h-full.w-full>span>img {
+ display: none !important;
+}
+
body>div.fixed.top-0.bottom-0.left-0.right-0.z-50.flex.items-center.justify-center.w-full.h-full.bg-gray-800.bg-opacity-70.enter-done>div>div.absolute.top-0.left-0.right-0.z-0.w-full.h-64>div.absolute.inset-0,
body>div.fixed.top-0.bottom-0.left-0.right-0.z-50.flex.items-center.justify-center.w-full.h-full.bg-gray-800.bg-opacity-70>div>div.absolute.top-0.left-0.right-0.z-0.w-full.h-64>div.absolute.inset-0 {
background: transparent !important;
}
+body>div.fixed.top-0.bottom-0.left-0.right-0.z-50.flex.h-full.w-full.items-center.justify-center.bg-gray-800.bg-opacity-70.opacity-100>div[aria-modal="true"] {
+ background: var(--main-bg-color);
+}
+
body>div.fixed.top-0.bottom-0.left-0.right-0.z-50.flex.items-center.justify-center.w-full.h-full.bg-gray-800.bg-opacity-70>div>div.relative.mt-4.text-sm.leading-5.text-gray-300>div.flex.flex-col>div>div>div>table>tbody {
background: var(--transparency-light-10);
}
@@ -523,11 +591,11 @@ body>div.fixed.top-0.bottom-0.left-0.right-0.z-50.flex.items-center.justify-cent
/* DROPDOWN */
-#__next>div>div.relative.flex.flex-col.flex-1.w-0.min-w-0.mb-16.lg\:ml-64>main>div>div>div>div.media-header>div.media-actions>span>span>div>div.bg-gray-700,
+/* #__next>div>div.relative.flex.flex-col.flex-1.w-0.min-w-0.mb-16.lg\:ml-64>main>div>div>div>div.media-header>div.media-actions>span>span>div>div.bg-gray-700,
#__next>div>div.relative.flex.flex-col.flex-1.w-0.min-w-0.mb-16.lg\:ml-64>main>div>div>div>div.media-header>div.media-actions>span>span>div>div>div>a,
#__next > div > div.relative.flex.flex-col.flex-1.w-0.min-w-0.mb-16.lg\:ml-64 > main > div > div > div.mt-10.text-white > form > div:nth-child(5) > div > div > div > div > div > div {
background: var(--drop-down-menu-bg);
-}
+} */
#__next>div>div.relative.flex.flex-col.flex-1.w-0.min-w-0.mb-16.lg\:ml-64>main>div>div>div>div.media-header>div.media-actions>span>span>div>div>div>a:hover {
background: var(--transparency-light-10);
@@ -537,7 +605,8 @@ body>div.fixed.top-0.bottom-0.left-0.right-0.z-50.flex.items-center.justify-cent
[aria-labelledby="user-menu"] {
background: var(--drop-down-menu-bg);
}
-[aria-labelledby="user-menu"] a:hover{
+
+[aria-labelledby="user-menu"] a:hover {
background: var(--transparency-light-05);
}
@@ -556,4 +625,20 @@ body>div.fixed.top-0.bottom-0.left-0.right-0.z-50.flex.items-center.justify-cent
#toast-container .text-gray-400,
#toast-container .text-white {
color: var(--label-text-color);
+}
+
+/* BLURSTUFF */
+
+.backdrop-blur:not(.bg-yellow-500) {
+ background: rgb(var(--accent-color), 0.3);
+ --tw-backdrop-blur: blur(8px);
+ -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
+ backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
+ border-color: rgb(var(--accent-color), 0.3);
+}
+
+
+[aria-labelledby*="headlessui-label"][data-headlessui-state*="checked"] {
+ background: rgb(var(--accent-color), 0.3);
+ border-color: rgb(var(--accent-color), 0.3);
}
\ No newline at end of file
diff --git a/css/base/qbittorrent/qbittorrent-base.css b/css/base/qbittorrent/qbittorrent-base.css
index c013c139..633e894c 100644
--- a/css/base/qbittorrent/qbittorrent-base.css
+++ b/css/base/qbittorrent/qbittorrent-base.css
@@ -10,7 +10,6 @@
/* Made by @gilbN */
/* https://github.com/gilbN/theme.park */
-@import url(https://use.fontawesome.com/releases/v5.0.7/css/all.css);
@import url("/theme.park/css/defaults/placeholders.css");
@import url("/theme.park/css/defaults/transparent.css");
@@ -201,15 +200,6 @@ label {
font-weight: 300 !important;
}
-.horizontalHandle .handleIcon {
- margin: 0 auto;
- height: 4px;
- line-height: 1px;
- font-size: 1px;
- overflow: hidden;
- background: url(/theme.park/resources/qbittorrent/dots.png) center center no-repeat;
-}
-
#desktopNavbar {
background: var(--transparency-dark-25);
height: 20px;
@@ -261,15 +251,6 @@ label {
background: transparent;
}
-#mochaToolbar .divider {
- background-image: none;
- padding-left: 0px;
-}
-
-#mochaToolbar {
- margin-bottom: 5px;
-}
-
.dynamicTable th {
background: var(--transparency-dark-25) !important;
border-right-color: rgba(255, 255, 255, .08) !important;
@@ -307,18 +288,6 @@ label {
color: var(--label-text-color);
}
-.dynamicTable th.sorted.reverse {
- background-image: url(/theme.park/resources/qbittorrent/go-down.png) !important;
-}
-
-.dynamicTable th.sorted {
- background-image: url(/theme.park/resources/qbittorrent/go-up.png) !important;
- background-size: 9px !important;
- background-position: right !important;
- background-repeat: no-repeat !important;
-
-}
-
.panel {
background: var(--main-bg-color);
background-repeat: repeat, no-repeat;
@@ -337,7 +306,7 @@ label {
}
li.divider {
- border-top: 1px solid rgba(255, 255, 255, .25) !important;
+ border-top: 1px solid var(--transparency-light-25) !important;
}
@@ -421,8 +390,6 @@ li.divider {
color: var(--text-hover);
}
-.contextMenu li a:hover {}
-
.contextMenu li ul {
border: 1px solid transparent;
background: var(--modal-bg-color);
@@ -436,13 +403,13 @@ li.divider {
}
.contextMenu .separator {
- border-top: 1px solid rgba(255, 255, 255, 0.08);
+ border-top: 1px solid var(--transparency-light-10);
}
/* Sidemenu */
.selectedFilter {
- background-color: rgba(var(--accent-color), 0.6);
- color: #eee;
+ background-color: var(--button-color);
+ color: var(--button-text);
}
.selectedFilter:before {
@@ -450,8 +417,13 @@ li.divider {
}
ul.filterList li:hover {
- background-color: rgba(var(--accent-color), 0.6);
- color: var(--button-color-hover) !important;
+ background-color: var(--transparency-light-15);
+ color: var(--text-hover) !important;
+}
+
+ul.filterList .selectedFilter:hover {
+ background-color: var(--button-color-hover);
+ color: var(--button-text-hover);
}
ul.filterList li:hover:before {
@@ -469,6 +441,16 @@ ul.filterList li:hover:before {
}
/* Bottom menu */
+
+#progress {
+ border: 1px solid var(--transparency-light-25);
+}
+
+hr {
+ background-color: var(--transparency-light-25);
+ color: var(--text);
+}
+
.panel-headerContent.tabs {
background: none !important;
}
@@ -483,7 +465,7 @@ ul.filterList li:hover:before {
}
.tab-menu li.selected a {
- color: var(--text-hover) !important;
+ color: rgb(var(--accent-color)) !important;
background: transparent !important;
font-weight: normal !important;
}
@@ -502,7 +484,7 @@ ul.filterList li:hover:before {
}
.tab-menu li a:hover {
- background: var(--transparency-light-10) !important;
+ color: rgb(var(--accent-color)) !important;
}
.toolbarTabs {
@@ -527,45 +509,19 @@ ul.filterList li:hover:before {
background-image: red !important;
}
-.panel-collapse {
- background: url(/theme.park/resources/qbittorrent/collapse-expand.gif) left top no-repeat;
-}
-
-.panel-expand {
- background: url(/theme.park/resources/qbittorrent/collapse-expand.gif) left -16px no-repeat;
-}
-
fieldset {
border-width: 1px !important;
border-style: solid !important;
- border-color: rgba(255, 255, 255, 0.25) !important;
+ border-color: var(--transparency-light-25) !important;
}
/*Modal */
-.mochaTitlebar {
- width: 100%;
- overflow: hidden;
- background: none !important;
-}
-
-.mochaToolButton {
- margin-right: 10px;
- background: var(--transparency-dark-25);
- border-radius: 5px;
-}
-
-.mochaToolButton:hover {
- margin-right: 10px;
- background: var(--transparency-light-25);
- border-radius: 5px;
-}
-
.mochaOverlay {
position: absolute;
top: 0;
left: 0;
- background: var(--modal-bg-color) !important;
+ background: var(--modal-bg-color);
background-repeat: repeat, no-repeat;
background-attachment: fixed, fixed;
background-position: center center, center center;
@@ -590,8 +546,8 @@ fieldset {
}
.mochaContentBorder {
- border-top: 1px solid rgba(255, 255, 255, .25) !important;
- border-bottom: 1px solid rgba(255, 255, 255, .25) !important;
+ border-top: 1px solid var(--transparency-light-25) !important;
+ border-bottom: 1px solid var(--transparency-light-25) !important;
}
.mocha.isFocused .mochaTitlebar h3 {
@@ -609,7 +565,7 @@ fieldset.settings legend {
}
fieldset.settings {
- border: solid 1px rgba(255, 255, 255, 0.25) !important;
+ border: solid 1px var(--transparency-light-25) !important;
border-radius: 8px;
-webkit-border-radius: 8px;
-moz-border-radius: 8px;
@@ -617,7 +573,7 @@ fieldset.settings {
}
textarea:disabled {
- color: rgb(84, 84, 84);
+ color: var(--text-muted);
cursor: default;
background: var(--transparency-light-05) !important;
border: none !important;
@@ -633,7 +589,7 @@ textarea {
#watched_folders_tab td,
#watched_folders_tab th {
padding: 2px 4px;
- border: 1px solid rgba(255, 255, 255, 0.25) !important;
+ border: 1px solid var(--transparency-light-25) !important;
}
input[type="button"i]:hover {
@@ -688,1121 +644,22 @@ input[type="submit"i]:hover {
text-transform: uppercase;
}
-/* Icons */
-
-
-#downloadButton>img.mochaToolButton {
- display: none;
-}
-
-#downloadButton:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f0c1";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color);
- margin-top: 5px;
-}
-
-#downloadButton:hover:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f0c1";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color-hover);
-}
-
-#uploadButton>img.mochaToolButton {
- display: none;
-}
-
-#uploadButton:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f067";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color);
-}
-
-#uploadButton:hover:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f067";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color-hover);
-}
-
-#deleteButton>img.mochaToolButton {
- display: none;
-}
-
-#deleteButton:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f068";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color);
-}
-
-#deleteButton:hover:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f068";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color-hover);
-}
-
-#resumeButton>img.mochaToolButton {
- display: none;
-}
-
-#resumeButton:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f04b";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color);
-}
-
-#resumeButton:hover:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f04b";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color-hover);
-}
-
-#pauseButton>img.mochaToolButton {
- display: none;
-}
-
-#pauseButton:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f04c";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color);
-}
-
-#pauseButton:hover:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f04c";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color-hover);
-}
-
-#topPrioButton>img.mochaToolButton {
- display: none;
-}
-
-#topPrioButton:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f102";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color);
-}
-
-#topPrioButton:hover:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f102";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color-hover);
-}
-
-#increasePrioButton>img.mochaToolButton {
- display: none;
-}
-
-#increasePrioButton:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f106";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color);
-}
-
-#increasePrioButton:hover:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f106";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color-hover);
-}
-
-#decreasePrioButton>img.mochaToolButton {
- display: none;
-}
-
-#decreasePrioButton:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f107";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color);
-}
-
-#decreasePrioButton:hover:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f107";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color-hover);
-}
-
-#bottomPrioButton>img.mochaToolButton {
- display: none;
-}
-
-#bottomPrioButton:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f103";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color);
-}
-
-#bottomPrioButton:hover:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f103";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color-hover);
-}
-
-#preferencesButton>img.mochaToolButton {
- display: none;
-}
-
-#preferencesButton:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f013";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color);
-}
-
-#preferencesButton:hover:before {
- font-family: "Font Awesome 5 Free";
- font-size: 24px;
- content: "\f013";
- font-weight: 900;
- display: inline-block;
- width: 24px;
- height: 24px;
- margin-right: 10px;
- color: var(--button-color-hover);
-}
-
-/*Top menu icons*/
-
-#desktopNavbar li ul li a {
- position: relative;
- /* padding: 1px 9px 1px 25px; */
- min-width: 120px;
- font-weight: normal;
- padding: 5px 10px 1px 1px;
-}
-
-.MyMenuIcon {
- margin-left: 0px;
-}
-
-/* File */
-
-#uploadLink>img.MyMenuIcon {
- display: none;
-}
-
-#uploadLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f067";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#downloadLink>img.MyMenuIcon {
- display: none;
-}
-
-#downloadLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f0c1";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#logoutLink>img.MyMenuIcon {
- display: none;
-}
-
-#logoutLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f2f5";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#shutdownLink>img.MyMenuIcon {
- display: none;
-}
-
-#shutdownLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f00d";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-/* Edit */
-
-#resumeAllLink>img.MyMenuIcon {
- display: none;
-}
-
-#resumeAllLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f04b";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#pauseAllLink>img.MyMenuIcon {
- display: none;
-}
-
-#pauseAllLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f04c";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#resumeLink>img.MyMenuIcon {
- display: none;
-}
-
-#resumeLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f04b";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#pauseLink>img.MyMenuIcon {
- display: none;
-}
-
-#pauseLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f04c";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#deleteLink>img.MyMenuIcon {
- display: none;
-}
-
-#deleteLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f068";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#topPrioLink>img.MyMenuIcon {
- display: none;
-}
-
-#topPrioLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f102";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#increasePrioLink>img.MyMenuIcon {
- display: none;
-}
-
-#increasePrioLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f106";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#decreasePrioLink>img.MyMenuIcon {
- display: none;
-}
-
-#decreasePrioLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f107";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#bottomPrioLink>img.MyMenuIcon {
- display: none;
-}
-
-#bottomPrioLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f103";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#recheckLink>img.MyMenuIcon {
- display: none;
-}
-
-#recheckLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f002";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-/* View */
-
-#showTopToolbarLink>img.MyMenuIcon {
- display: none;
-}
-
-
-#showTopToolbarLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f00c";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#showTopToolbarLink:active:focus:visited:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f00c";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--text-hover);
- opacity: 0;
-}
-
-#showStatusBarLink>img.MyMenuIcon {
- display: none;
-}
-
-
-#showStatusBarLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f00c";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-
-}
-
-#showStatusBarLink:active:focus:visited:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f00c";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--text-hover);
- opacity: 0;
-}
-
-#speedInBrowserTitleBarLink>img.MyMenuIcon {
- display: none;
-}
-
-
-#speedInBrowserTitleBarLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f00c";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-
-}
-
-#speedInBrowserTitleBarLink:active:focus:visited:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f00c";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--text-hover);
- opacity: 0;
-}
-
-#showSearchEngineLink>img.MyMenuIcon {
- display: none;
-}
-
-
-#showSearchEngineLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f00c";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-
-}
-
-#showRssReaderLink>img.MyMenuIcon {
- display: none;
-}
-
-#showRssReaderLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f00c";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-
-}
-
-#showSearchEngineLink:active:focus:visited:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f00c";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--text-hover);
- opacity: 0;
-}
-
-#showRssReaderLink:active:focus:visited:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f00c";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--text-hover);
- opacity: 0;
-}
-
-#StatisticsLink>img.MyMenuIcon {
- display: none;
-}
-
-
-#StatisticsLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f080";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-
-}
-
-#StatisticsLink:active:focus:visited:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f080";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--text-hover);
- opacity: 0;
-}
-
-/*Tools*/
-
-
-#preferencesLink>img.MyMenuIcon {
- display: none;
-}
-
-
-#preferencesLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f013";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-/* Help */
-
-#docsLink>img.MyMenuIcon {
- display: none;
-}
-
-#docsLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f013";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#bugLink>img.MyMenuIcon {
- display: none;
-}
-
-#bugLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f09d";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#aboutLink>img.MyMenuIcon {
- display: none;
-}
-
-#aboutLink:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f05a";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-/*Status images on sidemenu*/
-
-ul.filterList a {
- display: inline;
-}
-
-#all_filter>a img {
- display: none;
-}
-
-#all_filter:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f0b0";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#downloading_filter>a img {
- display: none;
-}
-
-#downloading_filter:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f063";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#seeding_filter>a img {
- display: none;
-}
-
-#seeding_filter:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f062";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#completed_filter>a img {
- display: none;
-}
-
-#completed_filter:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f00c";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#resumed_filter>a img {
- display: none;
-}
-
-#resumed_filter:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f04b";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#paused_filter>a img {
- display: none;
-}
-
-#paused_filter:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f04c";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#active_filter>a img {
- display: none;
-}
-
-#active_filter:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f0b0";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#inactive_filter>a img {
- display: none;
-}
-
-#inactive_filter:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f0b0";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#stalled_filter>a img {
- display: none;
-}
-
-#stalled_filter:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f0b0";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#stalled_uploading_filter>a img {
- display: none;
-}
-
-#stalled_uploading_filter:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f093";
- font-weight: 900;
- display: inline-block !important;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-#stalled_downloading_filter>a img {
- display: none;
-}
-
-#stalled_downloading_filter:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f019";
- font-weight: 900;
- display: inline-block !important;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-img[src="icons/inode-directory.svg"] {
- background: url(/theme.park/resources/qbittorrent/folder-open-solid.svg);
- background-size: contain;
- background-repeat: no-repeat;
- background-origin: content-box;
- filter: invert(79%) sepia(20%) saturate(0%) hue-rotate(135deg) brightness(87%) contrast(108%);
-}
-
-img[src="icons/network-server.svg"] {
- background: url(/theme.park/resources/qbittorrent/network-wired-solid.svg);
- background-size: contain;
- background-repeat: no-repeat;
- background-origin: content-box;
- filter: invert(79%) sepia(20%) saturate(0%) hue-rotate(135deg) brightness(87%) contrast(108%);
-}
-
-img[src="icons/mail-folder-inbox.svg"] {
- background: url(/theme.park/resources/qbittorrent/inbox-solid.svg);
- background-size: contain;
- background-repeat: no-repeat;
- background-origin: content-box;
- filter: invert(79%) sepia(20%) saturate(0%) hue-rotate(135deg) brightness(87%) contrast(108%);
-}
-
-/* img[src="icons/downloading_small.svg"],
-img[src="icons/seeding.svg"],
-img[src="icons/stalledDL.svg"] {
- filter: invert(79%) sepia(20%) saturate(0%) hue-rotate(135deg) brightness(87%) contrast(108%);
-} */
-
-#searchPattern {
- width: 300px;
- line-height: 2em;
- padding: 1px 5px 1px 2em;
- filter: invert(79%) sepia(20%) saturate(0%) hue-rotate(135deg) brightness(87%) contrast(108%);
- background-repeat: no-repeat;
- background-size: 1.5em;
- background-position: left;
-}
-
-/* #connectionStatus,
-#alternativeSpeedLimits {
- filter: invert(79%) sepia(20%) saturate(0%) hue-rotate(135deg) brightness(87%) contrast(108%);
-} */
-
-#errored_filter>a img {
- display: none;
-}
-
-#errored_filter:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f06a";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-/* Categories */
-
-.filterTitle img {
- display: none;
-}
-
-.filterTitle:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f0d7";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-/* Categories Right Click Menu */
-
-#categoriesFilterMenu>li img {
- display: none;
-}
-
-.contextMenu li>#CreateCategory:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f06a";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
-}
-
-/* Blue SVG icons */
-img[src="icons/application-x-mswinurl.svg"],
-img[src="icons/collapse.svg"],
-img[src="icons/completed.svg"],
-img[src="icons/configure.svg"],
-img[src="icons/dialog-information.svg"],
-img[src="icons/document-edit.svg"],
-img[src="icons/document-edit-verify.svg"],
-img[src="icons/document-import.svg"],
-img[src="icons/document-new.svg"],
-img[src="icons/document-properties.svg"],
-img[src="icons/document-save.svg"],
-img[src="icons/download.svg"],
-img[src="icons/edit-clear.svg"],
-img[src="icons/edit-clear-history.svg"],
-img[src="icons/edit-copy.svg"],
-img[src="icons/edit-cut.svg"],
-img[src="icons/edit-find.svg"],
-img[src="icons/edit-find-user.svg"],
-img[src="icons/edit-paste.svg"],
-img[src="icons/edit-rename.svg"],
-img[src="icons/expand.svg"],
-img[src="icons/folder-documents.svg"],
-img[src="icons/folder-download.svg"],
-img[src="icons/folder-new.svg"],
-img[src="icons/folder-remote.svg"],
-img[src="icons/gear.svg"],
-img[src="icons/go-bottom.svg"],
-img[src="icons/go-down.svg"],
-img[src="icons/go-top.svg"],
-img[src="icons/go-up.svg"],
-img[src="icons/help-about.svg"],
-img[src="icons/help-contents.svg"],
-img[src="icons/insert-link.svg"],
-img[src="icons/list-add.svg"],
-img[src="icons/mail-mark-read.svg"],
-img[src="icons/media-playback-pause.svg"],
-img[src="icons/media-playback-start.svg"],
-img[src="icons/media-seek-forward.svg"],
-img[src="icons/network-wired.svg"],
-img[src="icons/office-chart-line.svg"],
-img[src="icons/preferences-desktop.svg"],
-img[src="icons/preferences-other.svg"],
-img[src="icons/preferences-system-network.svg"],
-img[src="icons/preferences-web-browser-cookies.svg"],
-img[src="icons/rss-config.svg"],
-img[src="icons/services.svg"],
-img[src="icons/speedometer.svg"],
-img[src="icons/stalledUP.svg"],
-img[src="icons/stalledDL.svg"],
-img[src="icons/tab-close.svg"],
-img[src="icons/task-ongoing.svg"],
-img[src="icons/text-plain.svg"],
-img[src="icons/user-group-delete.svg"],
-img[src="icons/user-group-new.svg"],
-img[src="icons/view-calendar-journal.svg"],
-img[src="icons/view-categories.svg"],
-img[src="icons/view-filter.svg"],
-img[src="icons/view-preview.svg"],
-img[src="icons/view-statistics.svg"],
-img[src="icons/wallet-open.svg"],
-img[src="icons/webui.svg"],
-img[src="icons/checking.svg"] {
- filter: invert(100%) sepia(0%) saturate(1%) hue-rotate(289deg) brightness(106%) contrast(101%);
-}
-
.contextMenu,
#contextCategoryList {
box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
-/* Filter torrents */
-
-#torrentsFilterInput {
- width: 160px;
- padding-left: 2em;
- background-image: url(/theme.park/resources/qbittorrent/search-solid.png);
- background-repeat: no-repeat;
- background-size: 1em;
- background-position: left;
+select {
+ background: var(--transparency-dark-25);
+ color: var(--text);
}
-.contextMenu li a.arrow-right,
-.contextMenu li a:hover.arrow-right,
-.contextMenu li a.arrow-right,
-.contextMenu li a:hover.arrow-right {
- background-image: url(/theme.park/resources/qbittorrent/arrow-right.gif);
- background-repeat: no-repeat;
- background-position: right center;
+select:focus {
+ background: var(--drop-down-menu-bg);
+ color: var(--text)
}
-/* Footer */
-
-#alternativeSpeedLimits td img {
- display: none;
-}
-
-#alternativeSpeedLimits:before {
- font-family: "Font Awesome 5 Free";
- font-size: 14px;
- content: "\f00c";
- font-weight: 900;
- display: inline-block;
- margin-right: 5px;
- color: var(--button-color);
- padding-left: 5px;
+.select-watched-folder-editable {
+ background-color: var(--transparency-dark-05);
+ border: solid var(--transparency-light-10) 1px;
}
\ No newline at end of file
diff --git a/css/base/radarr/radarr-base.css b/css/base/radarr/radarr-base.css
index 06a4708c..04ecca7e 100644
--- a/css/base/radarr/radarr-base.css
+++ b/css/base/radarr/radarr-base.css
@@ -257,83 +257,6 @@
color: var(--text-hover);
}
-/* CALENDAR */
-[class*="CalendarEvent-downloaded-"] {
- background: rgb(var(--calendar-available) / .7) !important;
- border-left-color: transparent !important;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-downloaded-"]:hover {
- background: rgb(var(--calendar-available) / .5) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-missing-"],
-[class*="CalendarEvent-missingMonitored"] {
- background: rgb(var(--calendar-missing) / .7) !important;
- border-left-color: transparent !important;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-missing-"]:hover,
-[class*="Calendar-calendar-"] [class*="CalendarEvent-missingMonitored"]:hover {
- background: rgba(var(--calendar-missing) / .5) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-missingUnmonitored-"] {
- background: rgb(var(--calendar-missing-unmonitored) / .7) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-missingUnmonitored-"]:hover {
- background: rgb(var(--calendar-missing-unmonitored) / .5) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-unreleased-"],
-[class*="CalendarEvent-continuing-"] {
- background: rgb(var(--calendar-unaired) / .7) !important;
- border-left-color: transparent !important;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-unreleased-"]:hover,
-[class*="Calendar-calendar-"] [class*="CalendarEvent-continuing-"]:hover {
- background: rgb(var(--calendar-unaired) / .5) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-event-"] {
- background: rgb(var(--calendar-unmonitored) / .7);
- border-left-color: transparent;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-event-"]:hover {
- background: rgb(var(--calendar-unmonitored) / .5);
- border-left-color: transparent;
-}
-
-[class*="CalendarEvent-unmonitored-"] {
- background: rgb(var(--calendar-unmonitored) / .7) !important;
- border-left-color: transparent !important;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-unmonitored-"]:hover {
- background: rgb(var(--calendar-unmonitored) / .5) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-downloading-"],
-[class*="CalendarEvent-queue-"] {
- background: rgb(var(--calendar-downloading) / .7) !important;
- border-left-color: transparent !important;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-downloading-"]:hover,
-[class*="Calendar-calendar-"] [class*="CalendarEvent-queue-"]:hover {
- background: rgb(var(--calendar-downloading) / .5) !important;
- border-left-color: transparent !important;
-}
-
[class*="CalendarEvent-movieTitle-"],
[class*="CalendarEvent-movieInfo-"] {
color: #fff !important;
@@ -343,6 +266,21 @@
color: var(--text-hover) !important;
}
+[class*="CalendarEvent-missingMonitored-"].colorImpaired {
+ background: var(--transparency-light-15);
+}
+
+/* Color Impaired Mode */
+
+[class*="CalendarEvent-missing-"].colorImpaired,
+[class*="CalendarEvent-missingMonitored-"].colorImpaired {
+ background: repeating-linear-gradient(90deg, rgb(var(--calendar-missing) / .2), rgb(var(--calendar-missing) / .2) 5px, rgb(var(--calendar-missing) / .4) 5px, rgb(var(--calendar-missing) / .4) 10px) !important;
+}
+
+[class*="CalendarEvent-missingUnmonitored-"].colorImpaired {
+ background: repeating-linear-gradient(90deg, rgb(var(--calendar-missing-unmonitored) / .2), rgb(var(--calendar-missing-unmonitored) / .2) 5px, rgb(var(--calendar-missing-unmonitored) / .4) 5px, rgb(var(--calendar-missing-unmonitored) / .4) 10px) !important;
+}
+
/* Custom filter */
[class*="SelectMovieModalContent-path-"] {
color: var(--text);
diff --git a/css/base/readarr/readarr-base.css b/css/base/readarr/readarr-base.css
index 0340357f..96dca04f 100644
--- a/css/base/readarr/readarr-base.css
+++ b/css/base/readarr/readarr-base.css
@@ -207,57 +207,6 @@
}
/* CALENDAR */
-[class*="CalendarEvent-downloaded-"]:not([class*="AgendaEvent-"]) {
- background: rgb(var(--calendar-downloaded) / .7) !important;
- border-left-color: transparent !important;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-downloaded-"]:hover:not([class*="AgendaEvent-"]) {
- background: rgb(var(--calendar-downloaded) / .5) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-missing-"]:not([class*="AgendaEvent-"]) {
- background: rgb(var(--calendar-missing) / .7) !important;
- border-left-color: transparent !important;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-missing-"]:hover:not([class*="AgendaEvent-"]) {
- background: rgba(var(--calendar-missing) / .5) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-unreleased-"]:not([class*="AgendaEvent-"]) {
- background: rgb(var(--calendar-unreleased) / .7) !important;
- border-left-color: transparent !important;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-unreleased-"]:hover:not([class*="AgendaEvent-"]) {
- background: rgb(var(--calendar-unreleased) / .5) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-unmonitored-"]:not([class*="AgendaEvent-"]) {
- background: rgb(var(--calendar-unmonitored) / .7) !important;
- border-left-color: transparent !important;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-unmonitored-"]:hover:not([class*="AgendaEvent-"]) {
- background: rgb(var(--calendar-unmonitored) / .5) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-downloading-"]:not([class*="AgendaEvent-"]),
-[class*="CalendarEvent-queue-"]:not([class*="AgendaEvent-"]) {
- background: rgb(var(--calendar-downloading) / .7) !important;
- border-left-color: transparent !important;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-downloading-"]:hover:not([class*="AgendaEvent-"]),
-[class*="Calendar-calendar-"] [class*="CalendarEvent-queue-"]:hover:not([class*="AgendaEvent-"]) {
- background: rgb(var(--calendar-downloading) / .5) !important;
- border-left-color: transparent !important;
-}
[class*="CalendarEvent-authorName-"] a,
[class*="CalendarEvent-authorName-"],
@@ -271,6 +220,19 @@ color: #eee !important;
color: #fff !important;
}
+/* Color Impaired Mode */
+[class*="CalendarEvent-unmonitored-"].colorImpaired {
+ background: repeating-linear-gradient(90deg, rgb(var(--calendar-unmonitored) / .2), rgb(var(--calendar-unmonitored) / .2) 5px, rgb(var(--calendar-unmonitored) / .4) 5px, rgb(var(--calendar-unmonitored) / .4) 10px) !important;
+}
+
+[class*="CalendarEvent-missing-"].colorImpaired{
+ background: repeating-linear-gradient(90deg, rgb(var(--calendar-missing) / .2), rgb(var(--calendar-missing) / .2) 5px, rgb(var(--calendar-missing) / .4) 5px, rgb(var(--calendar-missing) / .4) 10px) !important;
+}
+
+[class*="CalendarEvent-unreleased-"].colorImpaired{
+ background: repeating-linear-gradient(90deg, rgb(var(--calendar-unreleased) / .2), rgb(var(--calendar-unreleased) / .2) 5px, rgb(var(--calendar-unreleased) / .4) 5px, rgb(var(--calendar-unreleased) / .4) 10px) !important;
+}
+
/* Library */
[class*="AuthorIndexPoster-link-"],
[class*="AuthorIndexPoster-title-"] {
diff --git a/css/base/sonarr/sonarr-base.css b/css/base/sonarr/sonarr-base.css
index 592dc046..bae4cc21 100644
--- a/css/base/sonarr/sonarr-base.css
+++ b/css/base/sonarr/sonarr-base.css
@@ -237,72 +237,6 @@
stroke: #fff;
}
-[class*="CalendarEvent-downloaded-"] {
- background: rgb(var(--calendar-tv-available) / .7) !important;
- border-left-color: transparent !important;
- color: #fff;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-downloaded-"]:hover {
- background: rgb(var(--calendar-tv-available) / .5) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-missing-"] {
- background: rgb(var(--calendar-tv-missing) / .7) !important;
- border-left-color: transparent !important;
- color: #fff;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-missing-"]:hover {
- background: rgb(var(--calendar-tv-missing) / .5) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-unaired-"] {
- background: rgb(var(--calendar-tv-unaired) / .7) !important;
- border-left-color: transparent !important;
- color: #fff;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-unaired-"]:hover {
- background: rgb(var(--calendar-tv-unaired) / .5) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-unmonitored-"] {
- background: rgb(var(--calendar-tv-unmonitored) / .7) !important;
- border-left-color: transparent !important;
- color: #fff;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-unmonitored-"]:hover {
- background: rgb(var(--calendar-tv-unmonitored) / .5) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-onAir-"] {
- background: rgb(var(--calendar-tv-on-air) / .7) !important;
- border-left-color: transparent !important;
- color: #fff;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-onAir-"]:hover {
- background: rgb(var(--calendar-tv-on-air) / .5) !important;
- border-left-color: transparent !important;
-}
-
-[class*="CalendarEvent-downloading-"] {
- background: rgb(var(--calendar-tv-downloading) / .7) !important;
- border-left-color: transparent !important;
- color: #fff;
-}
-
-[class*="Calendar-calendar-"] [class*="CalendarEvent-downloading-"]:hover {
- background: rgb(var(--calendar-tv-downloading) / .5) !important;
- border-left-color: transparent !important;
-}
-
[class*="CalendarEvent-seriesTitle-"],
[class*="CalendarEvent-episodeInfo-"],
[class*="CalendarEvent-airTime-"] {
diff --git a/css/base/uptime-kuma/uptime-kuma-base.css b/css/base/uptime-kuma/uptime-kuma-base.css
index 32f1b3c7..a1c06425 100644
--- a/css/base/uptime-kuma/uptime-kuma-base.css
+++ b/css/base/uptime-kuma/uptime-kuma-base.css
@@ -1,5 +1,39 @@
-@import url("/theme.park/css/defaults/placeholders.css");
+/* @import url("/theme.park/css/defaults/placeholders.css"); */
@import url("/theme.park/css/defaults/transparent.css");
+ *:not(#floatingInput)::-webkit-input-placeholder {
+ color: var(--text-muted) !important;
+ }
+
+ *:not(#floatingInput):focus::-webkit-input-placeholder {
+ color: var(--text-hover) !important;
+ }
+
+ /* Firefox < 19 */
+ *:not(#floatingInput):-moz-placeholder {
+ color: var(--text-muted) !important;
+ }
+
+ *:not(#floatingInput):focus:-moz-placeholder {
+ color: var(--text-hover) !important;
+ }
+
+ /* Firefox > 19 */
+ *:not(#floatingInput)::-moz-placeholder {
+ color: var(--text-muted) !important;
+ }
+
+ *:not(#floatingInput):focus::-moz-placeholder {
+ color: var(--text-hover) !important;
+ }
+
+ /* Internet Explorer 10 */
+ *:not(#floatingInput):-ms-input-placeholder {
+ color: var(--text-muted) !important;
+ }
+
+ *:not(#floatingInput):focus:-ms-input-placeholder {
+ color: var(--text-hover) !important;
+ }
body,
.dark {
@@ -66,6 +100,9 @@ a:hover:not(.btn),
a,
.nav-link,
.dark a,
+.dark .nav-link,
+.dark a:not(.btn),
+.dark .table,
.dark .nav-link {
color: var(--link-color);
}
@@ -75,19 +112,41 @@ a,
text-decoration: underline;
}
-
+mark,
+.mark {
+ padding: 0 0.3em;
+ background-color: rgb(var(--accent-color));
+ color: var(--label-text-color);
+}
/* CARDS */
.shadow-box,
-.dark .shadow-box {
+.dark .shadow-box,
+.dark .shadow-box:not(.alert) {
box-shadow: 0px 0px 20px 10px #0000001a;
- background: var(--transparency-light-10);
+ background: var(--transparency-dark-25);
+}
+
+.dark .settings-content .settings-content-header {
+ background: transparent !important;
+}
+
+.dark .list-header {
+ background: transparent !important;
+}
+
+.settings-content .settings-content-header {
+ border-bottom: 1px solid var(--transparency-light-10) !important;
}
.list .item:hover {
background: var(--transparency-light-15) !important;
}
+.list-header {
+ border-bottom: 1px solid var(--transparency-light-15) !important;
+}
+
.dark .list .item.active,
.list .item.active {
background: var(--transparency-dark-25) !important;
@@ -119,6 +178,16 @@ td {
color: var(--text);
}
+.table {
+ --bs-table-hover-bg: var(--transparency-dark-15) !important;
+ --bs-table-hover-color: var(--text-hover) !important;
+}
+
+.dark .table-hover>tbody>tr:hover>* {
+ --bs-table-accent-bg: var(--transparency-dark-15);
+ color: var(--text-hover);
+}
+
/* MENUS */
.dropdown-menu {
@@ -142,6 +211,19 @@ td {
background: var(--drop-down-menu-bg) !important;
}
+.dropdown-item-text {
+ color: var(--text);
+}
+
+.dropdown-profile-pic .dropdown-menu .dropdown-divider {
+ border-top: 1px solid var(--transparency-light-25) !important;
+}
+
+.dark .dropdown-profile-pic.dropdown-menu.dropdown-item.active {
+ color: var(--text-hover);
+ background-color: var(--transparency-dark-15) !important;
+}
+
/* HEADER */
.dark header,
#app>div>header {
@@ -155,13 +237,15 @@ td {
color: var(--button-text);
}
-.btn-primary {
+.btn-primary,
+.btn-info {
color: var(--button-text);
background-color: var(--button-color);
border-color: var(--button-color);
}
-.btn-primary:hover {
+.btn-primary:hover,
+.btn-info:hover {
color: var(--button-text-hover);
background-color: var(--button-color-hover);
border-color: var(--button-color-hover);
@@ -203,7 +287,7 @@ td {
.btn-outline-primary,
.btn-outline-secondary {
- color: var(--button-text);
+ color: var(--button-color);
border-color: var(--button-color);
}
@@ -270,19 +354,25 @@ td {
.form-control {
color: var(--text);
background: var(--transparency-dark-25);
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='#ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
background-repeat: no-repeat;
}
.dark .form-select:focus,
-.dark .form-control:focus,
-.form-select:focus,
-.form-control:focus {
+.form-select:focus {
+ color: var(--text-color);
background: var(--drop-down-menu-bg);
box-shadow: 0 0 0 0.25rem rgba(var(--accent-color), 0.25);
border-color: rgba(var(--accent-color), 0.25);
}
+.dark .form-control:focus,
+.form-control:focus {
+ color: var(--text-color);
+ background: var(--transparency-dark-35);
+ box-shadow: 0 0 0 0.25rem rgba(var(--accent-color), 0.25);
+ border-color: rgba(var(--accent-color), 0.25);
+}
+
.dark .form-control,
.dark .form-select,
.form-select,
@@ -290,7 +380,11 @@ td {
border-color: #0000;
}
-
+.input-group-text {
+ color: var(--button-text);
+ background-color: var(--button-color);
+ border: 1px solid var(--button-color);
+}
.form-check-input:checked {
background-color: var(--button-color);
@@ -300,13 +394,12 @@ td {
.form-check-input[type=checkbox]:indeterminate {
background-color: var(--button-color);
border-color: var(--button-color);
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")
}
.dark .multiselect__content-wrapper,
.multiselect__content-wrapper {
background: var(--drop-down-menu-bg) !important;
- border-color: transparent !important;
+ border-color: var(--transparency-light-15) !important;
}
.multiselect {
@@ -316,20 +409,29 @@ td {
.multiselect__option--highlight {
background: rgb(var(--accent-color)) !important;
outline: none;
- color: #fff
+ color: var(--label-text-color) !important;
}
.multiselect__option--highlight:after {
content: attr(data-select);
background: rgb(var(--accent-color)) !important;
- color: #fff
+ color: var(--label-text-color);
+}
+
+.multiselect__option--selected:after {
+ content: attr(data-selected);
+ color: var(--label-text-color) !important;
}
.multiselect__option--selected,
.dark .multiselect__option--selected {
background: var(--transparency-dark-45);
- color: var(--text-hover);
- font-weight: 700;
+ color: var(--text-hover) !important;
+}
+
+.dark .multiselect__option--selected::after,
+.multiselect__option--selected::after {
+ color: var(--text-hover) !important;
}
.multiselect__tag,
@@ -393,4 +495,87 @@ td {
-webkit-background-size: auto, cover;
-moz-background-size: auto, cover;
-o-background-size: auto, cover;
+}
+
+.vue-image-crop-upload .vicp-wrap {
+ -webkit-box-shadow: 0 1px 3px 0 rgb(0 0 0 / 23%);
+ box-shadow: 0 1px 3px rgb(0 0 0 / 23%);
+ background-color: var(--modal-bg-color);
+ background-repeat: repeat, no-repeat;
+ background-attachment: fixed, fixed;
+ background-position: center center, center center;
+ background-size: auto, cover;
+ -webkit-background-size: auto, cover;
+ -moz-background-size: auto, cover;
+ -o-background-size: auto, cover;
+}
+
+/* SETTINGS */
+
+.settings-menu .active .menu-item {
+ background: var(--transparency-dark-15) !important;
+}
+
+.settings-menu .menu-item:hover {
+ background: var(--transparency-light-10) !important;
+}
+
+h5.settings-subheading:after,
+.settings-subheading.h5:after {
+ border-bottom: 1px solid var(--transparency-light-10);
+}
+
+.dark .cert-exp-days .cert-exp-day-row,
+.cert-exp-days .cert-exp-day-row {
+ border-bottom: 1px solid var(--transparency-light-10) !important;
+}
+
+[contenteditable=true] {
+ background-color: var(--transparency-dark-25);
+}
+
+[contenteditable=true]:hover {
+ background-color: var(--transparency-dark-35);
+}
+
+[dir=ltr] .sidebar .sidebar-footer {
+ border-right: 1px solid var(--transparency-light-10) !important;
+ left: 0;
+}
+
+.sidebar .sidebar-footer {
+ border-top: 1px solid var(--transparency-light-10) !important;
+ background-color: var(--transparency-light-10) !important;
+}
+
+.item:hover {
+ background-color: rgb(var(--accent-color), .10) !important;
+}
+
+@media (max-width: 550px) {
+ .dark .table-shadow-box tbody .shadow-box {
+ background-color: transparent !important;
+ }
+
+ .dark .table-hover>tbody>tr:hover>* {
+ --bs-table-accent-bg: transparent color: var(--text-hover);
+ }
+
+ .dark .table-shadow-box tbody .shadow-box td {
+ border-bottom: 1px solid var(--transparency-light-10);
+ }
+}
+
+.dark .monitor-list .item:hover,
+.dark .monitor-list .item.active,
+.monitor-list .item.active,
+.monitor-list .item:hover {
+ background-color: rgb(var(--accent-color), .10);
+}
+
+.active.dropdown-item.active,
+.dark .dropdown-profile-pic .dropdown-menu .dropdown-item.active,
+#app>div>header>ul>li>div>ul>li>a.active {
+ background: var(--transparency-dark-25) !important;
+ background-color: var(--transparency-dark-25) !important;
}
\ No newline at end of file
diff --git a/css/community-theme-options/ibracorp.css b/css/community-theme-options/ibracorp.css
new file mode 100644
index 00000000..0757f163
--- /dev/null
+++ b/css/community-theme-options/ibracorp.css
@@ -0,0 +1,31 @@
+:root {
+ --main-bg-color: #262a2b;
+
+ --modal-bg-color: #333;
+ --modal-header-color: #232323;
+ --modal-footer-color: #232323;
+
+ --drop-down-menu-bg: #1b1b1b;
+
+ --button-color: #ef7a70;
+ --button-color-hover: #d16057;
+ --button-text: #eee;
+ --button-text-hover: #fff;
+
+ --accent-color: 239, 122, 112;
+ --accent-color-hover: rgb(var(--accent-color),.8);
+ --link-color: #ef7a70;
+ --link-color-hover: #d16057;
+ --label-text-color: #fff;
+
+ --text:#d16057;
+ --text-hover: #fff;
+ --text-muted: #999;
+
+ /*Specials*/
+ --arr-queue-color: #d16057; /* Servarr apps + Bazarr*/
+ --plex-poster-unwatched: #d16057;
+ --petio-spinner: invert(55%) sepia(68%) saturate(569%) hue-rotate(314deg) brightness(102%) contrast(87%);/* Made with https://codepen.io/jsm91/embed/ZEEawyZ */
+ --gitea-color-primary-dark-4: 239, 122, 112;
+ --overseerr-gradient: linear-gradient(180deg, rgba(31, 31, 31, 0.17) 0%, rgba(31, 31, 31) 100%);
+}
diff --git a/css/defaults/servarr-base.css b/css/defaults/servarr-base.css
index 3f691604..c225616b 100644
--- a/css/defaults/servarr-base.css
+++ b/css/defaults/servarr-base.css
@@ -280,7 +280,7 @@ a:hover {
background: var(--transparency-dark-25);
}
-[class*=".ProgressBar-purple-"] {
+[class*="ProgressBar-purple-"] {
background-color: rgb(var(--accent-color));
}
diff --git a/css/defaults/transparent.css b/css/defaults/transparent.css
index 4eaec9b7..85fddc96 100644
--- a/css/defaults/transparent.css
+++ b/css/defaults/transparent.css
@@ -25,4 +25,5 @@
--transparency-light-45: rgba(255, 255, 255, .45);
--transparency-light-50: rgba(255, 255, 255, .50);
--transparency-light-55: rgba(255, 255, 255, .55);
+ --transparency-light-95: rgba(255, 255, 255, .95);
}
\ No newline at end of file
diff --git a/docker-mods/bazarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/bazarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/bazarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/bazarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..c3b07812
--- /dev/null
+++ b/docker-mods/bazarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,62 @@
+#!/usr/bin/with-contenv bash
+
+echo '---------------------------'
+echo '| Bazarr theme.park Mod |'
+echo '---------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_ADDON'=${TP_ADDON}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+APP_FILEPATH='/app/bazarr/bin/frontend/build/index.html'
+if [ "${TP_HOTIO}" = true ]; then
+ echo 'Changing to Hotio file path!'
+ APP_FILEPATH='/app/bin/frontend/build/index.html'
+fi
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}"; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ printf 'Stylesheet set to %s\n' "${TP_THEME}"
+ if [[ -n ${TP_ADDON} ]]; then
+ for addon in $(echo "$TP_ADDON" | tr "|" " "); do
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ printf 'Added custom addon: %s\n\n' "${addon}"
+ done
+ fi
+fi
diff --git a/docker-mods/bazarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/bazarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/bazarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/bazarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/bazarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/bazarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/bazarr/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/bazarr/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/bazarr/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/bazarr/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/calibre-web/root/etc/cont-init.d/98-themepark b/docker-mods/calibre-web/root/etc/cont-init.d/98-themepark
index 19b1417e..417aa90d 100644
--- a/docker-mods/calibre-web/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/calibre-web/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '--------------------------------'
echo '| Calibre-web theme.park Mod |'
diff --git a/docker-mods/calibre-web/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/calibre-web/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/calibre-web/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/calibre-web/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..19b1417e
--- /dev/null
+++ b/docker-mods/calibre-web/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,50 @@
+#!/usr/bin/with-contenv bash
+
+echo '--------------------------------'
+echo '| Calibre-web theme.park Mod |'
+echo '--------------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" /app/calibre-web/cps/templates/layout.html; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" /app/calibre-web/cps/templates/layout.html
+ sed -i "s/<\/head>/<\/head> /g" /app/calibre-web/cps/templates/layout.html
+ printf 'Stylesheet set to %s\n' "${TP_THEME}
+ "
+fi
diff --git a/docker-mods/calibre-web/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/calibre-web/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/calibre-web/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/calibre-web/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/calibre-web/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/calibre-web/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/calibre-web/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/calibre-web/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/calibre-web/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/calibre-web/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/deluge/root/etc/cont-init.d/98-themepark b/docker-mods/deluge/root/etc/cont-init.d/98-themepark
index 92774460..9e491d44 100644
--- a/docker-mods/deluge/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/deluge/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '---------------------------'
echo '| Deluge theme.park Mod |'
diff --git a/docker-mods/deluge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/deluge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/deluge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/deluge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..92774460
--- /dev/null
+++ b/docker-mods/deluge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,51 @@
+#!/usr/bin/with-contenv bash
+
+echo '---------------------------'
+echo '| Deluge theme.park Mod |'
+echo '---------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+DELUGE_INDEX_PATH=$(find /usr -name index.html)
+if ! grep -q "${TP_DOMAIN}/css/base" ${DELUGE_INDEX_PATH}; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" ${DELUGE_INDEX_PATH}
+ sed -i "s/<\/head>/<\/head> /g" ${DELUGE_INDEX_PATH}
+ printf 'Stylesheet set to %s\n' "${TP_THEME}
+ "
+fi
diff --git a/docker-mods/deluge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/deluge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/deluge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/deluge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/deluge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/deluge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/deluge/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/deluge/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/deluge/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/deluge/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/duplicati/root/etc/cont-init.d/98-themepark b/docker-mods/duplicati/root/etc/cont-init.d/98-themepark
index 1c1fa3ed..ba0c0be3 100644
--- a/docker-mods/duplicati/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/duplicati/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '----------------------------'
echo '| Duplicati theme.park Mod |'
diff --git a/docker-mods/duplicati/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/duplicati/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/duplicati/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/duplicati/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..1c1fa3ed
--- /dev/null
+++ b/docker-mods/duplicati/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,60 @@
+#!/usr/bin/with-contenv bash
+
+echo '----------------------------'
+echo '| Duplicati theme.park Mod |'
+echo '----------------------------'
+
+APP_FILEPATH='/app/duplicati/webroot'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'APP_FILEPATH'=${APP_FILEPATH}\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+sed_file(){
+ sed -i "s/<\/head>/<\/head> /g" $1
+ sed -i "s/<\/head>/<\/head> /g" $1
+ printf 'Stylesheet set to %s on %s\n\n' "${TP_THEME}" "$1"
+}
+
+# Adding stylesheets
+echo '---------------------------------------'
+echo '| Adding the stylesheet to html files |'
+echo '---------------------------------------'
+
+if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}/index.html"; then
+ find ${APP_FILEPATH} -type f -iname *.html | while read fname
+ do
+ sed_file $fname
+ done
+fi
diff --git a/docker-mods/duplicati/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/duplicati/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/duplicati/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/duplicati/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/duplicati/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/duplicati/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/duplicati/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/duplicati/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/duplicati/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/duplicati/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/emby/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/emby/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/emby/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/emby/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..215209dc
--- /dev/null
+++ b/docker-mods/emby/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,43 @@
+#!/usr/bin/with-contenv bash
+
+echo '-------------------------'
+echo '| Emby theme.park Mod |'
+echo '-------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+printf '%s\n' "@import url('${TP_SCHEME}://${TP_DOMAIN}/css/${THEME_TYPE}/${TP_THEME}.css');" "@import url('${TP_SCHEME}://${TP_DOMAIN}/css/base/emby/emby-base.css');" > /app/emby/dashboard-ui/modules/themes/light/theme.css
+printf 'Stylesheet set to %s\n' "${TP_THEME}"
diff --git a/docker-mods/emby/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/emby/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/emby/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/emby/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/emby/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/emby/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/emby/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/emby/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/emby/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/emby/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/jackett/root/etc/cont-init.d/98-themepark b/docker-mods/jackett/root/etc/cont-init.d/98-themepark
index abaf1b50..b55f4b76 100644
--- a/docker-mods/jackett/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/jackett/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '---------------------------'
echo '| Jackett theme.park Mod |'
diff --git a/docker-mods/jackett/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/jackett/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/jackett/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/jackett/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..abaf1b50
--- /dev/null
+++ b/docker-mods/jackett/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,56 @@
+#!/usr/bin/with-contenv bash
+
+echo '---------------------------'
+echo '| Jackett theme.park Mod |'
+echo '---------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+APP_FILEPATH='/app/Jackett/Content/index.html'
+if [ "${TP_HOTIO}" = true ]; then
+ echo 'Changing to Hotio file path!'
+ APP_FILEPATH='/app/Content/index.html'
+fi
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}"; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ printf 'Stylesheet set to %s\n' "${TP_THEME}
+ "
+fi
\ No newline at end of file
diff --git a/docker-mods/jackett/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/jackett/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/jackett/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/jackett/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/jackett/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/jackett/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/jackett/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/jackett/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/jackett/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/jackett/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/jellyfin/root/etc/cont-init.d/98-themepark b/docker-mods/jellyfin/root/etc/cont-init.d/98-themepark
index 18e53c79..fd4b5acd 100644
--- a/docker-mods/jellyfin/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/jellyfin/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '-----------------------------'
echo '| Jellyfin theme.park Mod |'
diff --git a/docker-mods/jellyfin/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/jellyfin/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/jellyfin/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/jellyfin/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..18e53c79
--- /dev/null
+++ b/docker-mods/jellyfin/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,50 @@
+#!/usr/bin/with-contenv bash
+
+echo '-----------------------------'
+echo '| Jellyfin theme.park Mod |'
+echo '-----------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" /usr/share/jellyfin/web/index.html; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/body>/<\/body> /g" /usr/share/jellyfin/web/index.html
+ sed -i "s/<\/body>/<\/body> /g" /usr/share/jellyfin/web/index.html
+ printf 'Stylesheet set to %s\n' "${TP_THEME}
+ "
+fi
\ No newline at end of file
diff --git a/docker-mods/jellyfin/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/jellyfin/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/jellyfin/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/jellyfin/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/jellyfin/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/jellyfin/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/jellyfin/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/jellyfin/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/jellyfin/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/jellyfin/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/lazylibrarian/root/etc/cont-init.d/98-themepark b/docker-mods/lazylibrarian/root/etc/cont-init.d/98-themepark
index d8714131..026eac1f 100644
--- a/docker-mods/lazylibrarian/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/lazylibrarian/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '----------------------------------'
echo '| Lazylibrarian theme.park Mod |'
diff --git a/docker-mods/lazylibrarian/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/lazylibrarian/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/lazylibrarian/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/lazylibrarian/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..d8714131
--- /dev/null
+++ b/docker-mods/lazylibrarian/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,50 @@
+#!/usr/bin/with-contenv bash
+
+echo '----------------------------------'
+echo '| Lazylibrarian theme.park Mod |'
+echo '----------------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" /app/lazylibrarian/data/interfaces/bookstrap/base.html; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" /app/lazylibrarian/data/interfaces/bookstrap/base.html
+ sed -i "s/<\/head>/<\/head> /g" /app/lazylibrarian/data/interfaces/bookstrap/base.html
+ printf 'Stylesheet set to %s\n' "${TP_THEME}
+ "
+fi
\ No newline at end of file
diff --git a/docker-mods/lazylibrarian/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/lazylibrarian/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/lazylibrarian/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/lazylibrarian/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/lazylibrarian/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/lazylibrarian/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/lazylibrarian/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/lazylibrarian/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/lazylibrarian/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/lazylibrarian/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/librespeed/root/etc/cont-init.d/98-themepark b/docker-mods/librespeed/root/etc/cont-init.d/98-themepark
index 6d1ccf9c..a89ea834 100644
--- a/docker-mods/librespeed/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/librespeed/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '-------------------------------'
echo '| Librespeed theme.park Mod |'
@@ -39,12 +39,12 @@ if [[ -z ${TP_THEME} ]]; then
fi
# Adding stylesheets
-if ! grep -q "${TP_DOMAIN}/css/base" /usr/share/webapps/librespeed/index.html; then
+if ! grep -q "${TP_DOMAIN}/css/base" /app/www/public/index.html; then
echo '---------------------------'
echo '| Adding the stylesheet |'
echo '---------------------------'
- sed -i "s/<\/head>/<\/head> /g" /usr/share/webapps/librespeed/index.html
- sed -i "s/<\/head>/<\/head> /g" /usr/share/webapps/librespeed/index.html
+ sed -i "s/<\/head>/<\/head> /g" /app/www/public/index.html
+ sed -i "s/<\/head>/<\/head> /g" /app/www/public/index.html
printf 'Stylesheet set to %s\n' "${TP_THEME}
"
fi
\ No newline at end of file
diff --git a/docker-mods/librespeed/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/librespeed/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/librespeed/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/librespeed/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..6a46fa20
--- /dev/null
+++ b/docker-mods/librespeed/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,50 @@
+#!/usr/bin/with-contenv bash
+
+echo '-------------------------------'
+echo '| Librespeed theme.park Mod |'
+echo '-------------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" /app/www/public/index.html; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" /app/www/public/index.html
+ sed -i "s/<\/head>/<\/head> /g" /app/www/public/index.html
+ printf 'Stylesheet set to %s\n' "${TP_THEME}
+ "
+fi
\ No newline at end of file
diff --git a/docker-mods/librespeed/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/librespeed/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/librespeed/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/librespeed/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/librespeed/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/librespeed/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/librespeed/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/librespeed/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/librespeed/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/librespeed/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/lidarr/root/etc/cont-init.d/98-themepark b/docker-mods/lidarr/root/etc/cont-init.d/98-themepark
index 0b1471c2..c27cd010 100644
--- a/docker-mods/lidarr/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/lidarr/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '---------------------------'
echo '| Lidarr theme.park Mod |'
diff --git a/docker-mods/lidarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/lidarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/lidarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/lidarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..0b1471c2
--- /dev/null
+++ b/docker-mods/lidarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,67 @@
+#!/usr/bin/with-contenv bash
+
+echo '---------------------------'
+echo '| Lidarr theme.park Mod |'
+echo '---------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_ADDON'=${TP_ADDON}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+APP_FILEPATH='/app/lidarr/bin/UI/index.html'
+LOGIN_FILEPATH='/app/lidarr/bin/UI/login.html'
+if [ "${TP_HOTIO}" = true ]; then
+ echo 'Changing to Hotio file path!'
+ APP_FILEPATH='/app/bin/UI/index.html'
+ LOGIN_FILEPATH='/app/bin/UI/login.html'
+fi
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}"; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ printf 'Stylesheet set to %s\n' "${TP_THEME}"
+ if [[ -n ${TP_ADDON} ]]; then
+ for addon in $(echo "$TP_ADDON" | tr "|" " "); do
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ printf 'Added custom addon: %s\n\n' "${addon}"
+ done
+ fi
+fi
\ No newline at end of file
diff --git a/docker-mods/lidarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/lidarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/lidarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/lidarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/lidarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/lidarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/lidarr/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/lidarr/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/lidarr/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/lidarr/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/mylar3/root/etc/cont-init.d/98-themepark b/docker-mods/mylar3/root/etc/cont-init.d/98-themepark
index 65732690..473553df 100644
--- a/docker-mods/mylar3/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/mylar3/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '-------------------------'
echo '| Mylar3 theme.park Mod |'
diff --git a/docker-mods/mylar3/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/mylar3/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/mylar3/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/mylar3/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..65732690
--- /dev/null
+++ b/docker-mods/mylar3/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,65 @@
+#!/usr/bin/with-contenv bash
+
+echo '-------------------------'
+echo '| Mylar3 theme.park Mod |'
+echo '-------------------------'
+
+APP_FILEPATH='/app/mylar3/data/interfaces/default'
+if [ "${TP_HOTIO}" = true ]; then
+ echo 'Changing to Hotio file path!'
+ APP_FILEPATH='/app/data/interfaces/default'
+fi
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'APP_FILEPATH'=${APP_FILEPATH}\\n\
+'TP_HOTIO'=${TP_HOTIO}\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+sed_file(){
+ sed -i "s/<\/head>/<\/head> /g" $1
+ sed -i "s/<\/head>/<\/head> /g" $1
+ printf 'Stylesheet set to %s on %s\n\n' "${TP_THEME}" "$1"
+}
+
+# Adding stylesheets
+echo '---------------------------------------'
+echo '| Adding the stylesheet to html files |'
+echo '---------------------------------------'
+
+if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}/index.html"; then
+ find ${APP_FILEPATH} -type f -iname *.html | while read fname
+ do
+ sed_file $fname
+ done
+fi
diff --git a/docker-mods/mylar3/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/mylar3/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/mylar3/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/mylar3/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/mylar3/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/mylar3/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/mylar3/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/mylar3/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/mylar3/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/mylar3/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/nginx-proxy-manager/Dockerfile b/docker-mods/nginx-proxy-manager/Dockerfile
new file mode 100644
index 00000000..bf797487
--- /dev/null
+++ b/docker-mods/nginx-proxy-manager/Dockerfile
@@ -0,0 +1,6 @@
+FROM scratch
+# This is just a dummy file. LSIO doesnt have a Nginx Proxy Manager image..SWAG for life!
+LABEL maintainer="GilbN"
+LABEL app="Nginx-Proxy-Manager"
+#copy local files.
+COPY root/ /
\ No newline at end of file
diff --git a/docker-mods/nginx-proxy-manager/root/etc/cont-init.d/98-themepark b/docker-mods/nginx-proxy-manager/root/etc/cont-init.d/98-themepark
new file mode 100644
index 00000000..8bdef50b
--- /dev/null
+++ b/docker-mods/nginx-proxy-manager/root/etc/cont-init.d/98-themepark
@@ -0,0 +1,63 @@
+#!/usr/bin/with-contenv bash
+
+echo '--------------------------------------'
+echo '| Nginx Proxy Manager theme.park Mod |'
+echo '--------------------------------------'
+
+if [[ -d "/app/frontend" ]]; then
+ APP_FILEPATH='/app/frontend/' # jc21/nginx-proxy-manager
+else
+ APP_FILEPATH='/opt/nginx-proxy-manager/frontend/' # jlesage/nginx-proxy-manager
+fi
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'APP_FILEPATH'=${APP_FILEPATH}\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+sed_file(){
+ sed -i "s/<\/head>/<\/head> /g" $1
+ sed -i "s/<\/head>/<\/head> /g" $1
+ printf 'Stylesheet set to %s on %s\n\n' "${TP_THEME}" "$1"
+}
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}/index.html"; then
+ echo '---------------------------------------'
+ echo '| Adding the stylesheet to html files |'
+ echo '---------------------------------------'
+ find ${APP_FILEPATH} -type f -iname *.html | while read fname
+ do
+ sed_file $fname
+ done
+fi
diff --git a/docker-mods/nginx-proxy-manager/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/nginx-proxy-manager/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/nginx-proxy-manager/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/nginx-proxy-manager/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..8bdef50b
--- /dev/null
+++ b/docker-mods/nginx-proxy-manager/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,63 @@
+#!/usr/bin/with-contenv bash
+
+echo '--------------------------------------'
+echo '| Nginx Proxy Manager theme.park Mod |'
+echo '--------------------------------------'
+
+if [[ -d "/app/frontend" ]]; then
+ APP_FILEPATH='/app/frontend/' # jc21/nginx-proxy-manager
+else
+ APP_FILEPATH='/opt/nginx-proxy-manager/frontend/' # jlesage/nginx-proxy-manager
+fi
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'APP_FILEPATH'=${APP_FILEPATH}\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+sed_file(){
+ sed -i "s/<\/head>/<\/head> /g" $1
+ sed -i "s/<\/head>/<\/head> /g" $1
+ printf 'Stylesheet set to %s on %s\n\n' "${TP_THEME}" "$1"
+}
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}/index.html"; then
+ echo '---------------------------------------'
+ echo '| Adding the stylesheet to html files |'
+ echo '---------------------------------------'
+ find ${APP_FILEPATH} -type f -iname *.html | while read fname
+ do
+ sed_file $fname
+ done
+fi
diff --git a/docker-mods/nginx-proxy-manager/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/nginx-proxy-manager/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/nginx-proxy-manager/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/nginx-proxy-manager/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/nginx-proxy-manager/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/nginx-proxy-manager/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/nginx-proxy-manager/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/nginx-proxy-manager/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/nginx-proxy-manager/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/nginx-proxy-manager/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/nzbget/root/etc/cont-init.d/98-themepark b/docker-mods/nzbget/root/etc/cont-init.d/98-themepark
index 3e94d1e1..b119672b 100644
--- a/docker-mods/nzbget/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/nzbget/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '---------------------------'
echo '| NZBGet theme.park Mod |'
diff --git a/docker-mods/nzbget/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/nzbget/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/nzbget/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/nzbget/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..3e94d1e1
--- /dev/null
+++ b/docker-mods/nzbget/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,54 @@
+#!/usr/bin/with-contenv bash
+
+echo '---------------------------'
+echo '| NZBGet theme.park Mod |'
+echo '---------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+APP_FILEPATH='/app/nzbget/webui/index.html'
+if [ "${TP_HOTIO}" = true ]; then
+ echo 'Changing to Hotio file path!'
+ APP_FILEPATH='/app/webui/index.html'
+fi
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}"; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ printf 'Stylesheet set to %s\n' "${TP_THEME}"
+fi
\ No newline at end of file
diff --git a/docker-mods/nzbget/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/nzbget/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/nzbget/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/nzbget/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/nzbget/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/nzbget/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/nzbget/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/nzbget/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/nzbget/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/nzbget/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/plex/root/etc/cont-init.d/98-themepark b/docker-mods/plex/root/etc/cont-init.d/98-themepark
index 4d042c9a..ba87314a 100644
--- a/docker-mods/plex/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/plex/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '-------------------------'
echo '| Plex theme.park Mod |'
diff --git a/docker-mods/plex/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/plex/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/plex/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/plex/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..4d042c9a
--- /dev/null
+++ b/docker-mods/plex/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,61 @@
+#!/usr/bin/with-contenv bash
+
+echo '-------------------------'
+echo '| Plex theme.park Mod |'
+echo '-------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+APP_FILEPATH=''
+if [ "${TP_HOTIO}" = true ]; then
+ echo 'Changing to Hotio file path!'
+ APP_FILEPATH='/app'
+fi
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}"/usr/lib/plexmediaserver/Resources/Plug-ins-*/WebClient.bundle/Contents/Resources/index.html; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"/usr/lib/plexmediaserver/Resources/Plug-ins-*/WebClient.bundle/Contents/Resources/index.html
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"/usr/lib/plexmediaserver/Resources/Plug-ins-*/WebClient.bundle/Contents/Resources/index.html
+ printf 'Stylesheet set to %s\n' "${TP_THEME}"
+ if [[ -n ${TP_ADDON} ]]; then
+ for addon in $(echo "$TP_ADDON" | tr "|" " "); do
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"/usr/lib/plexmediaserver/Resources/Plug-ins-*/WebClient.bundle/Contents/Resources/index.html
+ printf 'Added custom addon: %s\n\n' "${addon}"
+ done
+ fi
+fi
\ No newline at end of file
diff --git a/docker-mods/plex/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/plex/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/plex/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/plex/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/plex/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/plex/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/plex/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/plex/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/plex/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/plex/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/prowlarr/root/etc/cont-init.d/98-themepark b/docker-mods/prowlarr/root/etc/cont-init.d/98-themepark
index 37afbbbd..24aa5eca 100644
--- a/docker-mods/prowlarr/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/prowlarr/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '---------------------------'
echo '| Prowlarr theme.park Mod |'
diff --git a/docker-mods/prowlarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/prowlarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/prowlarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/prowlarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..37afbbbd
--- /dev/null
+++ b/docker-mods/prowlarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,67 @@
+#!/usr/bin/with-contenv bash
+
+echo '---------------------------'
+echo '| Prowlarr theme.park Mod |'
+echo '---------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_ADDON'=${TP_ADDON}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+APP_FILEPATH='/app/prowlarr/bin/UI/index.html'
+LOGIN_FILEPATH='/app/prowlarr/bin/UI/login.html'
+if [ "${TP_HOTIO}" = true ]; then
+ echo 'Changing to Hotio file path!'
+ APP_FILEPATH='/app/bin/UI/index.html'
+ LOGIN_FILEPATH='/app/bin/UI/login.html'
+fi
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}"; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ printf 'Stylesheet set to %s\n' "${TP_THEME}"
+ if [[ -n ${TP_ADDON} ]]; then
+ for addon in $(echo "$TP_ADDON" | tr "|" " "); do
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ printf 'Added custom addon: %s\n\n' "${addon}"
+ done
+ fi
+fi
\ No newline at end of file
diff --git a/docker-mods/prowlarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/prowlarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/prowlarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/prowlarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/prowlarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/prowlarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/prowlarr/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/prowlarr/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/prowlarr/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/prowlarr/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/qbittorrent/root/etc/cont-init.d/98-themepark b/docker-mods/qbittorrent/root/etc/cont-init.d/98-themepark
index 82484143..e7a8df69 100644
--- a/docker-mods/qbittorrent/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/qbittorrent/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '------------------------------'
echo '| qBittorrent theme.park Mod |'
diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/dependencies.d/init-mods b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/run b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/run
new file mode 100644
index 00000000..5c18c377
--- /dev/null
+++ b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/run
@@ -0,0 +1,5 @@
+#!/usr/bin/with-contenv bash
+
+if ! [[ -x "$(command -v svn)" ]]; then
+ echo "subversion" >> /mod-repo-packages-to-install.list
+fi
diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/type b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/up b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/up
new file mode 100644
index 00000000..12d7a60e
--- /dev/null
+++ b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/run
\ No newline at end of file
diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods-package-install b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods-package-install
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..76305fd5
--- /dev/null
+++ b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,120 @@
+#!/usr/bin/with-contenv bash
+
+echo '------------------------------'
+echo '| qBittorrent theme.park Mod |'
+echo '------------------------------'
+
+APP_FILEPATH='/config/qBittorrent/qBittorrent.conf'
+if [ "${TP_HOTIO}" = true ]; then
+ echo 'Changing to Hotio file path!'
+ APP_FILEPATH='/config/config/qBittorrent.conf'
+fi
+
+# Backup config
+if [[ ! -f "${APP_FILEPATH}.bak" ]]; then
+ echo "Creating qBittorrent.conf backup in /config."
+ cp -p ${APP_FILEPATH} "${APP_FILEPATH}.bak"
+fi
+
+# Restore qBittorrent.conf
+if [ "${TP_DISABLE_THEME}" = true ]; then
+ echo "Restoring backup of qBittorrent.conf"
+ sed -i "s/WebUI\\\AlternativeUIEnabled=.*$/WebUI\\\AlternativeUIEnabled=false/g" "${APP_FILEPATH}";
+ exit 0
+fi
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'APP_FILEPATH'=${APP_FILEPATH}\\n\
+'TP_DISABLE_THEME'=${TP_DISABLE_THEME}\\n\
+'TP_HOTIO'=${TP_HOTIO}\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Downloading fresh webui files from source.
+if [[ ! -d /themepark ]]; then
+ echo '---------------------------------------'
+ echo '| Downloading WebUI files from github |'
+ echo '---------------------------------------'
+ printf '\nDownloading qBittorrent webui to "/themepark"..please wait\n'
+ svn export --quiet https://github.com/qbittorrent/qBittorrent/trunk/src/webui/www /themepark
+ printf '\nDownload finished\n\n'
+ printf '\nDownloading qBittorrent webui icons to "/themepark/xxx"..please wait\n'
+ svn export --force --quiet https://github.com/qbittorrent/qBittorrent/trunk/src/icons /temp
+ cp -a /temp/. /themepark/public/icons
+ cp -a /temp/. /themepark/private/icons
+ rm -rf /temp
+ printf '\nDownload finished\n\n'
+fi
+
+sed_file(){
+ sed -i "s/<\/body>/<\/body> /g" $1
+ sed -i "s/<\/body>/<\/body> /g" $1
+ printf 'Stylesheet set to %s on %s\n\n' "${TP_THEME}" "$1"
+}
+
+# Adding stylesheets
+echo '---------------------------------------'
+echo '| Adding the stylesheet to html files |'
+echo '---------------------------------------'
+if ! grep -q "${TP_DOMAIN}/css/base" /themepark/public/index.html; then
+ sed_file /themepark/public/index.html
+fi
+
+if ! grep -q "${TP_DOMAIN}/css/base" /themepark/private/index.html; then
+ find /themepark/private -type f -iname *.html | while read fname
+ do
+ sed_file $fname
+ done
+fi
+
+if ! grep -q "WebUI\\\RootFolder" "${APP_FILEPATH}"; then
+ echo '--------------------------------------'
+ echo '| Adding WebUI\RootFolder=/themepark |'
+ echo '--------------------------------------'
+ sed -i -e '$aWebUI\\RootFolder=/themepark' "${APP_FILEPATH}";
+fi
+
+if ! grep -q "WebUI\\\AlternativeUIEnabled" "${APP_FILEPATH}"; then
+ echo '------------------------------------------'
+ echo '| Adding WebUI\AlternativeUIEnabled=true |'
+ echo '------------------------------------------'
+ sed -i -e '$aWebUI\\AlternativeUIEnabled=true' "${APP_FILEPATH}";
+fi
+
+if ! grep -q "WebUI\\\RootFolder=/themepark" "${APP_FILEPATH}" || ! grep -q "WebUI\\\AlternativeUIEnabled=true" "${APP_FILEPATH}"; then
+ echo '-------------------------------------------------------'
+ echo '| Updating RootFolder and AlternativeUIEnabled values |'
+ echo '-------------------------------------------------------'
+ sed -i "s/WebUI\\\AlternativeUIEnabled=.*$/WebUI\\\AlternativeUIEnabled=true/g" "${APP_FILEPATH}";
+ sed -i "s/WebUI\\\RootFolder=.*$/WebUI\\\RootFolder=\/themepark/g" "${APP_FILEPATH}";
+fi
diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-themepark-add-package b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-themepark-add-package
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark-add-package b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark-add-package
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/radarr/root/etc/cont-init.d/98-themepark b/docker-mods/radarr/root/etc/cont-init.d/98-themepark
index 4051c1fd..6c4e634d 100644
--- a/docker-mods/radarr/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/radarr/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '---------------------------'
echo '| Radarr theme.park Mod |'
diff --git a/docker-mods/radarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/radarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/radarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/radarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..4051c1fd
--- /dev/null
+++ b/docker-mods/radarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,67 @@
+#!/usr/bin/with-contenv bash
+
+echo '---------------------------'
+echo '| Radarr theme.park Mod |'
+echo '---------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_ADDON'=${TP_ADDON}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+APP_FILEPATH='/app/radarr/bin/UI/index.html'
+LOGIN_FILEPATH='/app/radarr/bin/UI/login.html'
+if [ "${TP_HOTIO}" = true ]; then
+ echo 'Changing to Hotio file path!'
+ APP_FILEPATH='/app/bin/UI/index.html'
+ LOGIN_FILEPATH='/app/bin/UI/login.html'
+fi
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}"; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ printf 'Stylesheet set to %s\n' "${TP_THEME}"
+ if [[ -n ${TP_ADDON} ]]; then
+ for addon in $(echo "$TP_ADDON" | tr "|" " "); do
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ printf 'Added custom addon: %s\n\n' "${addon}"
+ done
+ fi
+fi
\ No newline at end of file
diff --git a/docker-mods/radarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/radarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/radarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/radarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/radarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/radarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/radarr/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/radarr/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/radarr/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/radarr/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/readarr/root/etc/cont-init.d/98-themepark b/docker-mods/readarr/root/etc/cont-init.d/98-themepark
index 28f2b78d..19185740 100644
--- a/docker-mods/readarr/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/readarr/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '---------------------------'
echo '| Readarr theme.park Mod |'
diff --git a/docker-mods/readarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/readarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/readarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/readarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..28f2b78d
--- /dev/null
+++ b/docker-mods/readarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,67 @@
+#!/usr/bin/with-contenv bash
+
+echo '---------------------------'
+echo '| Readarr theme.park Mod |'
+echo '---------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_ADDON'=${TP_ADDON}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+APP_FILEPATH='/app/readarr/bin/UI/index.html'
+LOGIN_FILEPATH='/app/readarr/bin/UI/login.html'
+if [ "${TP_HOTIO}" = true ]; then
+ echo 'Changing to Hotio file path!'
+ APP_FILEPATH='/app/bin/UI/index.html'
+ LOGIN_FILEPATH='/app/bin/UI/login.html'
+fi
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}"; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ printf 'Stylesheet set to %s\n' "${TP_THEME}"
+ if [[ -n ${TP_ADDON} ]]; then
+ for addon in $(echo "$TP_ADDON" | tr "|" " "); do
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ printf 'Added custom addon: %s\n\n' "${addon}"
+ done
+ fi
+fi
diff --git a/docker-mods/readarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/readarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/readarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/readarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/readarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/readarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/readarr/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/readarr/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/readarr/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/readarr/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/rutorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/rutorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/rutorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/rutorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..f57b9c48
--- /dev/null
+++ b/docker-mods/rutorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,50 @@
+#!/usr/bin/with-contenv bash
+
+echo '------------------------------'
+echo '| Rutorrent theme.park Mod |'
+echo '------------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" /app/rutorrent/index.html; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" /app/rutorrent/index.html
+ sed -i "s/<\/head>/<\/head> /g" /app/rutorrent/index.html
+ printf 'Stylesheet set to %s\n' "${TP_THEME}
+ "
+fi
\ No newline at end of file
diff --git a/docker-mods/rutorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/rutorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/rutorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/rutorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/rutorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/rutorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/rutorrent/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/rutorrent/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/rutorrent/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/rutorrent/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/sabnzbd/root/etc/cont-init.d/98-themepark b/docker-mods/sabnzbd/root/etc/cont-init.d/98-themepark
index 129cf6ea..0a26ad13 100644
--- a/docker-mods/sabnzbd/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/sabnzbd/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '----------------------------'
echo '| SABnzbd theme.park Mod |'
diff --git a/docker-mods/sabnzbd/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/sabnzbd/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/sabnzbd/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/sabnzbd/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..129cf6ea
--- /dev/null
+++ b/docker-mods/sabnzbd/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,61 @@
+#!/usr/bin/with-contenv bash
+
+echo '----------------------------'
+echo '| SABnzbd theme.park Mod |'
+echo '----------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+APP_FILEPATH='/app/sabnzbd'
+if [ "${TP_HOTIO}" = true ]; then
+ echo 'Changing to Hotio file path!'
+ APP_FILEPATH='/app'
+fi
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}/interfaces/Glitter/templates/main.tmpl"; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}/interfaces/Glitter/templates/main.tmpl"
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}/interfaces/Config/templates/_inc_header_uc.tmpl"
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}/interfaces/Config/templates/login/main.tmpl"
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}/interfaces/wizard/inc_top.tmpl"
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}/interfaces/Glitter/templates/main.tmpl"
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}/interfaces/Config/templates/_inc_header_uc.tmpl"
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}/interfaces/Config/templates/login/main.tmpl"
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}/interfaces/wizard/inc_top.tmpl"
+ printf 'Stylesheet set to %s\n' "${TP_THEME}"
+fi
\ No newline at end of file
diff --git a/docker-mods/sabnzbd/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/sabnzbd/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/sabnzbd/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/sabnzbd/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/sabnzbd/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/sabnzbd/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/sabnzbd/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/sabnzbd/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/sabnzbd/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/sabnzbd/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
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 636eb2ae..31c35abc 100644
--- a/docker-mods/sonarr/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/sonarr/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '---------------------------'
echo '| Sonarr theme.park Mod |'
diff --git a/docker-mods/sonarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/sonarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/sonarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/sonarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..636eb2ae
--- /dev/null
+++ b/docker-mods/sonarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,67 @@
+#!/usr/bin/with-contenv bash
+
+echo '---------------------------'
+echo '| Sonarr theme.park Mod |'
+echo '---------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_ADDON'=${TP_ADDON}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+APP_FILEPATH='/app/sonarr/bin/UI/index.html'
+LOGIN_FILEPATH='/app/sonarr/bin/UI/login.html'
+if [ "${TP_HOTIO}" = true ]; then
+ echo 'Changing to Hotio file path!'
+ APP_FILEPATH='/app/bin/UI/index.html'
+ LOGIN_FILEPATH='/app/bin/UI/login.html'
+fi
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}"; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ printf 'Stylesheet set to %s\n' "${TP_THEME}"
+ if [[ -n ${TP_ADDON} ]]; then
+ for addon in $(echo "$TP_ADDON" | tr "|" " "); do
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ printf 'Added custom addon: %s\n\n' "${addon}"
+ done
+ fi
+fi
\ No newline at end of file
diff --git a/docker-mods/sonarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/sonarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/sonarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/sonarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/sonarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/sonarr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/sonarr/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/sonarr/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/sonarr/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/sonarr/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/dependencies.d/init-mods b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/run b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/run
new file mode 100644
index 00000000..5c18c377
--- /dev/null
+++ b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/run
@@ -0,0 +1,5 @@
+#!/usr/bin/with-contenv bash
+
+if ! [[ -x "$(command -v svn)" ]]; then
+ echo "subversion" >> /mod-repo-packages-to-install.list
+fi
diff --git a/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/type b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/up b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/up
new file mode 100644
index 00000000..12d7a60e
--- /dev/null
+++ b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/run
\ No newline at end of file
diff --git a/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods-package-install b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods-package-install
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..962bed88
--- /dev/null
+++ b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,54 @@
+#!/usr/bin/with-contenv bash
+
+echo '-------------------------'
+echo '| SWAG theme.park Mod |'
+echo '-------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_BRANCH'=${TP_BRANCH}\\n"
+
+# Set default
+if [[ -z ${TP_BRANCH} ]]; then
+ echo 'No branch set, defaulting to live'
+ TP_BRANCH='live'
+fi
+
+if [[ ${TP_BRANCH} == "master" ]]; then
+ TP_BRANCH='live'
+fi
+
+if [[ ${TP_BRANCH} == "develop" ]]; then
+ TP_BRANCH='live_develop'
+fi
+
+if [[ ${TP_BRANCH} == "testing" ]]; then
+ TP_BRANCH='live_testing'
+fi
+
+mkdir -p /config/www/themepark
+
+SHA_RELEASE=$(curl -sL "https://api.github.com/repos/gilbn/theme.park/commits/${TP_BRANCH}" | jq -r '.sha');
+if [[ ! -f "/config/www/themepark/sha.txt" ]]; then
+ SHA=""
+else
+ SHA=$(cat /config/www/themepark/sha.txt)
+fi
+# Downloading fresh webui files from source.
+if [[ $SHA != $SHA_RELEASE ]]; then
+ echo "-----------------------------------------------------"
+ echo "| Downloading latest files from ${TP_BRANCH} branch |"
+ echo "-----------------------------------------------------"
+ svn export --quiet --force "https://github.com/GilbN/theme.park/branches/${TP_BRANCH}/css" /config/www/themepark/css
+ svn export --quiet --force "https://github.com/GilbN/theme.park/branches/${TP_BRANCH}/resources" /config/www/themepark/resources
+ svn export --quiet --force "https://github.com/GilbN/theme.park/branches/${TP_BRANCH}/themes.json" /config/www/themepark
+ svn export --quiet --force "https://github.com/GilbN/theme.park/branches/${TP_BRANCH}/index.html" /config/www/themepark
+ printf '\nDownload finished\n\n'
+fi
+
+cat <<< "$SHA_RELEASE" > "/config/www/themepark/sha.txt"
+cp /themepark-confs/* /config/nginx/proxy-confs
+
+# permissions
+chown -R abc:abc \
+ /config/www/themepark
\ No newline at end of file
diff --git a/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-themepark-add-package b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-themepark-add-package
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark-add-package b/docker-mods/swag/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark-add-package
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/synclounge/root/etc/cont-init.d/98-themepark b/docker-mods/synclounge/root/etc/cont-init.d/98-themepark
index 1b0a160e..e656a2e6 100644
--- a/docker-mods/synclounge/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/synclounge/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '-------------------------------'
echo '| Synclounge theme.park Mod |'
diff --git a/docker-mods/synclounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/synclounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/synclounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/synclounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..1b0a160e
--- /dev/null
+++ b/docker-mods/synclounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,50 @@
+#!/usr/bin/with-contenv bash
+
+echo '-------------------------------'
+echo '| Synclounge theme.park Mod |'
+echo '-------------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" /usr/lib/node_modules/synclounge/dist/index.html; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" /usr/lib/node_modules/synclounge/dist/index.html
+ sed -i "s/<\/head>/<\/head> /g" /usr/lib/node_modules/synclounge/dist/index.html
+ printf 'Stylesheet set to %s\n' "${TP_THEME}
+ "
+fi
\ No newline at end of file
diff --git a/docker-mods/synclounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/synclounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/synclounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/synclounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/synclounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/synclounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/synclounge/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/synclounge/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/synclounge/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/synclounge/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/tautulli/root/etc/cont-init.d/98-themepark b/docker-mods/tautulli/root/etc/cont-init.d/98-themepark
index 4013d706..62d53187 100644
--- a/docker-mods/tautulli/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/tautulli/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '-----------------------------'
echo '| Tautulli theme.park Mod |'
diff --git a/docker-mods/tautulli/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/tautulli/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/tautulli/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/tautulli/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..4013d706
--- /dev/null
+++ b/docker-mods/tautulli/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,55 @@
+#!/usr/bin/with-contenv bash
+
+echo '-----------------------------'
+echo '| Tautulli theme.park Mod |'
+echo '-----------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+APP_FILEPATH='/app/tautulli/data/interfaces/default/base.html'
+if [ "${TP_HOTIO}" = true ]; then
+ echo 'Changing to Hotio file path!'
+ APP_FILEPATH='/app/data/interfaces/default/base.html'
+fi
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}"; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ printf 'Stylesheet set to %s\n' "${TP_THEME}"
+fi
\ No newline at end of file
diff --git a/docker-mods/tautulli/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/tautulli/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/tautulli/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/tautulli/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/tautulli/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/tautulli/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/tautulli/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/tautulli/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/tautulli/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/tautulli/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/thelounge/root/etc/cont-init.d/98-themepark b/docker-mods/thelounge/root/etc/cont-init.d/98-themepark
index 96bc372b..ff368b08 100644
--- a/docker-mods/thelounge/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/thelounge/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '-------------------------------'
echo '| The Lounge theme.park Mod |'
diff --git a/docker-mods/thelounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/thelounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/thelounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/thelounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..96bc372b
--- /dev/null
+++ b/docker-mods/thelounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,50 @@
+#!/usr/bin/with-contenv bash
+
+echo '-------------------------------'
+echo '| The Lounge theme.park Mod |'
+echo '-------------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" /usr/lib/node_modules/thelounge/client/index.html.tpl; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" /usr/lib/node_modules/thelounge/client/index.html.tpl
+ sed -i "s/<\/head>/<\/head> /g" /usr/lib/node_modules/thelounge/client/index.html.tpl
+ printf 'Stylesheet set to %s\n' "${TP_THEME}
+ "
+fi
\ No newline at end of file
diff --git a/docker-mods/thelounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/thelounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/thelounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/thelounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/thelounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/thelounge/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/thelounge/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/thelounge/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/thelounge/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/thelounge/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/transmission/root/etc/cont-init.d/98-themepark b/docker-mods/transmission/root/etc/cont-init.d/98-themepark
index 45c27963..e94de6ea 100644
--- a/docker-mods/transmission/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/transmission/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '---------------------------------'
echo '| Transmission theme.park Mod |'
diff --git a/docker-mods/transmission/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/transmission/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/transmission/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/transmission/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..45c27963
--- /dev/null
+++ b/docker-mods/transmission/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,50 @@
+#!/usr/bin/with-contenv bash
+
+echo '---------------------------------'
+echo '| Transmission theme.park Mod |'
+echo '---------------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" /usr/share/transmission/web/index.html; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" /usr/share/transmission/web/index.html
+ sed -i "s/<\/head>/<\/head> /g" /usr/share/transmission/web/index.html
+ printf 'Stylesheet set to %s\n' "${TP_THEME}
+ "
+fi
\ No newline at end of file
diff --git a/docker-mods/transmission/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/transmission/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/transmission/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/transmission/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/transmission/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/transmission/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/transmission/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/transmission/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/transmission/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/transmission/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/vuetorrent/root/etc/cont-init.d/98-themepark b/docker-mods/vuetorrent/root/etc/cont-init.d/98-themepark
index d0cb8981..3124bd4d 100644
--- a/docker-mods/vuetorrent/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/vuetorrent/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
APP_FILEPATH='/config/qBittorrent/qBittorrent.conf'
INDEX_FILEPATH='/vuetorrent/public/index.html'
if [ "${TP_HOTIO}" = true ]; then
diff --git a/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/dependencies.d/init-mods b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/run b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/run
new file mode 100644
index 00000000..16645ac6
--- /dev/null
+++ b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/run
@@ -0,0 +1,5 @@
+#!/usr/bin/with-contenv bash
+
+if ! [[ -x "$(command -v jq)" ]]; then
+ echo "jq" >> /mod-repo-packages-to-install.list
+fi
diff --git a/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/type b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/up b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/up
new file mode 100644
index 00000000..12d7a60e
--- /dev/null
+++ b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/run
\ No newline at end of file
diff --git a/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods-package-install b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods-package-install
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..8398de61
--- /dev/null
+++ b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,134 @@
+#!/usr/bin/with-contenv bash
+APP_FILEPATH='/config/qBittorrent/qBittorrent.conf'
+INDEX_FILEPATH='/vuetorrent/public/index.html'
+if [ "${TP_HOTIO}" = true ]; then
+ echo 'Changing to Hotio file paths!'
+ APP_FILEPATH='/config/config/qBittorrent.conf'
+ INDEX_FILEPATH='/app/vuetorrent/public/index.html'
+fi
+
+# Backup config
+if [[ ! -f "${APP_FILEPATH}.bak" ]]; then
+ echo "Creating qBittorrent.conf backup in /config."
+ cp -p ${APP_FILEPATH} "${APP_FILEPATH}.bak"
+fi
+
+# Restore qBittorrent.conf
+if [ "${TP_DISABLE_THEME}" = true ]; then
+ echo "Restoring backup of qBittorrent.conf"
+ sed -i "s/WebUI\\\AlternativeUIEnabled=.*$/WebUI\\\AlternativeUIEnabled=false/g" "${APP_FILEPATH}";
+ exit 0
+fi
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+RELEASE_FILEPATH='/vuetorrent/release.json'
+NEEDS_UPDATE=false
+CURRENT_RELEASE=$(curl -s https://api.github.com/repos/WDaan/VueTorrent/releases/latest | jq -r ".assets[]")
+
+# ===============================================
+check_updates() {
+ if [[ ! -d ./vuetorrent ]]; then
+ NEEDS_UPDATE=true
+ elif [[ ! -f $RELEASE_FILEPATH ]]; then
+ NEEDS_UPDATE=true
+ else
+ old_date=$(date -d $(cat "${RELEASE_FILEPATH}" | jq -r ".updated_at") +%s)
+ new_date=$(date -d $(echo $CURRENT_RELEASE | jq -r ".updated_at") +%s)
+ if [ $new_date -gt $old_date ]; then
+ NEEDS_UPDATE=true
+ fi
+ fi
+}
+update_ui() {
+ printf '\nDownloading qBittorrent webui to "/vuetorrent"..please wait\n'
+ curl -L $(echo $CURRENT_RELEASE | jq -r ".browser_download_url") --output /tmp/vuetorrent.zip
+ printf '\nDownload finished\n\n'
+ if [[ -d /vuetorrent ]]; then
+ rm -rf /vuetorrent
+ fi
+ # mkdir -p /vuetorrent
+ unzip -q /tmp/vuetorrent.zip -d /
+ echo $CURRENT_RELEASE >"${RELEASE_FILEPATH}"
+}
+# ===============================================
+
+echo '-----------------------------------------'
+echo '| qBittorrent vuetorrent theme.park Mod |'
+echo '-----------------------------------------'
+
+if [[ -z ${TP_HOTIO} ]]; then
+ check_updates
+
+ if [ "$NEEDS_UPDATE" = true ]; then
+ echo '---------------------------------------'
+ echo '| Downloading WebUI files from github |'
+ echo '---------------------------------------'
+ update_ui
+ else
+ echo ' WebUI files are up-to-date!'
+ fi
+
+ if ! grep -q "WebUI\\\RootFolder" "${APP_FILEPATH}"; then
+ echo '--------------------------------------'
+ echo '| Adding WebUI\RootFolder=/vuetorrent |'
+ echo '--------------------------------------'
+ sed -i -e '$aWebUI\\RootFolder=/vuetorrent' "${APP_FILEPATH}"
+ fi
+
+ if ! grep -q "WebUI\\\AlternativeUIEnabled" "${APP_FILEPATH}"; then
+ echo '------------------------------------------'
+ echo '| Adding WebUI\AlternativeUIEnabled=true |'
+ echo '------------------------------------------'
+ sed -i -e '$aWebUI\\AlternativeUIEnabled=true' "${APP_FILEPATH}"
+ fi
+
+ if ! grep -q "WebUI\\\RootFolder=/vuetorrent" "${APP_FILEPATH}" || ! grep -q "WebUI\\\AlternativeUIEnabled=true" "${APP_FILEPATH}"; then
+ echo '-------------------------------------------------------'
+ echo '| Updating RootFolder and AlternativeUIEnabled values |'
+ echo '-------------------------------------------------------'
+ sed -i "s/WebUI\\\AlternativeUIEnabled=.*$/WebUI\\\AlternativeUIEnabled=true/g" "${APP_FILEPATH}"
+ sed -i "s/WebUI\\\RootFolder=.*$/WebUI\\\RootFolder=\/vuetorrent/g" "${APP_FILEPATH}"
+ fi
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" "${INDEX_FILEPATH}"; then
+ echo '---------------------------------------------------------'
+ echo '| Adding the stylesheet to /vuetorrent/public/index.html |'
+ echo '---------------------------------------------------------'
+ sed -i "s/<\/body>/<\/body> /g" "${INDEX_FILEPATH}"
+ sed -i "s/<\/body>/<\/body> /g" "${INDEX_FILEPATH}"
+ printf 'Stylesheet set to %s on public index.html\n' "${TP_THEME}"
+fi
\ No newline at end of file
diff --git a/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-themepark-add-package b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-themepark-add-package
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark-add-package b/docker-mods/vuetorrent/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark-add-package
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/whisparr/root/etc/cont-init.d/98-themepark b/docker-mods/whisparr/root/etc/cont-init.d/98-themepark
index 8f710aaa..38dacbeb 100644
--- a/docker-mods/whisparr/root/etc/cont-init.d/98-themepark
+++ b/docker-mods/whisparr/root/etc/cont-init.d/98-themepark
@@ -1,4 +1,4 @@
-#!/usr/bin/with-contenv bash
+#!/command/with-contenv bash
echo '-----------------------------'
echo '| Whisparr theme.park Mod |'
diff --git a/docker-mods/whisparr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods b/docker-mods/whisparr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mods
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/whisparr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/whisparr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
new file mode 100644
index 00000000..8f710aaa
--- /dev/null
+++ b/docker-mods/whisparr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
@@ -0,0 +1,67 @@
+#!/usr/bin/with-contenv bash
+
+echo '-----------------------------'
+echo '| Whisparr theme.park Mod |'
+echo '-----------------------------'
+
+# Display variables for troubleshooting
+echo -e "Variables set:\\n\
+'TP_DOMAIN'=${TP_DOMAIN}\\n\
+'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\
+'TP_SCHEME'=${TP_SCHEME}\\n\
+'TP_ADDON'=${TP_ADDON}\\n\
+'TP_THEME'=${TP_THEME}\\n"
+
+APP_FILEPATH='/app/whisparr/bin/UI/index.html'
+LOGIN_FILEPATH='/app/whisparr/bin/UI/login.html'
+if [ "${TP_HOTIO}" = true ]; then
+ echo 'Changing to Hotio file path!'
+ APP_FILEPATH='/app/bin/UI/index.html'
+ LOGIN_FILEPATH='/app/bin/UI/login.html'
+fi
+
+# Set default
+if [[ -z ${TP_DOMAIN} ]]; then
+ echo 'No domain set, defaulting to theme-park.dev'
+ TP_DOMAIN='theme-park.dev'
+fi
+if [[ -z ${TP_SCHEME} ]]; then
+ echo 'No scheme set, defaulting to https'
+ TP_SCHEME='https'
+fi
+
+THEME_TYPE='theme-options'
+if [ "${TP_COMMUNITY_THEME}" = true ]; then
+ THEME_TYPE='community-theme-options'
+fi
+
+case ${TP_DOMAIN} in
+ *"github.io"*)
+ echo "Switching to github.io URL style"
+ TP_DOMAIN="${TP_DOMAIN}\/theme.park"
+ ;;
+esac
+
+if [[ -z ${TP_THEME} ]]; then
+ echo 'No theme set, defaulting to organizr'
+ TP_THEME='organizr'
+fi
+
+# Adding stylesheets
+if ! grep -q "${TP_DOMAIN}/css/base" "${APP_FILEPATH}"; then
+ echo '---------------------------'
+ echo '| Adding the stylesheet |'
+ echo '---------------------------'
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ printf 'Stylesheet set to %s\n' "${TP_THEME}"
+ if [[ -n ${TP_ADDON} ]]; then
+ for addon in $(echo "$TP_ADDON" | tr "|" " "); do
+ sed -i "s/<\/head>/<\/head> /g" "${APP_FILEPATH}"
+ sed -i "s/<\/head>/<\/head> /g" "${LOGIN_FILEPATH}"
+ printf 'Added custom addon: %s\n\n' "${addon}"
+ done
+ fi
+fi
\ No newline at end of file
diff --git a/docker-mods/whisparr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/whisparr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
new file mode 100644
index 00000000..3d92b15f
--- /dev/null
+++ b/docker-mods/whisparr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/docker-mods/whisparr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/whisparr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
new file mode 100644
index 00000000..be856d4e
--- /dev/null
+++ b/docker-mods/whisparr/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-mod-themepark/run
\ No newline at end of file
diff --git a/docker-mods/whisparr/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark b/docker-mods/whisparr/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker-mods/whisparr/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark b/docker-mods/whisparr/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-themepark
new file mode 100644
index 00000000..e69de29b
diff --git a/docker/root/defaults/default b/docker/root/defaults/default
index b10a8ebe..ce796575 100644
--- a/docker/root/defaults/default
+++ b/docker/root/defaults/default
@@ -13,7 +13,7 @@ server {
location / {
alias /config/www/;
- try_files $uri $uri/ /index.html;
+ try_files $uri $uri/ =404;
}
location /themepark {return 302 $scheme://$http_host/themepark/;}
location /themepark/ {
@@ -22,7 +22,7 @@ server {
sub_filter 'url("/theme.park/css/' 'url("/themepark/css/';
sub_filter 'url(/theme.park/resources/' 'url(/themepark/resources/';
sub_filter_once off;
- try_files $uri $uri/ /index.html;
+ try_files $uri $uri/ =404;
}
# Don't cache
diff --git a/docker/root/etc/cont-init.d/50-config b/docker/root/etc/cont-init.d/50-config
index d871395e..856f3ee2 100644
--- a/docker/root/etc/cont-init.d/50-config
+++ b/docker/root/etc/cont-init.d/50-config
@@ -1,11 +1,23 @@
#!/usr/bin/with-contenv bash
-echo '------------------'
-echo '| theme.park |'
-echo '------------------'
+echo '
+----------------------------------------------------------------------------------------
+ dP dP dP
+ 88 88 88
+ d8888P 88d888b. .d8888b. 88d8b.d8b. .d8888b. 88d888b. .d8888b. 88d888b. 88 .dP
+ 88 88 `88 88ooood8 88 88 88 88ooood8 88. `88 88 `88 88 `88 88888.
+ 88 88 88 88. ... 88 88 88 88. ... 88. .88 88 88 88 88 `8b.
+ dP dP dP `88888P dP dP dP `88888P 88 88Y888P `88888P8 dP dP `YP
+ 88
+ dP
+
+ Made by @gilbN
+ https://theme-park.dev
+----------------------------------------------------------------------------------------'
+
# Display variables for troubleshooting
-echo -e "Variables set:\\n\
+echo -e "[theme.park-init] Variables set:\\n\
PUID=${PUID}\\n\
PGID=${PGID}\\n\
TZ=${TZ}\\n\
@@ -29,8 +41,10 @@ cp /defaults/default /config/nginx/site-confs
# make our folders and links
mkdir -p \
- /config/www/{css,resources}
+ /config/www/{css,resources} \
+ /config/docker-mods
+echo '[theme.park-init] Copying theme files'
# copy theme files
cp -R /app/themepark/css /config/www
cp -R /app/themepark/resources /config/www
@@ -38,7 +52,13 @@ cp /app/themepark/index.html /config/www
cp /app/themepark/themes.py /config/www
cp /app/themepark/CNAME /config/www
-echo 'Creating CSS files'
+echo '[theme.park-init] Copying mods into /config/docker-mods'
+# copy mods
+ for folder in /app/themepark/docker-mods/*; do \
+ cp /app/themepark/docker-mods/"${folder##*/}"/root/etc/cont-init.d/98-themepark /config/docker-mods/98-themepark-"${folder##*/}"; \
+ done
+
+echo '[theme.park-init] Running themes.py and creating CSS files'
python3 /config/www/themes.py
# permissions
diff --git a/fetch.sh b/fetch.sh
index 9a4b63f8..e3f3fd37 100644
--- a/fetch.sh
+++ b/fetch.sh
@@ -11,7 +11,7 @@ mkdir -p "$DIR"
printf "\nSaving mods into $DIR\n\n"
jq -r 'to_entries | map(.key + "|" + (.value | tostring)) | .[]' <<< "$MODS" | \
while IFS='|' read key value; do
- curl "$value" --create-dirs --output "$DIR/$key" --silent
+ curl "$value" --create-dirs --output "$DIR/98-themepark-$key" --silent
echo "Fetched $key script"
done
-chmod go+rx $DIR
\ No newline at end of file
+chmod -R +x $DIR
\ No newline at end of file
diff --git a/linux-amd64.Dockerfile b/linux-amd64.Dockerfile
index 1dae9389..b5df2588 100644
--- a/linux-amd64.Dockerfile
+++ b/linux-amd64.Dockerfile
@@ -18,6 +18,7 @@ apk add --no-cache --virtual=runtime-dependencies \
WORKDIR /app
COPY css/ /app/themepark/css/
COPY resources/ /app/themepark/resources/
+COPY docker-mods/ /app/themepark/docker-mods/
COPY themes.py index.html CNAME /app/themepark/
COPY docker/root/ /
\ No newline at end of file
diff --git a/linux-arm-v7.Dockerfile b/linux-arm-v7.Dockerfile
index 4044eb6f..8992e1a5 100644
--- a/linux-arm-v7.Dockerfile
+++ b/linux-arm-v7.Dockerfile
@@ -18,6 +18,7 @@ apk add --no-cache --virtual=runtime-dependencies \
WORKDIR /app
COPY css/ /app/themepark/css/
COPY resources/ /app/themepark/resources/
+COPY docker-mods/ /app/themepark/docker-mods/
COPY themes.py index.html CNAME /app/themepark/
COPY docker/root/ /
\ No newline at end of file
diff --git a/linux-arm64.Dockerfile b/linux-arm64.Dockerfile
index 7945ef59..3d338d72 100644
--- a/linux-arm64.Dockerfile
+++ b/linux-arm64.Dockerfile
@@ -18,6 +18,7 @@ apk add --no-cache --virtual=runtime-dependencies \
WORKDIR /app
COPY css/ /app/themepark/css/
COPY resources/ /app/themepark/resources/
+COPY docker-mods/ /app/themepark/docker-mods/
COPY themes.py index.html CNAME /app/themepark/
COPY docker/root/ /
\ No newline at end of file
diff --git a/resources/blur-light-dark.png b/resources/blur-light-dark.png
index a5af8bf9..d068bb61 100644
Binary files a/resources/blur-light-dark.png and b/resources/blur-light-dark.png differ
diff --git a/resources/blur-light.png b/resources/blur-light.png
index c79a3188..44aa67b2 100644
Binary files a/resources/blur-light.png and b/resources/blur-light.png differ
diff --git a/resources/blur-noise.png b/resources/blur-noise.png
index 45e67618..5e44c664 100644
Binary files a/resources/blur-noise.png and b/resources/blur-noise.png differ
diff --git a/resources/deluge/active.png b/resources/deluge/active.png
index 582acbcf..d8ade510 100644
Binary files a/resources/deluge/active.png and b/resources/deluge/active.png differ
diff --git a/resources/deluge/add.png b/resources/deluge/add.png
index c2e22c33..deb80b8c 100644
Binary files a/resources/deluge/add.png and b/resources/deluge/add.png differ
diff --git a/resources/deluge/add_small.png b/resources/deluge/add_small.png
index 0c25468f..b794b8d7 100644
Binary files a/resources/deluge/add_small.png and b/resources/deluge/add_small.png differ
diff --git a/resources/deluge/all.png b/resources/deluge/all.png
index fff584b0..df2f9e58 100644
Binary files a/resources/deluge/all.png and b/resources/deluge/all.png differ
diff --git a/resources/deluge/ascending.png b/resources/deluge/ascending.png
index 70dbc144..d33fd6af 100644
Binary files a/resources/deluge/ascending.png and b/resources/deluge/ascending.png differ
diff --git a/resources/deluge/bottom.png b/resources/deluge/bottom.png
index 11eb6b2c..f900f7cf 100644
Binary files a/resources/deluge/bottom.png and b/resources/deluge/bottom.png differ
diff --git a/resources/deluge/checking.png b/resources/deluge/checking.png
index 4b73f813..4171a020 100644
Binary files a/resources/deluge/checking.png and b/resources/deluge/checking.png differ
diff --git a/resources/deluge/columns.png b/resources/deluge/columns.png
index 857042ea..53eefa3e 100644
Binary files a/resources/deluge/columns.png and b/resources/deluge/columns.png differ
diff --git a/resources/deluge/connection.png b/resources/deluge/connection.png
index 4e68683d..4cbc724e 100644
Binary files a/resources/deluge/connection.png and b/resources/deluge/connection.png differ
diff --git a/resources/deluge/connection_small.png b/resources/deluge/connection_small.png
index e60f265e..3e78ea83 100644
Binary files a/resources/deluge/connection_small.png and b/resources/deluge/connection_small.png differ
diff --git a/resources/deluge/connections.png b/resources/deluge/connections.png
index db193df4..74c237a9 100644
Binary files a/resources/deluge/connections.png and b/resources/deluge/connections.png differ
diff --git a/resources/deluge/deluge.png b/resources/deluge/deluge.png
index 950d5ac1..e3f937b9 100644
Binary files a/resources/deluge/deluge.png and b/resources/deluge/deluge.png differ
diff --git a/resources/deluge/descending.png b/resources/deluge/descending.png
index dda70d20..567129c9 100644
Binary files a/resources/deluge/descending.png and b/resources/deluge/descending.png differ
diff --git a/resources/deluge/dling.png b/resources/deluge/dling.png
index 1530f899..2cb45bf4 100644
Binary files a/resources/deluge/dling.png and b/resources/deluge/dling.png differ
diff --git a/resources/deluge/down.png b/resources/deluge/down.png
index 96793c4a..ada47b93 100644
Binary files a/resources/deluge/down.png and b/resources/deluge/down.png differ
diff --git a/resources/deluge/down_small.png b/resources/deluge/down_small.png
index 99b6e15b..0df3a305 100644
Binary files a/resources/deluge/down_small.png and b/resources/deluge/down_small.png differ
diff --git a/resources/deluge/edit.png b/resources/deluge/edit.png
index 36220a87..78a0b2a4 100644
Binary files a/resources/deluge/edit.png and b/resources/deluge/edit.png differ
diff --git a/resources/deluge/error.png b/resources/deluge/error.png
index ecd2048a..bf369b37 100644
Binary files a/resources/deluge/error.png and b/resources/deluge/error.png differ
diff --git a/resources/deluge/file.png b/resources/deluge/file.png
index 4e02c937..e674f57d 100644
Binary files a/resources/deluge/file.png and b/resources/deluge/file.png differ
diff --git a/resources/deluge/folder.png b/resources/deluge/folder.png
index 2dde716b..c38cb362 100644
Binary files a/resources/deluge/folder.png and b/resources/deluge/folder.png differ
diff --git a/resources/deluge/harddrive.png b/resources/deluge/harddrive.png
index 55f98bd8..5fb8472f 100644
Binary files a/resources/deluge/harddrive.png and b/resources/deluge/harddrive.png differ
diff --git a/resources/deluge/help.png b/resources/deluge/help.png
index 54e8e268..5784eb72 100644
Binary files a/resources/deluge/help.png and b/resources/deluge/help.png differ
diff --git a/resources/deluge/logout.png b/resources/deluge/logout.png
index 03af055e..780c822b 100644
Binary files a/resources/deluge/logout.png and b/resources/deluge/logout.png differ
diff --git a/resources/deluge/move.png b/resources/deluge/move.png
index 28b385eb..0b5baf1b 100644
Binary files a/resources/deluge/move.png and b/resources/deluge/move.png differ
diff --git a/resources/deluge/ok.png b/resources/deluge/ok.png
index 8405502b..6c7312f5 100644
Binary files a/resources/deluge/ok.png and b/resources/deluge/ok.png differ
diff --git a/resources/deluge/pause.png b/resources/deluge/pause.png
index 2ad6f8f1..3d41baf2 100644
Binary files a/resources/deluge/pause.png and b/resources/deluge/pause.png differ
diff --git a/resources/deluge/paused.png b/resources/deluge/paused.png
index e7218ff4..8bd712b1 100644
Binary files a/resources/deluge/paused.png and b/resources/deluge/paused.png differ
diff --git a/resources/deluge/plugin.png b/resources/deluge/plugin.png
index d02baf58..cf0f9cfb 100644
Binary files a/resources/deluge/plugin.png and b/resources/deluge/plugin.png differ
diff --git a/resources/deluge/queue.png b/resources/deluge/queue.png
index 46f91fdc..21a07d5c 100644
Binary files a/resources/deluge/queue.png and b/resources/deluge/queue.png differ
diff --git a/resources/deluge/queued.png b/resources/deluge/queued.png
index de77d475..3bf61869 100644
Binary files a/resources/deluge/queued.png and b/resources/deluge/queued.png differ
diff --git a/resources/deluge/remove.png b/resources/deluge/remove.png
index 8d20479a..01cb6137 100644
Binary files a/resources/deluge/remove.png and b/resources/deluge/remove.png differ
diff --git a/resources/deluge/remove_small.png b/resources/deluge/remove_small.png
index 25fc2175..32d412e0 100644
Binary files a/resources/deluge/remove_small.png and b/resources/deluge/remove_small.png differ
diff --git a/resources/deluge/resume.png b/resources/deluge/resume.png
index a05d0c01..4ec94fe1 100644
Binary files a/resources/deluge/resume.png and b/resources/deluge/resume.png differ
diff --git a/resources/deluge/resume_small.png b/resources/deluge/resume_small.png
index dde670a9..38ba5c2a 100644
Binary files a/resources/deluge/resume_small.png and b/resources/deluge/resume_small.png differ
diff --git a/resources/deluge/search.png b/resources/deluge/search.png
index 3a4994fd..f6340867 100644
Binary files a/resources/deluge/search.png and b/resources/deluge/search.png differ
diff --git a/resources/deluge/settings.png b/resources/deluge/settings.png
index 60e13aba..1f1bd038 100644
Binary files a/resources/deluge/settings.png and b/resources/deluge/settings.png differ
diff --git a/resources/deluge/settings_small.png b/resources/deluge/settings_small.png
index 305a63ec..bd0dfb36 100644
Binary files a/resources/deluge/settings_small.png and b/resources/deluge/settings_small.png differ
diff --git a/resources/deluge/top.png b/resources/deluge/top.png
index 941313f9..2c3bc937 100644
Binary files a/resources/deluge/top.png and b/resources/deluge/top.png differ
diff --git a/resources/deluge/uling.png b/resources/deluge/uling.png
index fbb55776..5ea09232 100644
Binary files a/resources/deluge/uling.png and b/resources/deluge/uling.png differ
diff --git a/resources/deluge/up.png b/resources/deluge/up.png
index 2a2d3ad9..0641757f 100644
Binary files a/resources/deluge/up.png and b/resources/deluge/up.png differ
diff --git a/resources/deluge/up_small.png b/resources/deluge/up_small.png
index 6ec0ec06..16a525db 100644
Binary files a/resources/deluge/up_small.png and b/resources/deluge/up_small.png differ
diff --git a/resources/deluge/update.png b/resources/deluge/update.png
index abab2f74..74088e7d 100644
Binary files a/resources/deluge/update.png and b/resources/deluge/update.png differ
diff --git a/resources/duplicati/about.png b/resources/duplicati/about.png
index 5779ca7c..885e7497 100644
Binary files a/resources/duplicati/about.png and b/resources/duplicati/about.png differ
diff --git a/resources/duplicati/add.png b/resources/duplicati/add.png
index e0735816..b42101f8 100644
Binary files a/resources/duplicati/add.png and b/resources/duplicati/add.png differ
diff --git a/resources/duplicati/home.png b/resources/duplicati/home.png
index 637da01e..0225acc0 100644
Binary files a/resources/duplicati/home.png and b/resources/duplicati/home.png differ
diff --git a/resources/duplicati/logout.png b/resources/duplicati/logout.png
index 931dcdea..2e73731c 100644
Binary files a/resources/duplicati/logout.png and b/resources/duplicati/logout.png differ
diff --git a/resources/duplicati/pause.png b/resources/duplicati/pause.png
index be62518e..5e49fe74 100644
Binary files a/resources/duplicati/pause.png and b/resources/duplicati/pause.png differ
diff --git a/resources/duplicati/restore.png b/resources/duplicati/restore.png
index 60971613..66bfc89b 100644
Binary files a/resources/duplicati/restore.png and b/resources/duplicati/restore.png differ
diff --git a/resources/duplicati/settings.png b/resources/duplicati/settings.png
index e897fdea..c273346a 100644
Binary files a/resources/duplicati/settings.png and b/resources/duplicati/settings.png differ
diff --git a/resources/duplicati/throttle.png b/resources/duplicati/throttle.png
index 678d3f59..ac296d2f 100644
Binary files a/resources/duplicati/throttle.png and b/resources/duplicati/throttle.png differ
diff --git a/resources/guacamole/checkmark.png b/resources/guacamole/checkmark.png
index a578339f..7dcfac1d 100644
Binary files a/resources/guacamole/checkmark.png and b/resources/guacamole/checkmark.png differ
diff --git a/resources/guacamole/cog.png b/resources/guacamole/cog.png
index a051a978..88e34c5b 100644
Binary files a/resources/guacamole/cog.png and b/resources/guacamole/cog.png differ
diff --git a/resources/guacamole/guac-config-dark.png b/resources/guacamole/guac-config-dark.png
index 450030d7..cab74502 100644
Binary files a/resources/guacamole/guac-config-dark.png and b/resources/guacamole/guac-config-dark.png differ
diff --git a/resources/guacamole/guac-first-page.png b/resources/guacamole/guac-first-page.png
index 90b4db5b..569e1cb8 100644
Binary files a/resources/guacamole/guac-first-page.png and b/resources/guacamole/guac-first-page.png differ
diff --git a/resources/guacamole/guac-home-dark.png b/resources/guacamole/guac-home-dark.png
index ff05f799..9075119e 100644
Binary files a/resources/guacamole/guac-home-dark.png and b/resources/guacamole/guac-home-dark.png differ
diff --git a/resources/guacamole/guac-last-page.png b/resources/guacamole/guac-last-page.png
index 78422f2b..b1dc8cae 100644
Binary files a/resources/guacamole/guac-last-page.png and b/resources/guacamole/guac-last-page.png differ
diff --git a/resources/guacamole/guac-logout-dark.png b/resources/guacamole/guac-logout-dark.png
index deb97f32..406612e5 100644
Binary files a/resources/guacamole/guac-logout-dark.png and b/resources/guacamole/guac-logout-dark.png differ
diff --git a/resources/guacamole/guac-monitor.png b/resources/guacamole/guac-monitor.png
index 49104942..de98f241 100644
Binary files a/resources/guacamole/guac-monitor.png and b/resources/guacamole/guac-monitor.png differ
diff --git a/resources/guacamole/guac-text.png b/resources/guacamole/guac-text.png
index 16d674e7..977b1f8d 100644
Binary files a/resources/guacamole/guac-text.png and b/resources/guacamole/guac-text.png differ
diff --git a/resources/guacamole/guac-user.png b/resources/guacamole/guac-user.png
index 7bf83b08..9baba371 100644
Binary files a/resources/guacamole/guac-user.png and b/resources/guacamole/guac-user.png differ
diff --git a/resources/guacamole/lock.png b/resources/guacamole/lock.png
index 02b495dd..0e2a68ea 100644
Binary files a/resources/guacamole/lock.png and b/resources/guacamole/lock.png differ
diff --git a/resources/guacamole/magnifier.png b/resources/guacamole/magnifier.png
index 9cdfa0b8..480e967a 100644
Binary files a/resources/guacamole/magnifier.png and b/resources/guacamole/magnifier.png differ
diff --git a/resources/landing-page/assets/img/aquamarine-small.jpg b/resources/landing-page/assets/img/aquamarine-small.jpg
index afc30406..a11df2ee 100644
Binary files a/resources/landing-page/assets/img/aquamarine-small.jpg and b/resources/landing-page/assets/img/aquamarine-small.jpg differ
diff --git a/resources/landing-page/assets/img/aquamarine.png b/resources/landing-page/assets/img/aquamarine.png
index e32584b9..6904472a 100644
Binary files a/resources/landing-page/assets/img/aquamarine.png and b/resources/landing-page/assets/img/aquamarine.png differ
diff --git a/resources/landing-page/assets/img/dark-small.jpg b/resources/landing-page/assets/img/dark-small.jpg
index a35e1d17..133befd6 100644
Binary files a/resources/landing-page/assets/img/dark-small.jpg and b/resources/landing-page/assets/img/dark-small.jpg differ
diff --git a/resources/landing-page/assets/img/dark.png b/resources/landing-page/assets/img/dark.png
index 73bf8563..1412fe88 100644
Binary files a/resources/landing-page/assets/img/dark.png and b/resources/landing-page/assets/img/dark.png differ
diff --git a/resources/landing-page/assets/img/dracula-small.jpg b/resources/landing-page/assets/img/dracula-small.jpg
index 7f2e9048..c0ac5f35 100644
Binary files a/resources/landing-page/assets/img/dracula-small.jpg and b/resources/landing-page/assets/img/dracula-small.jpg differ
diff --git a/resources/landing-page/assets/img/hotline-small.jpg b/resources/landing-page/assets/img/hotline-small.jpg
index 68c31714..42eed521 100644
Binary files a/resources/landing-page/assets/img/hotline-small.jpg and b/resources/landing-page/assets/img/hotline-small.jpg differ
diff --git a/resources/landing-page/assets/img/hotline.png b/resources/landing-page/assets/img/hotline.png
index 43a0ab57..b138674d 100644
Binary files a/resources/landing-page/assets/img/hotline.png and b/resources/landing-page/assets/img/hotline.png differ
diff --git a/resources/landing-page/assets/img/hotpink-small.jpg b/resources/landing-page/assets/img/hotpink-small.jpg
index dae9d361..da679b80 100644
Binary files a/resources/landing-page/assets/img/hotpink-small.jpg and b/resources/landing-page/assets/img/hotpink-small.jpg differ
diff --git a/resources/landing-page/assets/img/maroon-small.jpg b/resources/landing-page/assets/img/maroon-small.jpg
index 279bfe73..9c2c78cb 100644
Binary files a/resources/landing-page/assets/img/maroon-small.jpg and b/resources/landing-page/assets/img/maroon-small.jpg differ
diff --git a/resources/landing-page/assets/img/maroon.png b/resources/landing-page/assets/img/maroon.png
index 2c065287..61a5e52e 100644
Binary files a/resources/landing-page/assets/img/maroon.png and b/resources/landing-page/assets/img/maroon.png differ
diff --git a/resources/landing-page/assets/img/nord-small.jpg b/resources/landing-page/assets/img/nord-small.jpg
index 67350871..965fbeac 100644
Binary files a/resources/landing-page/assets/img/nord-small.jpg and b/resources/landing-page/assets/img/nord-small.jpg differ
diff --git a/resources/landing-page/assets/img/nord.png b/resources/landing-page/assets/img/nord.png
index a3aa1cde..149c539a 100644
Binary files a/resources/landing-page/assets/img/nord.png and b/resources/landing-page/assets/img/nord.png differ
diff --git a/resources/landing-page/assets/img/organizr-small.jpg b/resources/landing-page/assets/img/organizr-small.jpg
index a22e6f2b..31b80dc3 100644
Binary files a/resources/landing-page/assets/img/organizr-small.jpg and b/resources/landing-page/assets/img/organizr-small.jpg differ
diff --git a/resources/landing-page/assets/img/organizr.png b/resources/landing-page/assets/img/organizr.png
index 5e638427..c53a71ac 100644
Binary files a/resources/landing-page/assets/img/organizr.png and b/resources/landing-page/assets/img/organizr.png differ
diff --git a/resources/landing-page/assets/img/overseerr-small.jpg b/resources/landing-page/assets/img/overseerr-small.jpg
index a0df0d5a..ec73ca29 100644
Binary files a/resources/landing-page/assets/img/overseerr-small.jpg and b/resources/landing-page/assets/img/overseerr-small.jpg differ
diff --git a/resources/landing-page/assets/img/overseerr.png b/resources/landing-page/assets/img/overseerr.png
index de685d62..502e578a 100644
Binary files a/resources/landing-page/assets/img/overseerr.png and b/resources/landing-page/assets/img/overseerr.png differ
diff --git a/resources/landing-page/assets/img/plex-small.jpg b/resources/landing-page/assets/img/plex-small.jpg
index 465f8863..e3b4b56d 100644
Binary files a/resources/landing-page/assets/img/plex-small.jpg and b/resources/landing-page/assets/img/plex-small.jpg differ
diff --git a/resources/landing-page/assets/img/plex.png b/resources/landing-page/assets/img/plex.png
index 9408aa82..5ea51a6b 100644
Binary files a/resources/landing-page/assets/img/plex.png and b/resources/landing-page/assets/img/plex.png differ
diff --git a/resources/landing-page/assets/img/slides/1.jpg b/resources/landing-page/assets/img/slides/1.jpg
index 87389989..31bd54c2 100644
Binary files a/resources/landing-page/assets/img/slides/1.jpg and b/resources/landing-page/assets/img/slides/1.jpg differ
diff --git a/resources/landing-page/assets/img/slides/10.jpg b/resources/landing-page/assets/img/slides/10.jpg
index 680a2076..b5b8875d 100644
Binary files a/resources/landing-page/assets/img/slides/10.jpg and b/resources/landing-page/assets/img/slides/10.jpg differ
diff --git a/resources/landing-page/assets/img/slides/11.jpg b/resources/landing-page/assets/img/slides/11.jpg
index 6338bdbc..21238d31 100644
Binary files a/resources/landing-page/assets/img/slides/11.jpg and b/resources/landing-page/assets/img/slides/11.jpg differ
diff --git a/resources/landing-page/assets/img/slides/12.jpg b/resources/landing-page/assets/img/slides/12.jpg
index 0a213b3a..eb911fe5 100644
Binary files a/resources/landing-page/assets/img/slides/12.jpg and b/resources/landing-page/assets/img/slides/12.jpg differ
diff --git a/resources/landing-page/assets/img/slides/13.jpg b/resources/landing-page/assets/img/slides/13.jpg
index 189eaa02..bff080eb 100644
Binary files a/resources/landing-page/assets/img/slides/13.jpg and b/resources/landing-page/assets/img/slides/13.jpg differ
diff --git a/resources/landing-page/assets/img/slides/2.jpg b/resources/landing-page/assets/img/slides/2.jpg
index 23244f41..254af4c5 100644
Binary files a/resources/landing-page/assets/img/slides/2.jpg and b/resources/landing-page/assets/img/slides/2.jpg differ
diff --git a/resources/landing-page/assets/img/slides/3.jpg b/resources/landing-page/assets/img/slides/3.jpg
index 31dac5ab..7071a248 100644
Binary files a/resources/landing-page/assets/img/slides/3.jpg and b/resources/landing-page/assets/img/slides/3.jpg differ
diff --git a/resources/landing-page/assets/img/slides/4.jpg b/resources/landing-page/assets/img/slides/4.jpg
index 2eaf7a70..50b1270e 100644
Binary files a/resources/landing-page/assets/img/slides/4.jpg and b/resources/landing-page/assets/img/slides/4.jpg differ
diff --git a/resources/landing-page/assets/img/slides/5.jpg b/resources/landing-page/assets/img/slides/5.jpg
index 154aa135..0c53c287 100644
Binary files a/resources/landing-page/assets/img/slides/5.jpg and b/resources/landing-page/assets/img/slides/5.jpg differ
diff --git a/resources/landing-page/assets/img/slides/6.jpg b/resources/landing-page/assets/img/slides/6.jpg
index 5186664a..36118e74 100644
Binary files a/resources/landing-page/assets/img/slides/6.jpg and b/resources/landing-page/assets/img/slides/6.jpg differ
diff --git a/resources/landing-page/assets/img/slides/7.jpg b/resources/landing-page/assets/img/slides/7.jpg
index 94cf4813..4dc52b46 100644
Binary files a/resources/landing-page/assets/img/slides/7.jpg and b/resources/landing-page/assets/img/slides/7.jpg differ
diff --git a/resources/landing-page/assets/img/slides/8.jpg b/resources/landing-page/assets/img/slides/8.jpg
index c80f207b..fd324d6d 100644
Binary files a/resources/landing-page/assets/img/slides/8.jpg and b/resources/landing-page/assets/img/slides/8.jpg differ
diff --git a/resources/landing-page/assets/img/slides/9.jpg b/resources/landing-page/assets/img/slides/9.jpg
index 6ef49336..0a550e86 100644
Binary files a/resources/landing-page/assets/img/slides/9.jpg and b/resources/landing-page/assets/img/slides/9.jpg differ
diff --git a/resources/landing-page/assets/img/space-gray-small.jpg b/resources/landing-page/assets/img/space-gray-small.jpg
index 71cb998d..737d2f7d 100644
Binary files a/resources/landing-page/assets/img/space-gray-small.jpg and b/resources/landing-page/assets/img/space-gray-small.jpg differ
diff --git a/resources/landing-page/assets/img/space-gray.png b/resources/landing-page/assets/img/space-gray.png
index e6ed58f2..fae561d4 100644
Binary files a/resources/landing-page/assets/img/space-gray.png and b/resources/landing-page/assets/img/space-gray.png differ
diff --git a/resources/landing-page/assets/img/themepark-logo.png b/resources/landing-page/assets/img/themepark-logo.png
index 2714a5ee..fdb8dc76 100644
Binary files a/resources/landing-page/assets/img/themepark-logo.png and b/resources/landing-page/assets/img/themepark-logo.png differ
diff --git a/resources/landing-page/assets/meta_image.jpg b/resources/landing-page/assets/meta_image.jpg
index a0e96ce8..55017445 100644
Binary files a/resources/landing-page/assets/meta_image.jpg and b/resources/landing-page/assets/meta_image.jpg differ
diff --git a/resources/logarr/increase.png b/resources/logarr/increase.png
index c602db72..65fc0ff1 100644
Binary files a/resources/logarr/increase.png and b/resources/logarr/increase.png differ
diff --git a/resources/mind.jpg b/resources/mind.jpg
index 5c111d43..445c88d3 100644
Binary files a/resources/mind.jpg and b/resources/mind.jpg differ
diff --git a/resources/organizr/aquamarine/aquamarine_homepage.jpg b/resources/organizr/aquamarine/aquamarine_homepage.jpg
index b3c4e753..c45966da 100644
Binary files a/resources/organizr/aquamarine/aquamarine_homepage.jpg and b/resources/organizr/aquamarine/aquamarine_homepage.jpg differ
diff --git a/resources/organizr/aquamarine/aquamarine_splash.jpg b/resources/organizr/aquamarine/aquamarine_splash.jpg
index 9ccc6f9f..d3c20e92 100644
Binary files a/resources/organizr/aquamarine/aquamarine_splash.jpg and b/resources/organizr/aquamarine/aquamarine_splash.jpg differ
diff --git a/resources/organizr/dark/dark_homepage.jpg b/resources/organizr/dark/dark_homepage.jpg
index 62ac4843..a2933baf 100644
Binary files a/resources/organizr/dark/dark_homepage.jpg and b/resources/organizr/dark/dark_homepage.jpg differ
diff --git a/resources/organizr/dark/dark_search.jpg b/resources/organizr/dark/dark_search.jpg
index d8ef96bd..be90a63f 100644
Binary files a/resources/organizr/dark/dark_search.jpg and b/resources/organizr/dark/dark_search.jpg differ
diff --git a/resources/organizr/dark/dark_splash.jpg b/resources/organizr/dark/dark_splash.jpg
index 9d58f025..9165d51e 100644
Binary files a/resources/organizr/dark/dark_splash.jpg and b/resources/organizr/dark/dark_splash.jpg differ
diff --git a/resources/organizr/dracula/dracula_homepage.jpg b/resources/organizr/dracula/dracula_homepage.jpg
index 15726f51..9b83ce95 100644
Binary files a/resources/organizr/dracula/dracula_homepage.jpg and b/resources/organizr/dracula/dracula_homepage.jpg differ
diff --git a/resources/organizr/dracula/dracula_search.jpg b/resources/organizr/dracula/dracula_search.jpg
index 6f82189b..b4c0e84d 100644
Binary files a/resources/organizr/dracula/dracula_search.jpg and b/resources/organizr/dracula/dracula_search.jpg differ
diff --git a/resources/organizr/dracula/dracula_splash.jpg b/resources/organizr/dracula/dracula_splash.jpg
index f4404582..b15e7c1c 100644
Binary files a/resources/organizr/dracula/dracula_splash.jpg and b/resources/organizr/dracula/dracula_splash.jpg differ
diff --git a/resources/organizr/dracula/theme-park-organizr-dracula-logo.png b/resources/organizr/dracula/theme-park-organizr-dracula-logo.png
index e8fa7f93..d80fa588 100644
Binary files a/resources/organizr/dracula/theme-park-organizr-dracula-logo.png and b/resources/organizr/dracula/theme-park-organizr-dracula-logo.png differ
diff --git a/resources/organizr/hotline/hotline_homepage.jpg b/resources/organizr/hotline/hotline_homepage.jpg
index ef8a0718..66c5acb6 100644
Binary files a/resources/organizr/hotline/hotline_homepage.jpg and b/resources/organizr/hotline/hotline_homepage.jpg differ
diff --git a/resources/organizr/hotline/hotline_search.jpg b/resources/organizr/hotline/hotline_search.jpg
index 57f9e4e9..bfa850e7 100644
Binary files a/resources/organizr/hotline/hotline_search.jpg and b/resources/organizr/hotline/hotline_search.jpg differ
diff --git a/resources/organizr/hotline/hotline_splash.jpg b/resources/organizr/hotline/hotline_splash.jpg
index 43cb17ea..53617195 100644
Binary files a/resources/organizr/hotline/hotline_splash.jpg and b/resources/organizr/hotline/hotline_splash.jpg differ
diff --git a/resources/organizr/hotline/theme-park-organizr-hotline-logo.png b/resources/organizr/hotline/theme-park-organizr-hotline-logo.png
index 51ca81cb..44643508 100644
Binary files a/resources/organizr/hotline/theme-park-organizr-hotline-logo.png and b/resources/organizr/hotline/theme-park-organizr-hotline-logo.png differ
diff --git a/resources/organizr/hotpink/hotpink_homepage.jpg b/resources/organizr/hotpink/hotpink_homepage.jpg
index 40d07483..066feaa5 100644
Binary files a/resources/organizr/hotpink/hotpink_homepage.jpg and b/resources/organizr/hotpink/hotpink_homepage.jpg differ
diff --git a/resources/organizr/hotpink/hotpink_search.jpg b/resources/organizr/hotpink/hotpink_search.jpg
index a00fe46d..cec4a911 100644
Binary files a/resources/organizr/hotpink/hotpink_search.jpg and b/resources/organizr/hotpink/hotpink_search.jpg differ
diff --git a/resources/organizr/hotpink/hotpink_splash.jpg b/resources/organizr/hotpink/hotpink_splash.jpg
index da2f51cb..40217f73 100644
Binary files a/resources/organizr/hotpink/hotpink_splash.jpg and b/resources/organizr/hotpink/hotpink_splash.jpg differ
diff --git a/resources/organizr/hotpink/theme-park-organizr-hotpink-logo.png b/resources/organizr/hotpink/theme-park-organizr-hotpink-logo.png
index a1c7e090..4a27494a 100644
Binary files a/resources/organizr/hotpink/theme-park-organizr-hotpink-logo.png and b/resources/organizr/hotpink/theme-park-organizr-hotpink-logo.png differ
diff --git a/resources/organizr/nord/nord_homepage.jpg b/resources/organizr/nord/nord_homepage.jpg
index 25fdb0c0..06c3f27c 100644
Binary files a/resources/organizr/nord/nord_homepage.jpg and b/resources/organizr/nord/nord_homepage.jpg differ
diff --git a/resources/organizr/nord/nord_login.jpg b/resources/organizr/nord/nord_login.jpg
index b02d4b0c..87af6083 100644
Binary files a/resources/organizr/nord/nord_login.jpg and b/resources/organizr/nord/nord_login.jpg differ
diff --git a/resources/organizr/nord/nord_search.jpg b/resources/organizr/nord/nord_search.jpg
index 9ec02607..15972335 100644
Binary files a/resources/organizr/nord/nord_search.jpg and b/resources/organizr/nord/nord_search.jpg differ
diff --git a/resources/organizr/nord/nord_splash.jpg b/resources/organizr/nord/nord_splash.jpg
index 9d58f025..9165d51e 100644
Binary files a/resources/organizr/nord/nord_splash.jpg and b/resources/organizr/nord/nord_splash.jpg differ
diff --git a/resources/organizr/nord/theme-park-organizr-nord-logo.png b/resources/organizr/nord/theme-park-organizr-nord-logo.png
index 61631d57..f3f7b3a4 100644
Binary files a/resources/organizr/nord/theme-park-organizr-nord-logo.png and b/resources/organizr/nord/theme-park-organizr-nord-logo.png differ
diff --git a/resources/organizr/onedark/onedark_homepage.jpg b/resources/organizr/onedark/onedark_homepage.jpg
index 49efb8ae..43593eda 100644
Binary files a/resources/organizr/onedark/onedark_homepage.jpg and b/resources/organizr/onedark/onedark_homepage.jpg differ
diff --git a/resources/organizr/onedark/onedark_search.jpg b/resources/organizr/onedark/onedark_search.jpg
index afc41d5e..fb9a96f9 100644
Binary files a/resources/organizr/onedark/onedark_search.jpg and b/resources/organizr/onedark/onedark_search.jpg differ
diff --git a/resources/organizr/onedark/theme-park-organizr-onedark-logo.png b/resources/organizr/onedark/theme-park-organizr-onedark-logo.png
index c2409dbd..28aab2f9 100644
Binary files a/resources/organizr/onedark/theme-park-organizr-onedark-logo.png and b/resources/organizr/onedark/theme-park-organizr-onedark-logo.png differ
diff --git a/resources/organizr/overseerr/overseerr_homepage.jpg b/resources/organizr/overseerr/overseerr_homepage.jpg
index d6995b2a..059684a2 100644
Binary files a/resources/organizr/overseerr/overseerr_homepage.jpg and b/resources/organizr/overseerr/overseerr_homepage.jpg differ
diff --git a/resources/organizr/overseerr/overseerr_search.jpg b/resources/organizr/overseerr/overseerr_search.jpg
index b4a4518d..b96cd7cc 100644
Binary files a/resources/organizr/overseerr/overseerr_search.jpg and b/resources/organizr/overseerr/overseerr_search.jpg differ
diff --git a/resources/organizr/overseerr/overseerr_splash.jpg b/resources/organizr/overseerr/overseerr_splash.jpg
index e45adc1d..ef59e105 100644
Binary files a/resources/organizr/overseerr/overseerr_splash.jpg and b/resources/organizr/overseerr/overseerr_splash.jpg differ
diff --git a/resources/organizr/overseerr/theme-park-organizr-overseerr-logo.png b/resources/organizr/overseerr/theme-park-organizr-overseerr-logo.png
index 697614ba..77a3b3d0 100644
Binary files a/resources/organizr/overseerr/theme-park-organizr-overseerr-logo.png and b/resources/organizr/overseerr/theme-park-organizr-overseerr-logo.png differ
diff --git a/resources/organizr/plex/plex_homepage.jpg b/resources/organizr/plex/plex_homepage.jpg
index 9fe841af..8e8ae41d 100644
Binary files a/resources/organizr/plex/plex_homepage.jpg and b/resources/organizr/plex/plex_homepage.jpg differ
diff --git a/resources/organizr/plex/plex_search.jpg b/resources/organizr/plex/plex_search.jpg
index 57f696c9..0e5a7f98 100644
Binary files a/resources/organizr/plex/plex_search.jpg and b/resources/organizr/plex/plex_search.jpg differ
diff --git a/resources/organizr/plex/plex_splash.jpg b/resources/organizr/plex/plex_splash.jpg
index 7951b3ab..67b5c069 100644
Binary files a/resources/organizr/plex/plex_splash.jpg and b/resources/organizr/plex/plex_splash.jpg differ
diff --git a/resources/organizr/plex/theme-park-organizr-plex-logo.png b/resources/organizr/plex/theme-park-organizr-plex-logo.png
index 7a97cb63..2b837178 100644
Binary files a/resources/organizr/plex/theme-park-organizr-plex-logo.png and b/resources/organizr/plex/theme-park-organizr-plex-logo.png differ
diff --git a/resources/organizr/spacegray/spacegray_homepage.jpg b/resources/organizr/spacegray/spacegray_homepage.jpg
index 04dc28dd..3e271b39 100644
Binary files a/resources/organizr/spacegray/spacegray_homepage.jpg and b/resources/organizr/spacegray/spacegray_homepage.jpg differ
diff --git a/resources/organizr/spacegray/spacegray_search.jpg b/resources/organizr/spacegray/spacegray_search.jpg
index 970f64e0..d807a043 100644
Binary files a/resources/organizr/spacegray/spacegray_search.jpg and b/resources/organizr/spacegray/spacegray_search.jpg differ
diff --git a/resources/organizr/spacegray/spacegray_splash.jpg b/resources/organizr/spacegray/spacegray_splash.jpg
index 8b82bdef..e7db43af 100644
Binary files a/resources/organizr/spacegray/spacegray_splash.jpg and b/resources/organizr/spacegray/spacegray_splash.jpg differ
diff --git a/resources/preset-dark2.png b/resources/preset-dark2.png
index 983f25f9..760351de 100644
Binary files a/resources/preset-dark2.png and b/resources/preset-dark2.png differ
diff --git a/resources/preset-light2.png b/resources/preset-light2.png
index fe29556a..29bd7223 100644
Binary files a/resources/preset-light2.png and b/resources/preset-light2.png differ
diff --git a/resources/qbittorrent/collapse-expand.gif b/resources/qbittorrent/collapse-expand.gif
index affb7d08..1973d09f 100644
Binary files a/resources/qbittorrent/collapse-expand.gif and b/resources/qbittorrent/collapse-expand.gif differ
diff --git a/resources/qbittorrent/dots.png b/resources/qbittorrent/dots.png
index 53d4aaa0..eaf1bad0 100644
Binary files a/resources/qbittorrent/dots.png and b/resources/qbittorrent/dots.png differ
diff --git a/resources/qbittorrent/folder-open-solid.svg b/resources/qbittorrent/folder-open-solid.svg
index 99d403c8..a9fab3e3 100644
--- a/resources/qbittorrent/folder-open-solid.svg
+++ b/resources/qbittorrent/folder-open-solid.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/qbittorrent/go-down.png b/resources/qbittorrent/go-down.png
index f17ad588..c5f9aac9 100644
Binary files a/resources/qbittorrent/go-down.png and b/resources/qbittorrent/go-down.png differ
diff --git a/resources/qbittorrent/inbox-solid.svg b/resources/qbittorrent/inbox-solid.svg
index 88a6908d..463238d2 100644
--- a/resources/qbittorrent/inbox-solid.svg
+++ b/resources/qbittorrent/inbox-solid.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/qbittorrent/network-wired-solid.svg b/resources/qbittorrent/network-wired-solid.svg
index 35321af9..6b3339ee 100644
--- a/resources/qbittorrent/network-wired-solid.svg
+++ b/resources/qbittorrent/network-wired-solid.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/qbittorrent/search-solid.png b/resources/qbittorrent/search-solid.png
index 2d0c9e43..df00022b 100644
Binary files a/resources/qbittorrent/search-solid.png and b/resources/qbittorrent/search-solid.png differ
diff --git a/resources/reality.jpg b/resources/reality.jpg
index 1075433c..4f62c8a6 100644
Binary files a/resources/reality.jpg and b/resources/reality.jpg differ
diff --git a/resources/requestrr/requestrr_white.png b/resources/requestrr/requestrr_white.png
index 468c1659..408f2890 100644
Binary files a/resources/requestrr/requestrr_white.png and b/resources/requestrr/requestrr_white.png differ
diff --git a/resources/rutorrent/ajax-loader-small.gif b/resources/rutorrent/ajax-loader-small.gif
index bd1f6af0..8bba191c 100644
Binary files a/resources/rutorrent/ajax-loader-small.gif and b/resources/rutorrent/ajax-loader-small.gif differ
diff --git a/resources/rutorrent/ajax-loader.gif b/resources/rutorrent/ajax-loader.gif
index 50d5735a..9032e613 100644
Binary files a/resources/rutorrent/ajax-loader.gif and b/resources/rutorrent/ajax-loader.gif differ
diff --git a/resources/rutorrent/archive.png b/resources/rutorrent/archive.png
index bb69d64e..88e016fa 100644
Binary files a/resources/rutorrent/archive.png and b/resources/rutorrent/archive.png differ
diff --git a/resources/rutorrent/asc.gif b/resources/rutorrent/asc.gif
index 44f50407..aa4cfa55 100644
Binary files a/resources/rutorrent/asc.gif and b/resources/rutorrent/asc.gif differ
diff --git a/resources/rutorrent/autodll-irc1.png b/resources/rutorrent/autodll-irc1.png
index 9ae31878..cfa0d2b6 100644
Binary files a/resources/rutorrent/autodll-irc1.png and b/resources/rutorrent/autodll-irc1.png differ
diff --git a/resources/rutorrent/autodll-irc2.png b/resources/rutorrent/autodll-irc2.png
index 20047bb2..6895dbeb 100644
Binary files a/resources/rutorrent/autodll-irc2.png and b/resources/rutorrent/autodll-irc2.png differ
diff --git a/resources/rutorrent/bul_f.gif b/resources/rutorrent/bul_f.gif
index f89f6af7..d64d6ca1 100644
Binary files a/resources/rutorrent/bul_f.gif and b/resources/rutorrent/bul_f.gif differ
diff --git a/resources/rutorrent/bul_l.gif b/resources/rutorrent/bul_l.gif
index f4db00d2..f8c10086 100644
Binary files a/resources/rutorrent/bul_l.gif and b/resources/rutorrent/bul_l.gif differ
diff --git a/resources/rutorrent/chat2.png b/resources/rutorrent/chat2.png
index 10a05ffe..e96c203f 100644
Binary files a/resources/rutorrent/chat2.png and b/resources/rutorrent/chat2.png differ
diff --git a/resources/rutorrent/chat3.png b/resources/rutorrent/chat3.png
index fca2879e..8d747ada 100644
Binary files a/resources/rutorrent/chat3.png and b/resources/rutorrent/chat3.png differ
diff --git a/resources/rutorrent/close.png b/resources/rutorrent/close.png
index cba7c6ad..058e55ae 100644
Binary files a/resources/rutorrent/close.png and b/resources/rutorrent/close.png differ
diff --git a/resources/rutorrent/console.png b/resources/rutorrent/console.png
index 849fd496..c8445f01 100644
Binary files a/resources/rutorrent/console.png and b/resources/rutorrent/console.png differ
diff --git a/resources/rutorrent/desc.gif b/resources/rutorrent/desc.gif
index 409fdc6b..edeb62b6 100644
Binary files a/resources/rutorrent/desc.gif and b/resources/rutorrent/desc.gif differ
diff --git a/resources/rutorrent/directory.png b/resources/rutorrent/directory.png
index b0124940..5aa33393 100644
Binary files a/resources/rutorrent/directory.png and b/resources/rutorrent/directory.png differ
diff --git a/resources/rutorrent/dlg-autodl-irc.gif b/resources/rutorrent/dlg-autodl-irc.gif
index 3e6adb55..3d1980fa 100644
Binary files a/resources/rutorrent/dlg-autodl-irc.gif and b/resources/rutorrent/dlg-autodl-irc.gif differ
diff --git a/resources/rutorrent/dlg-rssurlrewrite.gif b/resources/rutorrent/dlg-rssurlrewrite.gif
index d85a87d2..8a2c3a97 100644
Binary files a/resources/rutorrent/dlg-rssurlrewrite.gif and b/resources/rutorrent/dlg-rssurlrewrite.gif differ
diff --git a/resources/rutorrent/dlg-toolbars.gif b/resources/rutorrent/dlg-toolbars.gif
index 5c2fa7f3..1dd18f8c 100644
Binary files a/resources/rutorrent/dlg-toolbars.gif and b/resources/rutorrent/dlg-toolbars.gif differ
diff --git a/resources/rutorrent/dropdown.png b/resources/rutorrent/dropdown.png
index 82110195..49a03289 100644
Binary files a/resources/rutorrent/dropdown.png and b/resources/rutorrent/dropdown.png differ
diff --git a/resources/rutorrent/go.png b/resources/rutorrent/go.png
index a4ce2a07..9b3d582e 100644
Binary files a/resources/rutorrent/go.png and b/resources/rutorrent/go.png differ
diff --git a/resources/rutorrent/goh.png b/resources/rutorrent/goh.png
index 450f90ac..ab4a30c8 100644
Binary files a/resources/rutorrent/goh.png and b/resources/rutorrent/goh.png differ
diff --git a/resources/rutorrent/green.png b/resources/rutorrent/green.png
index c787db37..cb60cdb4 100644
Binary files a/resources/rutorrent/green.png and b/resources/rutorrent/green.png differ
diff --git a/resources/rutorrent/header_move.gif b/resources/rutorrent/header_move.gif
index 9a245a24..17127903 100644
Binary files a/resources/rutorrent/header_move.gif and b/resources/rutorrent/header_move.gif differ
diff --git a/resources/rutorrent/headers.png b/resources/rutorrent/headers.png
index c855c7f2..fca5fd46 100644
Binary files a/resources/rutorrent/headers.png and b/resources/rutorrent/headers.png differ
diff --git a/resources/rutorrent/image.png b/resources/rutorrent/image.png
index 3a39534a..7c4b9ac8 100644
Binary files a/resources/rutorrent/image.png and b/resources/rutorrent/image.png differ
diff --git a/resources/rutorrent/linklogsh.png b/resources/rutorrent/linklogsh.png
index 439680ad..403af215 100644
Binary files a/resources/rutorrent/linklogsh.png and b/resources/rutorrent/linklogsh.png differ
diff --git a/resources/rutorrent/logoff2.png b/resources/rutorrent/logoff2.png
index e5aae730..955cece6 100644
Binary files a/resources/rutorrent/logoff2.png and b/resources/rutorrent/logoff2.png differ
diff --git a/resources/rutorrent/menus.png b/resources/rutorrent/menus.png
index 92475fcf..05856aef 100644
Binary files a/resources/rutorrent/menus.png and b/resources/rutorrent/menus.png differ
diff --git a/resources/rutorrent/mp3.png b/resources/rutorrent/mp3.png
index c8fba286..941a076e 100644
Binary files a/resources/rutorrent/mp3.png and b/resources/rutorrent/mp3.png differ
diff --git a/resources/rutorrent/nfo.png b/resources/rutorrent/nfo.png
index 8dcf2039..2192618a 100644
Binary files a/resources/rutorrent/nfo.png and b/resources/rutorrent/nfo.png differ
diff --git a/resources/rutorrent/nlb.png b/resources/rutorrent/nlb.png
index 11cac61c..c79be489 100644
Binary files a/resources/rutorrent/nlb.png and b/resources/rutorrent/nlb.png differ
diff --git a/resources/rutorrent/pauseui.png b/resources/rutorrent/pauseui.png
index ccd584a3..4ce51fdc 100644
Binary files a/resources/rutorrent/pauseui.png and b/resources/rutorrent/pauseui.png differ
diff --git a/resources/rutorrent/pauseuih.png b/resources/rutorrent/pauseuih.png
index f1fb1613..718d1482 100644
Binary files a/resources/rutorrent/pauseuih.png and b/resources/rutorrent/pauseuih.png differ
diff --git a/resources/rutorrent/playui.png b/resources/rutorrent/playui.png
index dd5f3a8e..a8ddeb7a 100644
Binary files a/resources/rutorrent/playui.png and b/resources/rutorrent/playui.png differ
diff --git a/resources/rutorrent/playuih.png b/resources/rutorrent/playuih.png
index a034fa70..93399c4d 100644
Binary files a/resources/rutorrent/playuih.png and b/resources/rutorrent/playuih.png differ
diff --git a/resources/rutorrent/pluginh.png b/resources/rutorrent/pluginh.png
index 768a0946..bf9059b3 100644
Binary files a/resources/rutorrent/pluginh.png and b/resources/rutorrent/pluginh.png differ
diff --git a/resources/rutorrent/pnl_close.gif b/resources/rutorrent/pnl_close.gif
index 8468fb68..96eeae10 100644
Binary files a/resources/rutorrent/pnl_close.gif and b/resources/rutorrent/pnl_close.gif differ
diff --git a/resources/rutorrent/pnl_close.png b/resources/rutorrent/pnl_close.png
index c4ef0698..d1964351 100644
Binary files a/resources/rutorrent/pnl_close.png and b/resources/rutorrent/pnl_close.png differ
diff --git a/resources/rutorrent/pnl_open.gif b/resources/rutorrent/pnl_open.gif
index 3c072f7b..487c575e 100644
Binary files a/resources/rutorrent/pnl_open.gif and b/resources/rutorrent/pnl_open.gif differ
diff --git a/resources/rutorrent/pnl_open.png b/resources/rutorrent/pnl_open.png
index 26326c41..9695bd3c 100644
Binary files a/resources/rutorrent/pnl_open.png and b/resources/rutorrent/pnl_open.png differ
diff --git a/resources/rutorrent/proxy.png b/resources/rutorrent/proxy.png
index 6177430c..ea1d6fc6 100644
Binary files a/resources/rutorrent/proxy.png and b/resources/rutorrent/proxy.png differ
diff --git a/resources/rutorrent/proxyh.png b/resources/rutorrent/proxyh.png
index 15699ce2..ac8ef499 100644
Binary files a/resources/rutorrent/proxyh.png and b/resources/rutorrent/proxyh.png differ
diff --git a/resources/rutorrent/r_bg.gif b/resources/rutorrent/r_bg.gif
index 5103c654..1f265889 100644
Binary files a/resources/rutorrent/r_bg.gif and b/resources/rutorrent/r_bg.gif differ
diff --git a/resources/rutorrent/refresh.png b/resources/rutorrent/refresh.png
index bd8d5525..c81818ff 100644
Binary files a/resources/rutorrent/refresh.png and b/resources/rutorrent/refresh.png differ
diff --git a/resources/rutorrent/refreshui.png b/resources/rutorrent/refreshui.png
index e396b4a4..39b3638d 100644
Binary files a/resources/rutorrent/refreshui.png and b/resources/rutorrent/refreshui.png differ
diff --git a/resources/rutorrent/refreshuih.png b/resources/rutorrent/refreshuih.png
index b72ec9f8..9628dc2d 100644
Binary files a/resources/rutorrent/refreshuih.png and b/resources/rutorrent/refreshuih.png differ
diff --git a/resources/rutorrent/s.gif b/resources/rutorrent/s.gif
index 46b0319f..a94f3cc1 100644
Binary files a/resources/rutorrent/s.gif and b/resources/rutorrent/s.gif differ
diff --git a/resources/rutorrent/s_bg.gif b/resources/rutorrent/s_bg.gif
index 5103c654..1f265889 100644
Binary files a/resources/rutorrent/s_bg.gif and b/resources/rutorrent/s_bg.gif differ
diff --git a/resources/rutorrent/seedboxmanager.png b/resources/rutorrent/seedboxmanager.png
index fb351212..adf3485f 100644
Binary files a/resources/rutorrent/seedboxmanager.png and b/resources/rutorrent/seedboxmanager.png differ
diff --git a/resources/rutorrent/seedboxmanagerh.png b/resources/rutorrent/seedboxmanagerh.png
index 851d4be8..b60cf55a 100644
Binary files a/resources/rutorrent/seedboxmanagerh.png and b/resources/rutorrent/seedboxmanagerh.png differ
diff --git a/resources/rutorrent/share.png b/resources/rutorrent/share.png
index 0900d663..4ebf6ed5 100644
Binary files a/resources/rutorrent/share.png and b/resources/rutorrent/share.png differ
diff --git a/resources/rutorrent/status.png b/resources/rutorrent/status.png
index 24c8cfcc..56d37f4b 100644
Binary files a/resources/rutorrent/status.png and b/resources/rutorrent/status.png differ
diff --git a/resources/rutorrent/status_icons.png b/resources/rutorrent/status_icons.png
index 76d974ac..c55e5048 100644
Binary files a/resources/rutorrent/status_icons.png and b/resources/rutorrent/status_icons.png differ
diff --git a/resources/rutorrent/t_bg.gif b/resources/rutorrent/t_bg.gif
index 2c403b84..a7989783 100644
Binary files a/resources/rutorrent/t_bg.gif and b/resources/rutorrent/t_bg.gif differ
diff --git a/resources/rutorrent/tb_bg.gif b/resources/rutorrent/tb_bg.gif
index 43faede3..0ad843c4 100644
Binary files a/resources/rutorrent/tb_bg.gif and b/resources/rutorrent/tb_bg.gif differ
diff --git a/resources/rutorrent/text.png b/resources/rutorrent/text.png
index d2970e07..4ee87b0a 100644
Binary files a/resources/rutorrent/text.png and b/resources/rutorrent/text.png differ
diff --git a/resources/rutorrent/toolbar.png b/resources/rutorrent/toolbar.png
index b5f15553..a57d8843 100644
Binary files a/resources/rutorrent/toolbar.png and b/resources/rutorrent/toolbar.png differ
diff --git a/resources/rutorrent/torrent.png b/resources/rutorrent/torrent.png
index baf4d069..cc16fda5 100644
Binary files a/resources/rutorrent/torrent.png and b/resources/rutorrent/torrent.png differ
diff --git a/resources/rutorrent/up.png b/resources/rutorrent/up.png
index 5d327f3d..d3d0b47b 100644
Binary files a/resources/rutorrent/up.png and b/resources/rutorrent/up.png differ
diff --git a/resources/rutorrent/video.png b/resources/rutorrent/video.png
index 855604a8..d1ce6120 100644
Binary files a/resources/rutorrent/video.png and b/resources/rutorrent/video.png differ
diff --git a/resources/soul.jpg b/resources/soul.jpg
index 89882b31..eff2f87a 100644
Binary files a/resources/soul.jpg and b/resources/soul.jpg differ
diff --git a/resources/space.jpg b/resources/space.jpg
index b443a38b..8518b863 100644
Binary files a/resources/space.jpg and b/resources/space.jpg differ
diff --git a/resources/time.jpg b/resources/time.jpg
index 3bc22105..764a9929 100644
Binary files a/resources/time.jpg and b/resources/time.jpg differ
diff --git a/resources/transmission/icons.png b/resources/transmission/icons.png
index 0229df48..24a2af1d 100644
Binary files a/resources/transmission/icons.png and b/resources/transmission/icons.png differ
diff --git a/themes.py b/themes.py
index 1278c368..33db08a0 100644
--- a/themes.py
+++ b/themes.py
@@ -150,7 +150,7 @@ scheme = env.get('TP_SCHEME','https') if env.get('TP_SCHEME') else 'https'
if __name__ == "__main__":
app_folders = [name for name in listdir('./css/base') if isdir(join('./css/base', name))]
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(join('./docker-mods', 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: