From 98a963b9d485c71f7f4c20da57ec5e358921937d Mon Sep 17 00:00:00 2001 From: marlon-erler Date: Mon, 8 Jul 2024 00:48:58 +0200 Subject: [PATCH] fix connection message --- dist/index.js | 87 +++++++++++++++--------------- src/Views/connectionStatusView.tsx | 3 +- src/model.ts | 3 ++ src/translations.ts | 5 +- 4 files changed, 50 insertions(+), 48 deletions(-) diff --git a/dist/index.js b/dist/index.js index fb04f1bd..e4585c1d 100644 --- a/dist/index.js +++ b/dist/index.js @@ -349,6 +349,45 @@ } }; + // src/translations.ts + var englishTranslations = { + // general + setInput: "Set", + connectionStatus: "Connection status", + connectedTo: (server) => `Connected to "${server}"`, + disconnected: "Disconnected", + // settings + settings: "Settings", + connection: "Connection", + communication: "Communication", + encryption: "Encryption", + serverAddress: "Server Address", + serverAddressPlaceholder: "ws://192.168.0.69:3000", + connectToServer: "Connect", + primaryChannel: "Primary channel", + channelPlaceholder: "my-channel", + addSecondaryChannel: "Add secondary channel", + removeSecondaryChannel: "Remove secondary channel", + newSecondaryChannelPlaceholder: "Add secondary channel", + encryptionKey: "Encryption key", + encryptionKeyPlaceholder: "1jg028ej40d", + showEncryptionKey: "Show encryption key", + yourName: "Your Name", + yourNamePlaceholder: "Jane Doe", + // messages + messages: "Messages", + composerPlaceholder: "Type a message...", + sendMessage: "Send", + clearHistory: "Clear history", + encryptionUnavailableTitle: "Encryption is not available", + encryptionUnavailableMessage: "Encryption is not available on insecure contexts. Obtain this app via HTTPS or continue without encryption" + }; + var allTranslations = { + en: englishTranslations + }; + var language = navigator.language.substring(0, 2); + var translation = allTranslations[language] ?? allTranslations.en; + // src/model.ts var UDN = new UDNFrontend(); var Channel = class { @@ -369,6 +408,10 @@ var currentAddress = new State(""); var serverAddress = restoreState("socket-address", ""); var isConnected = new State(false); + var connectionMessage = createProxyState( + [serverAddress], + () => translation.connectedTo(serverAddress.value) + ); var cannotConnect = createProxyState( [serverAddress, currentAddress, isConnected], () => serverAddress.value == "" || currentAddress.value == serverAddress.value && isConnected.value == true @@ -500,48 +543,6 @@ } } - // src/translations.ts - var englishTranslations = { - // general - setInput: "Set", - connectionStatus: "Connection status", - connectedTo: createProxyState( - [], - () => `Connected to ${currentAddress}` - ), - disconnected: "Disconnected", - // settings - settings: "Settings", - connection: "Connection", - communication: "Communication", - encryption: "Encryption", - serverAddress: "Server Address", - serverAddressPlaceholder: "ws://192.168.0.69:3000", - connectToServer: "Connect", - primaryChannel: "Primary channel", - channelPlaceholder: "my-channel", - addSecondaryChannel: "Add secondary channel", - removeSecondaryChannel: "Remove secondary channel", - newSecondaryChannelPlaceholder: "Add secondary channel", - encryptionKey: "Encryption key", - encryptionKeyPlaceholder: "1jg028ej40d", - showEncryptionKey: "Show encryption key", - yourName: "Your Name", - yourNamePlaceholder: "Jane Doe", - // messages - messages: "Messages", - composerPlaceholder: "Type a message...", - sendMessage: "Send", - clearHistory: "Clear history", - encryptionUnavailableTitle: "Encryption is not available", - encryptionUnavailableMessage: "Encryption is not available on insecure contexts. Obtain this app via HTTPS or continue without encryption" - }; - var allTranslations = { - en: englishTranslations - }; - var language = navigator.language.substring(0, 2); - var translation = allTranslations[language] ?? allTranslations.en; - // src/Views/messageComposer.tsx function MessageComposer() { return /* @__PURE__ */ createElement("div", { class: "flex-row width-100" }, /* @__PURE__ */ createElement( @@ -675,7 +676,7 @@ "span", { class: "success connected-only", - "subscribe:innerText": translation.connectedTo + "subscribe:innerText": connectionMessage } ), /* @__PURE__ */ createElement("span", { class: "error disconnected-only" }, translation.disconnected))); } diff --git a/src/Views/connectionStatusView.tsx b/src/Views/connectionStatusView.tsx index de068c7d..9a5ec25a 100644 --- a/src/Views/connectionStatusView.tsx +++ b/src/Views/connectionStatusView.tsx @@ -1,5 +1,6 @@ import * as React from "bloatless-react"; +import { connectionMessage } from "../model"; import { translation } from "../translations"; export function ConnectionStatusView() { @@ -9,7 +10,7 @@ export function ConnectionStatusView() { {translation.connectionStatus} {translation.disconnected} diff --git a/src/model.ts b/src/model.ts index 1fb94344..85ee8c2b 100644 --- a/src/model.ts +++ b/src/model.ts @@ -45,6 +45,9 @@ export class Message implements React.Identifiable { export const currentAddress = new React.State(""); export const serverAddress = React.restoreState("socket-address", ""); export const isConnected = new React.State(false); +export const connectionMessage = React.createProxyState([serverAddress], () => + translation.connectedTo(serverAddress.value) +); export const cannotConnect = React.createProxyState( [serverAddress, currentAddress, isConnected], diff --git a/src/translations.ts b/src/translations.ts index 531aa61e..4419c801 100644 --- a/src/translations.ts +++ b/src/translations.ts @@ -6,10 +6,7 @@ const englishTranslations = { // general setInput: "Set", connectionStatus: "Connection status", - connectedTo: React.createProxyState( - [], - () => `Connected to ${currentAddress}` - ), + connectedTo: (server: string) => `Connected to "${server}"`, disconnected: "Disconnected", // settings