Authentication not configured
-OIDC is disabled or missing required environment variables.
-diff --git a/src/pages/auth/signin.jsx b/src/pages/auth/signin.jsx
index 57331c1d6..25dbf2e7f 100644
--- a/src/pages/auth/signin.jsx
+++ b/src/pages/auth/signin.jsx
@@ -1,43 +1,161 @@
+import classNames from "classnames";
import { getProviders, signIn } from "next-auth/react";
+import { useEffect } from "react";
+import { BiShieldQuarter } from "react-icons/bi";
+import { getSettings } from "utils/config/config";
+
+export default function SignIn({ providers, callbackUrl, settings }) {
+ const theme = settings?.theme || "dark";
+ const color = settings?.color || "slate";
+ const title = settings?.title || "Homepage";
+
+ let backgroundImage = "";
+ let opacity = settings?.backgroundOpacity ?? 0;
+ let backgroundBlur = false;
+ let backgroundSaturate = false;
+ let backgroundBrightness = false;
+
+ if (settings?.background) {
+ const bg = settings.background;
+ if (typeof bg === "object") {
+ backgroundImage = bg.image || "";
+ if (bg.opacity !== undefined) {
+ opacity = 1 - bg.opacity / 100;
+ }
+ backgroundBlur = bg.blur !== undefined;
+ backgroundSaturate = bg.saturate !== undefined;
+ backgroundBrightness = bg.brightness !== undefined;
+ } else {
+ backgroundImage = bg;
+ }
+ }
+
+ useEffect(() => {
+ const html = document.documentElement;
+ const body = document.body;
+
+ html.classList.remove("dark", "scheme-dark", "scheme-light");
+ html.classList.toggle("dark", theme === "dark");
+ html.classList.add(theme === "dark" ? "scheme-dark" : "scheme-light");
+
+ const desiredThemeClass = `theme-${color}`;
+ const themeClassesToRemove = Array.from(html.classList).filter(
+ (cls) => cls.startsWith("theme-") && cls !== desiredThemeClass,
+ );
+ if (themeClassesToRemove.length) {
+ html.classList.remove(...themeClassesToRemove);
+ }
+ if (!html.classList.contains(desiredThemeClass)) {
+ html.classList.add(desiredThemeClass);
+ }
+
+ body.style.backgroundImage = "";
+ body.style.backgroundColor = "";
+ body.style.backgroundAttachment = "";
+ }, [color, theme]);
-export default function SignIn({ providers, callbackUrl }) {
if (!providers || Object.keys(providers).length === 0) {
return (
- OIDC is disabled or missing required environment variables.Authentication not configured
-
OIDC is disabled or misconfigured.
+Continue with your identity provider.
-Login to view your dashboard.
+