From fa2ba2fe8bf24cc9ddc28ec30ea64647d17af1d6 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Tue, 14 Jan 2025 15:42:55 +0200 Subject: [PATCH] Added icons to frequencies to visually display permissions --- .../ui/core/frequencylist/frequencylist.go | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/internal/client/ui/core/frequencylist/frequencylist.go b/internal/client/ui/core/frequencylist/frequencylist.go index 14807ba..2b6a525 100644 --- a/internal/client/ui/core/frequencylist/frequencylist.go +++ b/internal/client/ui/core/frequencylist/frequencylist.go @@ -25,7 +25,11 @@ var ( frequencyStyle = lipgloss.NewStyle(). Margin(0, xMargin).Padding(0, 1).Width(width - (xMargin * 2)). Align(lipgloss.Left) - symbol = "# " + symbolReadWrite = "󰖩 " + symbolReadOnly = "󱛂 " + symbolReadOnlyAdmin = "󰖩 " + symbolNoAccess = "󱚿 " + symbolNoAccessAdmin = "󱛀 " ) type Model struct { @@ -51,10 +55,13 @@ func (m Model) Init() tea.Cmd { } func (m Model) View() string { - if state.NetworkId(m.networkIndex) == nil { + networkId := state.NetworkId(m.networkIndex) + if networkId == nil { return "" } + isAdmin := state.State.Members[*networkId][*state.UserID].IsAdmin + var builder strings.Builder builder.WriteString(m.renderNetworkName()) @@ -69,6 +76,19 @@ func (m Model) View() string { frequencyStyle = frequencyStyle.Background(colors.BackgroundHighlight) } + symbol := "" + if frequency.Perms == packet.PermReadWrite { + symbol = symbolReadWrite + } else if frequency.Perms == packet.PermRead && !isAdmin { + symbol = symbolReadOnly + } else if frequency.Perms == packet.PermRead && isAdmin { + symbol = symbolReadOnlyAdmin + } else if frequency.Perms == packet.PermNoAccess && !isAdmin { + symbol = symbolNoAccess + } else if frequency.Perms == packet.PermNoAccess && isAdmin { + symbol = symbolNoAccessAdmin + } + frequencyName := lipgloss.NewStyle(). MaxWidth(width - (xMargin * 2) - 4). Render(frequency.Name)