diff options
| author | Kyren223 <Kyren223@proton.me> | 2025-01-14 15:42:55 +0200 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2025-01-14 15:42:55 +0200 |
| commit | fa2ba2fe8bf24cc9ddc28ec30ea64647d17af1d6 (patch) | |
| tree | 3e6f110d488ef591e8c10a9578844ff4d2081d03 /internal/client/ui | |
| parent | 36aaaf8d920b9d773f8499e9cbf05ec0589f25c5 (diff) | |
Added icons to frequencies to visually display permissions
Diffstat (limited to 'internal/client/ui')
| -rw-r--r-- | internal/client/ui/core/frequencylist/frequencylist.go | 24 |
1 files 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) |
