import { useTauriCallPower } from '../hooks/useTauriCallPower';
import { useTauriJumpList } from '../hooks/useTauriJumpList';
import { useTauriThumbbar } from '../hooks/useTauriThumbbar';
import { useTauriSmtc } from '../hooks/useTauriSmtc';
import { useTauriNetwork } from '../hooks/useTauriNetwork';
import { useTauriToastActions } from '../hooks/useTauriToastActions';
import { useTauriFocusAssist } from '../hooks/useTauriFocusAssist';
import { useTauriDnd } from '../hooks/useTauriDnd';

/**
 * Mounts the client-scoped native desktop feature hooks (call/room aware). Each
 * `useTauri*` hook no-ops in the browser (guards on `isTauri`), so this is safe
 * to render unconditionally. Rendered once by `ClientNonUIFeatures`. App-level
 * desktop features (window chrome) live in `App.tsx` instead, so they work
 * before login.
 */
export function TauriDesktopFeatures(): null {
  useTauriCallPower(); // P5-46 no-sleep during calls
  useTauriJumpList(); // P5-36 Windows jump list of recent rooms
  useTauriThumbbar(); // P5-44 taskbar thumbnail toolbar (mute/deafen/end)
  useTauriSmtc(); // P5-43 system media transport controls
  useTauriNetwork(); // P5-49 network-change awareness → sync retry
  useTauriToastActions(); // P5-41/35 rich toast click → open room, quick reply → send
  useTauriFocusAssist(); // P5-56 Windows Focus Assist → DND suppression atom
  useTauriDnd(); // P6-1 tray "Do Not Disturb" → notification suppression atom
  return null;
}
