Files
OmniRoute/src/shared/components/NoAuthProviderToggle.tsx
Alex Jordan 7ca73697b0 fix(i18n): localize hardcoded web UI copy (#9245)
* fix(i18n): localize hardcoded web UI copy

* test(i18n): cover hardcoded UI regressions

* chore(changelog): add PR 9245 fragment
2026-08-11 10:37:50 -03:00

39 lines
1009 B
TypeScript

"use client";
import { cn } from "@/shared/utils/cn";
import { useTranslations } from "next-intl";
import Toggle from "./Toggle";
interface NoAuthProviderToggleProps {
enabled: boolean;
saving?: boolean;
onEnabledChange?: (enabled: boolean) => void;
className?: string;
}
export default function NoAuthProviderToggle({
enabled,
saving = false,
onEnabledChange,
className,
}: NoAuthProviderToggleProps) {
const t = useTranslations("common");
if (!onEnabledChange) return null;
return (
<div className={cn("inline-flex items-center gap-2 rounded-md px-1 py-1", className)}>
<span className="text-sm font-medium text-text-main">
{saving ? t("saving") : enabled ? t("enabled") : t("disabled")}
</span>
<Toggle
size="lg"
checked={enabled}
disabled={saving}
onChange={onEnabledChange}
ariaLabel={t("toggleNoAuthProvider")}
title={enabled ? t("disableProvider") : t("enableProvider")}
/>
</div>
);
}