Added icons to frequencies to visually display permissions

This commit is contained in:
2025-01-14 15:42:55 +02:00
parent 36aaaf8d92
commit fa2ba2fe8b

View File

@@ -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)