diff --git a/app/routes/users/components/headplane-user-row.tsx b/app/routes/users/components/headplane-user-row.tsx
index e38c92b..e6b885c 100644
--- a/app/routes/users/components/headplane-user-row.tsx
+++ b/app/routes/users/components/headplane-user-row.tsx
@@ -10,9 +10,10 @@ import MenuOptions from "./menu";
interface HeadplaneUserRowProps {
user: HeadplaneUserData;
headscaleUsers: { id: string; name: string; claimed: boolean }[];
+ isSelf?: boolean;
}
-export default function HeadplaneUserRow({ user, headscaleUsers }: HeadplaneUserRowProps) {
+export default function HeadplaneUserRow({ user, headscaleUsers, isSelf }: HeadplaneUserRowProps) {
const isOnline = user.machines.some((machine) => machine.online);
const lastSeen = user.machines.reduce(
(acc, machine) => Math.max(acc, new Date(machine.lastSeen).getTime()),
@@ -66,6 +67,7 @@ export default function HeadplaneUserRow({ user, headscaleUsers }: HeadplaneUser
diff --git a/app/routes/users/components/menu.tsx b/app/routes/users/components/menu.tsx
index 6e3820b..93ce028 100644
--- a/app/routes/users/components/menu.tsx
+++ b/app/routes/users/components/menu.tsx
@@ -12,11 +12,12 @@ interface MenuProps {
user: HeadplaneUserData;
headscaleUsers: { id: string; name: string; claimed: boolean }[];
currentLink?: string;
+ isSelf?: boolean;
}
type Modal = "delete" | "reassign" | "link" | null;
-export default function UserMenu({ user, headscaleUsers, currentLink }: MenuProps) {
+export default function UserMenu({ user, headscaleUsers, currentLink, isSelf }: MenuProps) {
const [modal, setModal] = useState(null);
const isLinked = currentLink !== undefined;
@@ -80,7 +81,7 @@ export default function UserMenu({ user, headscaleUsers, currentLink }: MenuProp
- {user.linkedHeadscaleUser && (
+ {user.linkedHeadscaleUser && !isSelf && (
<>