mirror of
https://github.com/netbirdio/netbird.git
synced 2026-10-29 15:59:10 +01:00
* desktop UI light mode * Theme review fixes plus macOS window outline fix * Windows runtime chrome re-theming plus apply serialization * Windows chrome threading and theme event ordering fixes * Darken toggle and setting sidebar text * resolve theme appearance, apply on UI thread * read theme once per window * Re-assert Windows dark opt-in after SetTheme * split app-wide GTK theming from per-window chrome * Update Wails dependency and checksums * KDE tray icon panel fix * Five review fixes: theme ordering, cgo dedup, KDE panel resolution * Path guard hardening, toggle contrast, windows comment * non-vacuous escape tests * Default view edits * Polish settings nav, controls, borders, and disc * Profiles settings boarder, modals, and buttons * Additional edits based on feedback * Switch colors away from slight blue hue * Update missing lang * Fix vertical tab active view
38 lines
971 B
TypeScript
38 lines
971 B
TypeScript
import { type ComponentType } from "react";
|
|
import { type LucideProps } from "lucide-react";
|
|
import { cn } from "@/lib/cn";
|
|
|
|
export type SquareIconVariant = "default" | "info" | "warning" | "danger";
|
|
|
|
const variantClass: Record<SquareIconVariant, string> = {
|
|
default: "text-nb-gray-50",
|
|
info: "text-sky-400",
|
|
warning: "text-netbird",
|
|
danger: "text-red-500",
|
|
};
|
|
|
|
type SquareIconProps = {
|
|
icon: ComponentType<LucideProps>;
|
|
iconSize?: number;
|
|
variant?: SquareIconVariant;
|
|
className?: string;
|
|
};
|
|
|
|
export const SquareIcon = ({
|
|
icon: Icon,
|
|
iconSize = 18,
|
|
variant = "default",
|
|
className,
|
|
}: SquareIconProps) => (
|
|
<div
|
|
aria-hidden={"true"}
|
|
className={cn(
|
|
"flex h-11 w-11 items-center justify-center rounded-lg border border-nb-gray-800 bg-nb-gray-920 dark:border-nb-gray-900",
|
|
variantClass[variant],
|
|
className,
|
|
)}
|
|
>
|
|
<Icon size={iconSize} />
|
|
</div>
|
|
);
|