'use client';

import { usePathname } from 'next/navigation';
import { RegisterLangToggle } from '@/components/auth/RegisterLangToggle';
import { useLanguage } from '@/contexts/LanguageContext';
import { shouldHidePublicChrome } from '@/lib/publicChrome';
import { cn } from '@/lib/utils';

export function FloatingLangToggle() {
  const pathname = usePathname();
  const { lang, setLang } = useLanguage();

  // Keep available on public + auth pages; hide in worker/customer/admin portals
  if (shouldHidePublicChrome(pathname) || pathname.startsWith('/admin')) return null;

  const hasMobileBottomNav =
    !pathname.startsWith('/login') &&
    !pathname.startsWith('/register') &&
    !pathname.startsWith('/admin');

  return (
    <div
      className={cn(
        'fixed right-4 z-[60] rounded-xl border border-border bg-white/95 p-1 shadow-lg backdrop-blur-sm',
        hasMobileBottomNav ? 'bottom-20 md:bottom-6' : 'bottom-6'
      )}
    >
      <RegisterLangToggle value={lang} onChange={setLang} variant="light" />
    </div>
  );
}
