diff options
Diffstat (limited to 'internal')
| -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) |
