import cx from "classnames" import React from "react" import { apiFetch } from "src/api" import { NodeData } from "src/hooks/node-data" import { useLocation } from "wouter" import ACLTag from "../acl-tag" export default function DeviceDetailsView({ node }: { node: NodeData }) { const [, setLocation] = useLocation() return (
Managed by |
{node.IsTagged
? node.Tags.map((t) => |
Machine name | {node.DeviceName} |
OS | {node.OS} |
ID | {node.ID} |
Tailscale version | {node.IPNVersion} |
Key expiry | {node.KeyExpired ? "Expired" : // TODO: present as relative expiry (e.g. "5 months from now") new Date(node.KeyExpiry).toLocaleString()} |
Tailscale IPv4 | {node.IP} |
Tailscale IPv6 | {node.IPv6} |
Short domain | {node.DeviceName} |
Full domain | {node.DeviceName}.{node.TailnetName} |
Want even more details? Visit{" "} this device’s page {" "} in the admin console.