From afccc56b81173dbf427be8b7d06769ce6665e372 Mon Sep 17 00:00:00 2001 From: marlon-erler Date: Mon, 8 Jul 2024 13:35:26 +0200 Subject: [PATCH] update, allow disconnecting --- bun.lockb | Bin 11417 -> 11417 bytes dist/index.js | 27 +++++++++++++++++++++++++-- dist/styles.css | 5 ++++- package.json | 2 +- src/Views/connectionSettingsView.tsx | 9 +++++++++ src/model.ts | 13 ++++++++++++- src/translations.ts | 3 +++ 7 files changed, 54 insertions(+), 5 deletions(-) diff --git a/bun.lockb b/bun.lockb index 345e9935330c7e36b123b4350fddd385965f09c7..6cc47bde0cefa081d34842e6aee816c13ce326df 100755 GIT binary patch delta 131 zcmV-}0DS+MS(#aoE+Akg*fhiPiQ(-o@&U?d3euO~AC+7~YqNNoS3;5Vi?FdyS^@zB zlTiXEv(N(l2tden_Du(6!9CipsGxB(m`tiHTZFQnqfh l0C|mVQ{4bthyjGT5BsM3oQEB*Ka#Tz42c#2GqaZ>0tz>yJg)!% delta 131 zcmV-}0DS+MS(#aoE+9Z2>%>;AP$vPGmu>tFHM;nCpoj9i$#Wy*N{vlJhbgg6S^@zA zlTiXEv(N(l2tWwZ$vAj42-~9!h|B;L4ED7wN2W>Iv0ueb2Egu~|El0yJZ8&~B9)e2 lc>n~j#-((4C_o63>@c;(dlC3Jrf#zh42c#2GP9Q=0tyecIVb=C diff --git a/dist/index.js b/dist/index.js index c81cf170..2297b53e 100644 --- a/dist/index.js +++ b/dist/index.js @@ -321,6 +321,7 @@ } // public methods connect(address) { + this.disconnect(); this.ws = new WebSocket(address); this.ws.addEventListener("open", this.connectionHandler); this.ws.addEventListener("close", this.disconnectionHandler); @@ -330,6 +331,9 @@ this.messageHandler(data); }); } + disconnect() { + this.ws?.close(); + } sendMessage(channel, body) { const messageObject = { messageChannel: channel, @@ -366,6 +370,7 @@ serverAddress: "Server Address", serverAddressPlaceholder: "wss://192.168.0.69:3000", connectToServer: "Connect", + disconnect: "Disonnect", primaryChannel: "Primary channel", leaveChannel: "Leave", channelPlaceholder: "my-channel", @@ -404,6 +409,7 @@ serverAddress: "Direcci\xF3n del servidor", serverAddressPlaceholder: "wss://192.168.0.69:3000", connectToServer: "Conectar", + disconnect: "Desconectar", primaryChannel: "Canal principal", leaveChannel: "Salir", channelPlaceholder: "mi-canal", @@ -440,6 +446,7 @@ serverAddress: "Serveraddresse", serverAddressPlaceholder: "wss://192.168.0.69:3000", connectToServer: "Verbinden", + disconnect: "Trennen", primaryChannel: "Hauptkanal", leaveChannel: "Verlassen", channelPlaceholder: "mein-kanal", @@ -490,6 +497,10 @@ [serverAddress], () => translation.connectedTo(serverAddress.value) ); + var cannotDisonnect = createProxyState( + [isConnected], + () => isConnected.value == false + ); var cannotConnect = createProxyState( [serverAddress, currentAddress, isConnected], () => serverAddress.value == "" || currentAddress.value == serverAddress.value && isConnected.value == true @@ -515,8 +526,8 @@ () => newSecondaryChannelName.value == "" ); var cannotSendMessage = createProxyState( - [currentPrimaryChannel, messageBody, senderName], - () => currentPrimaryChannel.value == "" || messageBody.value == "" || senderName.value == "" + [currentPrimaryChannel, messageBody, senderName, isConnected], + () => isConnected.value == false || currentPrimaryChannel.value == "" || messageBody.value == "" || senderName.value == "" ); var messages = restoreListState("messages"); function connect() { @@ -525,6 +536,10 @@ isConnected.value = false; UDN.connect(serverAddress.value); } + function disconnect() { + if (cannotDisonnect.value == true) return; + UDN.disconnect(); + } async function sendMessage() { if (cannotSendMessage.value == true) return; const secondaryChannelNames = [ @@ -778,6 +793,14 @@ placeholder: translation.serverAddressPlaceholder } ))), /* @__PURE__ */ createElement("div", { class: "flex-row width-input justify-end" }, /* @__PURE__ */ createElement( + "button", + { + class: "danger width-50", + "on:click": disconnect, + "toggle:disabled": cannotDisonnect + }, + translation.disconnect + ), /* @__PURE__ */ createElement( "button", { class: "primary width-50", diff --git a/dist/styles.css b/dist/styles.css index 6c6bfc5c..8d09458f 100644 --- a/dist/styles.css +++ b/dist/styles.css @@ -949,7 +949,10 @@ main { text-overflow: ellipsis; } -.tile, +.tile { + word-break: normal; +} + .break-all { word-break: break-all; } diff --git a/package.json b/package.json index 2c9591b0..7f6dc657 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "dependencies": { "bloatless-react": "^1.2.4", "esbuild": "latest", - "udn-frontend": "^1.0.2" + "udn-frontend": "^1.0.3" }, "scripts": { "build": "esbuild src/index.tsx --bundle --outdir=dist" diff --git a/src/Views/connectionSettingsView.tsx b/src/Views/connectionSettingsView.tsx index 1a25134d..dc616cd2 100644 --- a/src/Views/connectionSettingsView.tsx +++ b/src/Views/connectionSettingsView.tsx @@ -2,7 +2,9 @@ import * as React from "bloatless-react"; import { cannotConnect, + cannotDisonnect, connect, + disconnect, serverAddress, } from "../model"; @@ -23,6 +25,13 @@ export function ConnectionInputView() {
+