diff --git a/components/buffer-header.js b/components/buffer-header.js
index 62c8065..6dcdc89 100644
--- a/components/buffer-header.js
+++ b/components/buffer-header.js
@@ -37,8 +37,9 @@ export default function BufferHeader(props) {
props.onManageNetwork();
}
- var description = null;
- if (props.buffer.serverInfo) {
+ var description = null, actions = null;
+ switch (props.buffer.type) {
+ case BufferType.SERVER:
switch (props.network.status) {
case NetworkStatus.DISCONNECTED:
description = "Disconnected";
@@ -63,36 +64,15 @@ export default function BufferHeader(props) {
description = `Connected to ${props.bouncerNetwork.host || "network"}`;
break;
}
- } else {
+ } else if (props.buffer.serverInfo) {
var serverInfo = props.buffer.serverInfo;
description = `Connected to ${serverInfo.name}`;
+ } else {
+ description = "Connected";
}
break;
}
- } else if (props.buffer.topic) {
- description = linkify(stripANSI(props.buffer.topic));
- } else if (props.buffer.who) {
- var who = props.buffer.who;
- var realname = stripANSI(who.realname || "");
-
- var status = UserStatus.HERE;
- if (who.away) {
- status = UserStatus.GONE;
- }
- if (props.buffer.offline) {
- status = UserStatus.OFFLINE;
- }
-
- description = html`<${NickStatus} status=${status}/> ${realname} (${who.username}@${who.hostname})`;
- } else if (props.buffer.offline) {
- // User is offline, but we don't have WHO information
- description = html`<${NickStatus} status=${UserStatus.OFFLINE}/> ${props.buffer.name}`;
- }
-
- var actions = null;
- switch (props.buffer.type) {
- case BufferType.SERVER:
if (props.isBouncer) {
if (props.network.isupport.get("BOUNCER_NETID")) {
actions = html`
@@ -133,22 +113,44 @@ export default function BufferHeader(props) {
}
break;
case BufferType.CHANNEL:
- actions = html`
-
- `;
+ if (props.buffer.topic) {
+ description = linkify(stripANSI(props.buffer.topic));
+ }
+ actions = html`
+
+ `;
break;
case BufferType.NICK:
- actions = html`
-
- `;
+ if (props.buffer.who) {
+ var who = props.buffer.who;
+
+ var realname = stripANSI(who.realname || "");
+
+ var status = UserStatus.HERE;
+ if (who.away) {
+ status = UserStatus.GONE;
+ }
+ if (props.buffer.offline) {
+ status = UserStatus.OFFLINE;
+ }
+
+ description = html`<${NickStatus} status=${status}/> ${realname} (${who.username}@${who.hostname})`;
+ } else if (props.buffer.offline) {
+ // User is offline, but we don't have WHO information
+ description = html`<${NickStatus} status=${UserStatus.OFFLINE}/> ${props.buffer.name}`;
+ }
+
+ actions = html`
+
+ `;
break;
}