From 614cc4d9dabc0e058ee149fbc2fcff866ae62a41 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Sat, 4 Jan 2025 18:35:44 +0200 Subject: Implemented joining functionality --- internal/client/ui/core/networkjoin/networkjoin.go | 23 ++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'internal/client/ui/core/networkjoin') diff --git a/internal/client/ui/core/networkjoin/networkjoin.go b/internal/client/ui/core/networkjoin/networkjoin.go index 1df0db3..8f8200b 100644 --- a/internal/client/ui/core/networkjoin/networkjoin.go +++ b/internal/client/ui/core/networkjoin/networkjoin.go @@ -2,16 +2,19 @@ package networkjoin import ( "errors" + "strconv" "strings" tea "github.com/charmbracelet/bubbletea" "github.com/charmbracelet/lipgloss" "github.com/kyren223/eko/internal/client/gateway" "github.com/kyren223/eko/internal/client/ui/colors" + "github.com/kyren223/eko/internal/client/ui/core/state" "github.com/kyren223/eko/internal/client/ui/field" "github.com/kyren223/eko/internal/client/ui/layouts/flex" "github.com/kyren223/eko/internal/packet" "github.com/kyren223/eko/pkg/assert" + "github.com/kyren223/eko/pkg/snowflake" ) var ( @@ -70,6 +73,9 @@ func New() Model { if strings.TrimSpace(s) == "" { return errors.New("cannot be empty") } + if _, err := strconv.ParseInt(s, 10, 64); err != nil { + return err + } return nil } @@ -154,10 +160,19 @@ func (m *Model) Select() tea.Cmd { if m.name.Input.Err != nil { return nil } - - // TODO: change this to actual invite packet - request := packet.CreateNetwork{ - Name: m.name.Input.Value(), + name := m.name.Input.Value() + id, err := strconv.ParseInt(name, 10, 64) + assert.NoError(err, "input is already validated to be valid") + + yes := true + request := packet.SetNetworkUser{ + Member: &yes, + Admin: nil, + Muted: nil, + Banned: nil, + BanReason: nil, + Network: snowflake.ID(id), + User: *state.State.UserID, } return gateway.Send(&request) } -- cgit v1.3.1