// Cluster nodes worth starting from.
//
// Setting up a telnet cluster is the step operators get stuck on: the host and
// the port are two pieces of information nobody has to hand, a typo produces a
// silent failure to connect, and the ports are not guessable — a Reverse Beacon
// feed on 7000 carries CW and RTTY while 7001 carries FT8 and FT4, which no
// amount of trying will tell you.
//
// So the editor offers a list. It fills the fields and then gets out of the
// way: everything stays editable, because a node moves or an operator wants a
// different name for it, and a preset that could not be corrected would be
// worse than none.
//
// The list is meant to grow. One entry per node, and nothing here is special —
// a node added by hand behaves exactly the same.

export type ClusterPreset = {
  name: string;
  host: string;
  port: number;
  // What it carries, in a few words: the dropdown is chosen from, not read, and
  // "SOTA" means nothing to somebody who has never chased a summit.
  about: string;
  // Sent one per line after login. Empty for the nodes that need nothing.
  init?: string;
};

export const CLUSTER_PRESETS: ClusterPreset[] = [
  { name: 'F4BPO', host: 'cluster.f4bpo.com', port: 7300,
    about: 'General DX cluster (OpsLog author’s node)' },
  { name: 'DXFun', host: 'dxfun.com', port: 8000,
    about: 'General DX cluster, worldwide' },
  { name: 'F5LEN', host: 'dxcluster.f5len.org', port: 7373,
    about: 'General DX cluster' },
  { name: 'F5MZN', host: 'f5mzn.org', port: 9000,
    about: 'General DX cluster' },
  { name: 'KM3T', host: 'dxcc.km3t.net', port: 7373,
    about: 'General DX cluster' },
  { name: 'SOTA', host: 'cluster.sota.org.uk', port: 7300,
    about: 'Summits On The Air spots' },
  { name: 'POTA', host: 'pota-cluster.iz2lsc.eu', port: 7373,
    about: 'Parks On The Air spots' },
  // The two Reverse Beacon feeds are one network on two ports, and which port
  // decides which modes arrive. Getting that wrong looks exactly like a dead
  // node, so they are listed separately and named for what they carry.
  { name: 'RBN CW', host: 'telnet.reversebeacon.net', port: 7000,
    about: 'Reverse Beacon Network — CW and RTTY skimmers' },
  { name: 'RBN FTx', host: 'telnet.reversebeacon.net', port: 7001,
    about: 'Reverse Beacon Network — FT8 and FT4 skimmers' },
];
