summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2025-01-14 15:42:55 +0200
committerKyren223 <Kyren223@proton.me>2025-01-14 15:42:55 +0200
commitfa2ba2fe8bf24cc9ddc28ec30ea64647d17af1d6 (patch)
tree3e6f110d488ef591e8c10a9578844ff4d2081d03 /internal
parent36aaaf8d920b9d773f8499e9cbf05ec0589f25c5 (diff)
Added icons to frequencies to visually display permissions
Diffstat (limited to 'internal')
-rw-r--r--internal/client/ui/core/frequencylist/frequencylist.go24
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)