mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-04-28 18:12:27 +00:00
36 lines
842 B
TypeScript
36 lines
842 B
TypeScript
import {
|
|
Icon,
|
|
IconButton,
|
|
IconButtonProps,
|
|
useColorMode,
|
|
} from "@chakra-ui/react";
|
|
import { FiSun, FiMoon } from "react-icons/fi";
|
|
|
|
import { intl } from "src/locale";
|
|
|
|
interface ThemeSwitcherProps {
|
|
background?: "normal" | "transparent";
|
|
}
|
|
function ThemeSwitcher({ background }: ThemeSwitcherProps) {
|
|
const { colorMode, toggleColorMode } = useColorMode();
|
|
const additionalProps: Partial<IconButtonProps> = {};
|
|
if (background === "transparent") {
|
|
additionalProps["backgroundColor"] = "transparent";
|
|
}
|
|
|
|
return (
|
|
<IconButton
|
|
onClick={toggleColorMode}
|
|
{...additionalProps}
|
|
aria-label={
|
|
colorMode === "light"
|
|
? intl.formatMessage({ id: "theme.to-dark" })
|
|
: intl.formatMessage({ id: "theme.to-light" })
|
|
}
|
|
icon={<Icon as={colorMode === "light" ? FiMoon : FiSun} />}
|
|
/>
|
|
);
|
|
}
|
|
|
|
export { ThemeSwitcher };
|