// om/nav.jsx — animated wordmark, day/night toggle, internal menu

function ModeToggle({ mode, onToggle }) {
  return (
    <button className="mode-toggle" onClick={onToggle} aria-label="Toggle day / night"
    title={mode === 'dark' ? 'Night — tap for day' : 'Day — tap for night'}>
      <span className="knob">
        <Icon name={mode === 'dark' ? 'moon' : 'sun'} size={13} stroke={2} />
      </span>
    </button>);

}

// DA  ⇄  Das Awesome  (periodic, keeps the D and A in place) · "That's Awesome!" on hover
function BrandMark() {
  const [mono, setMono] = React.useState(false);
  const [wink, setWink] = React.useState(false);
  React.useEffect(() => {
    const id = setInterval(() => setMono((m) => !m), 4600);
    return () => clearInterval(id);
  }, []);
  const cls = 'brand' + (mono ? ' is-mono' : '') + (wink ? ' is-wink' : '');
  const homeHref = (typeof document !== 'undefined' && document.documentElement.lang === 'th') ? '/th/' : '/';
  return (
    <a className={cls} href={homeHref} aria-label="Das Awesome — home"
    onMouseEnter={() => setWink(true)} onMouseLeave={() => setWink(false)}>
      <span className="bw" aria-hidden={wink}>
        D<span className="ex">as</span><span className="ex"> </span>A<span className="ex">wesome</span><span className="ex">!</span>
      </span>
      <span className="balt" aria-hidden={!wink}>That’s Awesome!</span>
    </a>);

}

function Nav({ mode, onToggle }) {
  const y = useScroll();
  return (
    <nav className={'nav' + (y > 24 ? ' scrolled' : '')} data-comment-anchor="043428fad1-nav-37-5">
      <BrandMark />
      <div className="nav-pill">
        <a className="nav-link" href="#work">Work</a>
        <a className="nav-link" href="#principal">Studio</a>
        <a className="nav-link" href="#services">Services</a>
        <a className="nav-link" href="#words">Words</a>
      </div>
      <div className="nav-right">
        <ModeToggle mode={mode} onToggle={onToggle} />
        <GetInTouch label="Get in touch" align="right" />
      </div>
    </nav>);

}
Object.assign(window, { Nav, ModeToggle, BrandMark });