- Extract peer parsing and exit-node command logic into lib.js - Add ↗ button on peers that are ExitNodeOption candidates - Highlight active exit node in primary color - Add clear (×) button next to current exit node label - Add unit tests for parsePeers and makeExitNodeCommand
18 lines
536 B
JavaScript
18 lines
536 B
JavaScript
function parsePeers(peerMap) {
|
|
if (!peerMap) return []
|
|
return Object.keys(peerMap).map(function (key) {
|
|
var p = peerMap[key]
|
|
return {
|
|
hostname: p.HostName || key,
|
|
ip: (p.TailscaleIPs && p.TailscaleIPs.length) ? p.TailscaleIPs[0] : "",
|
|
online: p.Online || false,
|
|
exitNode: p.ExitNodeOption || false
|
|
}
|
|
})
|
|
}
|
|
|
|
function makeExitNodeCommand(hostname) {
|
|
return ["tailscale", "set", "--exit-node=" + hostname]
|
|
}
|
|
|
|
export { parsePeers, makeExitNodeCommand }
|