Added the ability to kick someone by pressing "K" on his message in chat

This commit is contained in:
2025-01-21 18:23:57 +02:00
parent 8f87941f91
commit c02511af29
2 changed files with 36 additions and 5 deletions

View File

@@ -326,6 +326,41 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) {
m.style = editStyle
}
// Admin
case "K":
if m.selectedMessage == nil {
return m, nil
}
networkId := state.NetworkId(m.networkIndex)
network := state.State.Networks[*networkId]
senderId := m.selectedMessage.SenderID
member := state.State.Members[*networkId][senderId]
if !state.State.Members[*networkId][*state.UserID].IsAdmin {
return m, nil
}
if member.UserID == *state.UserID {
return m, nil
}
if member.IsAdmin && network.OwnerID != *state.UserID {
return m, nil
}
no := false
return m, gateway.Send(&packet.SetMember{
Member: &no,
Admin: nil,
Muted: nil,
Banned: nil,
BanReason: nil,
Network: *state.NetworkId(m.networkIndex),
User: member.UserID,
})
case "B":
// TODO: ban
// Owner
case "D":
if m.selectedMessage == nil {

View File

@@ -174,10 +174,6 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) {
return m, nil
}
if member.UserID == network.OwnerID {
return m, nil
}
no := false
return m, gateway.Send(&packet.SetMember{
Member: &no,
@@ -188,7 +184,7 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) {
Network: *state.NetworkId(m.networkIndex),
User: member.UserID,
})
case "b":
case "B":
// TODO: ban
// Owner