+
+
+ Profile
+
+ {provider !== "tailscale" && (
-
- )}
+ )}
+
diff --git a/apps/fabro-web/app/router.tsx b/apps/fabro-web/app/router.tsx
index 5d1cfce62..28497177c 100644
--- a/apps/fabro-web/app/router.tsx
+++ b/apps/fabro-web/app/router.tsx
@@ -26,6 +26,7 @@ import * as Insights from "./routes/insights";
import * as InsightsEditor from "./routes/insights-editor";
import * as InsightsNew from "./routes/insights-new";
import * as Settings from "./routes/settings";
+import * as Profile from "./routes/profile";
import AppShellModule from "./layouts/app-shell";
type RouteModule = {
@@ -109,6 +110,7 @@ export const routes: RouteObject[] = [
],
}),
route("settings", Settings),
+ route("profile", Profile),
],
},
],
diff --git a/apps/fabro-web/app/routes/profile.tsx b/apps/fabro-web/app/routes/profile.tsx
new file mode 100644
index 000000000..e9bbe2f78
--- /dev/null
+++ b/apps/fabro-web/app/routes/profile.tsx
@@ -0,0 +1,73 @@
+import type { AuthSessionUser } from "@qltysh/fabro-api-client";
+import { useAuthMe } from "../lib/queries";
+import {
+ Mono,
+ Muted,
+ Panel,
+ PanelSkeleton,
+ Row,
+ UrlValue,
+} from "../components/settings-panel";
+
+export function meta({}: any) {
+ return [{ title: "Profile — Fabro" }];
+}
+
+export default function Profile() {
+ const { data: auth } = useAuthMe();
+
+ if (!auth) {
+ return (
+