Take buffer ID in close

This commit is contained in:
Simon Ser 2021-01-22 10:26:53 +01:00
parent ffed801b0e
commit 002b91a599

View File

@ -719,20 +719,24 @@ export default class App extends Component {
this.switchBuffer({ name: target }); this.switchBuffer({ name: target });
} }
close(target) { close(id) {
if (target == SERVER_BUFFER) { var buf = getBuffer(this.state, id);
if (!buf) {
return;
}
switch (buf.type) {
case BufferType.SERVER:
this.setState({ this.setState({
buffers: new Map(), buffers: new Map(),
activeBuffer: null, activeBuffer: null,
}); });
this.disconnect(DEFAULT_NETWORK); this.disconnect(buf.network);
return; break;
} case BufferType.CHANNEL:
this.client.send({ command: "PART", params: [buf.name] });
if (this.isChannel(target)) { // fallthrough
this.client.send({ command: "PART", params: [target] }); case BufferType.NICK:
}
this.switchBuffer({ name: SERVER_BUFFER }); this.switchBuffer({ name: SERVER_BUFFER });
this.setState((state) => { this.setState((state) => {
var buffers = new Map(state.buffers); var buffers = new Map(state.buffers);
@ -742,6 +746,8 @@ export default class App extends Component {
this.receipts.delete(target); this.receipts.delete(target);
this.saveReceipts(); this.saveReceipts();
break;
}
} }
executeCommand(s) { executeCommand(s) {
@ -951,7 +957,7 @@ export default class App extends Component {
if (activeBuffer) { if (activeBuffer) {
bufferHeader = html` bufferHeader = html`
<section id="buffer-header"> <section id="buffer-header">
<${BufferHeader} buffer=${activeBuffer} onClose=${() => this.close(activeBuffer.name)}/> <${BufferHeader} buffer=${activeBuffer} onClose=${() => this.close(activeBuffer)}/>
</section> </section>
`; `;
} }