mirror of
https://codeberg.org/emersion/gamja
synced 2025-03-13 07:48:37 +01:00
Take buffer ID in close
This commit is contained in:
parent
ffed801b0e
commit
002b91a599
@ -719,29 +719,35 @@ 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] });
|
||||||
|
// fallthrough
|
||||||
|
case BufferType.NICK:
|
||||||
|
this.switchBuffer({ name: SERVER_BUFFER });
|
||||||
|
this.setState((state) => {
|
||||||
|
var buffers = new Map(state.buffers);
|
||||||
|
buffers.delete(target);
|
||||||
|
return { buffers };
|
||||||
|
});
|
||||||
|
|
||||||
|
this.receipts.delete(target);
|
||||||
|
this.saveReceipts();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.isChannel(target)) {
|
|
||||||
this.client.send({ command: "PART", params: [target] });
|
|
||||||
}
|
|
||||||
|
|
||||||
this.switchBuffer({ name: SERVER_BUFFER });
|
|
||||||
this.setState((state) => {
|
|
||||||
var buffers = new Map(state.buffers);
|
|
||||||
buffers.delete(target);
|
|
||||||
return { buffers };
|
|
||||||
});
|
|
||||||
|
|
||||||
this.receipts.delete(target);
|
|
||||||
this.saveReceipts();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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>
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user