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.