"use client"; import { getCurrentWindow } from "@tauri-apps/api/window"; import { useEffect, useState } from "react"; type Platform = "macos" | "windows" | "linux"; function detectPlatform(): Platform { const userAgent = navigator.userAgent.toLowerCase(); if (userAgent.includes("mac")) return "macos"; if (userAgent.includes("win")) return "windows"; return "linux"; } export function WindowDragArea() { const [platform, setPlatform] = useState(null); useEffect(() => { setPlatform(detectPlatform()); }, []); const handlePointerDown = (e: React.PointerEvent) => { if (e.button !== 0) return; e.preventDefault(); e.stopPropagation(); const startDrag = async () => { try { const window = getCurrentWindow(); await window.startDragging(); } catch (error) { console.error("Failed to start window dragging:", error); } }; void startDrag(); }; // Linux: system decorations handle everything if (!platform || platform === "linux") { return null; } // macOS: transparent drag area overlay if (platform === "macos") { return ( ); }