diff --git a/bridge/config.yml b/bridge/config.yml
index aa4ba1c..5502407 100644
--- a/bridge/config.yml
+++ b/bridge/config.yml
@@ -1,2 +1,3 @@
allowedServers:
+ - "195.201.123.169:16000"
- "127.0.0.1:16000"
diff --git a/bridge/go.mod b/bridge/go.mod
index 710c045..2699d83 100644
--- a/bridge/go.mod
+++ b/bridge/go.mod
@@ -3,7 +3,7 @@ module git.vh7.uk/jakew/echo-web/bridge
go 1.18
require (
- git.vh7.uk/jakew/echo-go v0.0.0-20220805101505-158189ae7d58
+ git.vh7.uk/jakew/echo-go v0.0.0-20220809112338-5bd7802455cb
github.com/gorilla/websocket v1.5.0
github.com/rs/zerolog v1.27.0
github.com/samber/lo v1.27.0
@@ -17,3 +17,5 @@ require (
golang.org/x/exp v0.0.0-20220303212507-bbda1eaf7a17 // indirect
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654 // indirect
)
+
+replace git.vh7.uk/jakew/echo-go => ../../echo-go
diff --git a/bridge/go.sum b/bridge/go.sum
index a79757f..4a3ebca 100644
--- a/bridge/go.sum
+++ b/bridge/go.sum
@@ -2,6 +2,8 @@ git.vh7.uk/jakew/echo-go v0.0.0-20220803185705-357282c0e444 h1:/GiYRoIHnYqoF9bAH
git.vh7.uk/jakew/echo-go v0.0.0-20220803185705-357282c0e444/go.mod h1:Q4YqOodoX+qYvfM0gSf78cCk0o7dkg1GLNYUFgB6qhU=
git.vh7.uk/jakew/echo-go v0.0.0-20220805101505-158189ae7d58 h1:gMa91PLcG4jRunbntD/YSt/7U3eSyAHUNxIdWu4ELjU=
git.vh7.uk/jakew/echo-go v0.0.0-20220805101505-158189ae7d58/go.mod h1:Q4YqOodoX+qYvfM0gSf78cCk0o7dkg1GLNYUFgB6qhU=
+git.vh7.uk/jakew/echo-go v0.0.0-20220809112338-5bd7802455cb h1:wE2bgtd4F/dJKVmMkxqHjQs16vsrqo4TuNbLIM4QX28=
+git.vh7.uk/jakew/echo-go v0.0.0-20220809112338-5bd7802455cb/go.mod h1:Q4YqOodoX+qYvfM0gSf78cCk0o7dkg1GLNYUFgB6qhU=
github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
diff --git a/bridge/main.go b/bridge/main.go
index ad2b1af..3cae160 100644
--- a/bridge/main.go
+++ b/bridge/main.go
@@ -15,7 +15,7 @@ import (
)
type Config struct {
- AllowedServers []string `yaml:"allowedServers"`
+ AllowedServers []string `yaml:"allowedServers" json:"allowedServers"`
}
type websocketHandler struct {
@@ -110,6 +110,25 @@ func (h *websocketHandler) socketHandler(w http.ResponseWriter, r *http.Request)
}
}
+func (h *websocketHandler) configHandler(w http.ResponseWriter, r *http.Request) {
+ w.Header().Set("Content-Type", "application/json")
+ w.Header().Set("Access-Control-Allow-Origin", "*")
+
+ bytes, err := json.Marshal(h.config)
+ if err != nil {
+ log.Error().Err(err).Msg("failed to marshal config")
+ w.WriteHeader(500)
+ return
+ }
+
+ _, err = w.Write(bytes)
+ if err != nil {
+ log.Error().Err(err).Msg("failed to write bytes to response")
+ w.WriteHeader(500)
+ return
+ }
+}
+
func main() {
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr})
@@ -130,6 +149,7 @@ func main() {
}
http.HandleFunc("/", handler.socketHandler)
+ http.HandleFunc("/config", handler.configHandler)
log.Info().Msg("starting server")
err = http.ListenAndServe(":4000", nil)
diff --git a/frontend/index.html b/frontend/index.html
index e0d1c84..e1e182c 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -2,9 +2,8 @@
-
- Vite + React + TS
+ Echo Web
diff --git a/frontend/public/vite.svg b/frontend/public/vite.svg
deleted file mode 100644
index e7b8dfb..0000000
--- a/frontend/public/vite.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/frontend/src/components/ChannelList.tsx b/frontend/src/components/ChannelList.tsx
index afd7319..4ce345a 100644
--- a/frontend/src/components/ChannelList.tsx
+++ b/frontend/src/components/ChannelList.tsx
@@ -1,9 +1,11 @@
import { Box, Button, Navbar, NavLink, Stack } from "@mantine/core";
+import { openModal } from "@mantine/modals";
import { Root } from "react-dom/client";
import { Hash, Settings } from "react-feather";
import { useDispatch, useSelector } from "react-redux";
import { chatActions } from "../slices/chat";
import { RootState } from "../store";
+import ConnectModal from "./ConnectModal";
function ChannelList(props: { hidden: boolean }) {
const dispatch = useDispatch();
@@ -44,7 +46,7 @@ function ChannelList(props: { hidden: boolean }) {
>
{connectText}
-