import { useQueryClient } from "@tanstack/react-query"; import { useEffect } from "react"; import { Navigate, Route, Routes, useLocation } from "react-router-dom"; import { useMe } from "./lib/auth"; import { connectWs } from "./lib/ws"; import { PluginPage } from "./plugins/PluginPage"; import { ComposeWindow } from "./routes/ComposeWindow"; import { Login } from "./routes/Login"; import { MailLayout } from "./routes/MailLayout"; import { Register } from "./routes/Register"; import { Settings } from "./routes/settings/Settings"; import { AccountWizard } from "./routes/wizard/AccountWizard"; function RequireAuth({ children }: { children: JSX.Element }) { const { data, isLoading, isError } = useMe(); const location = useLocation(); const queryClient = useQueryClient(); useEffect(() => { if (!data) return; return connectWs(queryClient); }, [data, queryClient]); if (isLoading) { return