38 lines
1.6 KiB
TypeScript
38 lines
1.6 KiB
TypeScript
"use client";
|
|
|
|
import { useTranslations } from "next-intl";
|
|
|
|
import { LocaleToggle } from "@/components/layout/locale-toggle";
|
|
import { ThemeToggle } from "@/components/theme-toggle";
|
|
import { cn } from "@/lib/utils";
|
|
|
|
type FloatingPreferencesProps = {
|
|
locale: string;
|
|
className?: string;
|
|
};
|
|
|
|
export function FloatingPreferences({
|
|
locale,
|
|
className,
|
|
}: FloatingPreferencesProps) {
|
|
const t = useTranslations("navigation");
|
|
|
|
return (
|
|
<div className={cn("fixed inset-x-0 top-0 z-50 px-4 pt-4 sm:px-6", className)}>
|
|
<div className="mx-auto flex w-full justify-center">
|
|
<div className="inline-flex items-center justify-center gap-1 rounded-[var(--radius-pill)] border border-black/6 bg-white/24 p-1 shadow-[0_14px_34px_-24px_rgba(15,23,42,0.18)] backdrop-blur-[18px] dark:border-white/10 dark:bg-white/4 dark:shadow-[0_20px_48px_-28px_rgba(0,0,0,0.58)]">
|
|
<ThemeToggle
|
|
ariaLabel={t("themeToggle")}
|
|
variant="ghost"
|
|
className="h-9 w-9 rounded-[var(--radius-pill)] border border-transparent bg-transparent text-[hsl(var(--hero-ink)/0.76)] hover:border-black/5 hover:bg-white/36 hover:text-[hsl(var(--hero-ink))] dark:text-foreground dark:hover:border-white/10 dark:hover:bg-white/10"
|
|
/>
|
|
<LocaleToggle
|
|
locale={locale}
|
|
className="h-9 w-9 rounded-[var(--radius-pill)] border border-transparent bg-transparent p-0 text-[hsl(var(--hero-ink)/0.76)] hover:bg-white/36 hover:text-[hsl(var(--hero-ink))] dark:text-foreground dark:hover:bg-white/10"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|