import React, { useCallback } from "react"; import { useReactAt } from "i18n-auto-extractor/react"; import { useJsonRpc } from "@/hooks/useJsonRpc"; import notifications from "@/notifications"; import { dark_bg2_style, dark_bd_style, dark_line_style, dark_bg_style_fun } from "@/layout/theme_color"; import { useThemeSettings } from "@routes/login_page/useLocalAuth"; import { isMobile } from "react-device-detect"; const UsbStatusPanel: React.FC = () => { const { $at } = useReactAt(); const { isDark } = useThemeSettings(); const [send] = useJsonRpc(); const handleReinitializeUsbGadget = useCallback(() => { send("reinitializeUsbGadget", {}, resp => { if ("error" in resp) { notifications.error( `Failed to reinitialize USB gadget: ${resp.error.data || "Unknown error"}`, ); return; } notifications.success("USB Gadget reinitialized successfully"); }); }, [send]); if (isMobile) { return (
{$at("Reinitialize USB Gadget")}
); } return (
{ e.currentTarget.style.backgroundColor = isDark ? 'rgba(255, 255, 255, 0.08)' : 'rgba(0, 0, 0, 0.04)'; }} onMouseLeave={(e) => { e.currentTarget.style.backgroundColor = 'transparent'; }} > {$at("Reinitialize USB Gadget")}
); }; export default UsbStatusPanel;