summaryrefslogtreecommitdiff
path: root/internal/client
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2025-01-22 18:40:50 +0200
committerKyren223 <Kyren223@proton.me>2025-01-22 18:40:50 +0200
commit7e0bb07d61b656fedc1ed42b07b4e47765ffb6cf (patch)
tree00bb3b54ce93f08a8f0364af4cb05f50d0a4481a /internal/client
parenta6ea05146050a8b2ae5963d4ea96434dc3005f37 (diff)
Now displaying network ID below the network name, and can copy with "i"
Diffstat (limited to 'internal/client')
-rw-r--r--internal/client/ui/core/chat/chat.go2
-rw-r--r--internal/client/ui/core/frequencylist/frequencylist.go21
-rw-r--r--internal/client/ui/core/memberlist/memberlist.go2
3 files changed, 21 insertions, 4 deletions
diff --git a/internal/client/ui/core/chat/chat.go b/internal/client/ui/core/chat/chat.go
index 3b30c1b..2aba2d3 100644
--- a/internal/client/ui/core/chat/chat.go
+++ b/internal/client/ui/core/chat/chat.go
@@ -959,7 +959,7 @@ func (m *Model) renderHeader(message data.Message, selected bool) []byte {
buf = append(buf, ui.UntrustedSymbol...)
}
- senderStyle := lipgloss.NewStyle()
+ var senderStyle lipgloss.Style
if isTrusted && keysMatch {
if ownerId == member.UserID {
senderStyle = ui.TrustedOwnerMemberStyle
diff --git a/internal/client/ui/core/frequencylist/frequencylist.go b/internal/client/ui/core/frequencylist/frequencylist.go
index 5d99099..843290c 100644
--- a/internal/client/ui/core/frequencylist/frequencylist.go
+++ b/internal/client/ui/core/frequencylist/frequencylist.go
@@ -1,8 +1,10 @@
package frequencylist
import (
+ "strconv"
"strings"
+ "github.com/atotto/clipboard"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
"github.com/kyren223/eko/internal/client/gateway"
@@ -19,7 +21,10 @@ var (
Border(lipgloss.ThickBorder(), false, true, false, false)
nameStyle = lipgloss.NewStyle().
- Margin(0, 0, 1).Padding(1).Align(lipgloss.Center).
+ Padding(1).Align(lipgloss.Center).
+ Border(lipgloss.ThickBorder(), false, false, true)
+ networkIdStyle = lipgloss.NewStyle().
+ MarginBottom(1).Padding(1, 2).Align(lipgloss.Center).
Border(lipgloss.ThickBorder(), false, false, true)
margin = 2
@@ -186,6 +191,9 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) {
Frequency: frequencyId,
})
+ case "i":
+ _ = clipboard.WriteAll(strconv.FormatInt(int64(m.Network().ID), 10))
+
}
}
@@ -303,7 +311,16 @@ func (m Model) renderNetworkName() string {
if m.focus {
nameStyle = nameStyle.BorderForeground(colors.Focus)
}
- return nameStyle.Render(m.Network().Name)
+ networkName := nameStyle.Render(m.Network().Name)
+
+ networkIdStyle := networkIdStyle.Width(m.width)
+ if m.focus {
+ networkIdStyle = networkIdStyle.BorderForeground(colors.Focus)
+ }
+ id := "Invite Code\n" + strconv.FormatInt(int64(m.Network().ID), 10)
+ networkId := networkIdStyle.Render(id)
+
+ return lipgloss.JoinVertical(0, networkName, networkId)
}
func (m *Model) SetWidth(width int) {
diff --git a/internal/client/ui/core/memberlist/memberlist.go b/internal/client/ui/core/memberlist/memberlist.go
index 1485e1e..5dfd6f2 100644
--- a/internal/client/ui/core/memberlist/memberlist.go
+++ b/internal/client/ui/core/memberlist/memberlist.go
@@ -96,7 +96,7 @@ func (m Model) View() string {
trustedPublicKey, isTrusted := state.State.Trusteds[user.ID]
keysMatch := bytes.Equal(trustedPublicKey, user.PublicKey)
- userStyle := lipgloss.NewStyle()
+ var userStyle lipgloss.Style
if isTrusted && keysMatch {
if ownerId == member.UserID {
userStyle = ui.TrustedOwnerMemberStyle