Files
zitadel/apps/login/ui/DynamicTheme.tsx

51 lines
1.5 KiB
TypeScript
Raw Normal View History

2024-04-01 10:00:31 +02:00
"use client";
import { BrandingSettings } from "@zitadel/server";
import React from "react";
import { Logo } from "#/ui/Logo";
import ThemeWrapper from "./ThemeWrapper";
import { LayoutProviders } from "./LayoutProviders";
2024-04-01 10:19:30 +02:00
export default function DynamicTheme({
2024-04-01 10:00:31 +02:00
branding,
children,
}: {
children: React.ReactNode;
branding?: BrandingSettings;
}) {
let partial: Partial<BrandingSettings> | undefined;
if (branding) {
partial = {
lightTheme: branding?.lightTheme,
darkTheme: branding?.darkTheme,
};
}
return (
<ThemeWrapper branding={partial}>
2024-04-01 10:19:30 +02:00
{/* <ThemeProvider> */}
<LayoutProviders>
<div className="rounded-lg bg-vc-border-gradient dark:bg-dark-vc-border-gradient p-px shadow-lg shadow-black/5 dark:shadow-black/20 mb-10">
<div className="rounded-lg bg-background-light-400 dark:bg-background-dark-500 px-8 py-12">
<div className="mx-auto flex flex-col items-center space-y-4">
<div className="relative">
{branding && (
<Logo
lightSrc={branding.lightTheme?.logoUrl}
darkSrc={branding.darkTheme?.logoUrl}
height={150}
width={150}
/>
)}
2024-04-01 10:00:31 +02:00
</div>
2024-04-01 10:19:30 +02:00
<div className="w-full">{children}</div>
<div className="flex flex-row justify-between"></div>
2024-04-01 10:00:31 +02:00
</div>
</div>
2024-04-01 10:19:30 +02:00
</div>
</LayoutProviders>
{/* </ThemeProvider> */}
2024-04-01 10:00:31 +02:00
</ThemeWrapper>
);
}