Split up getMembershipEventContent()
This commit is contained in:
		@@ -78,30 +78,7 @@ func ParseMessage(matrix ifc.MatrixContainer, room *rooms.Room, evt *gomatrix.Ev
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func getMembershipEventContent(room *rooms.Room, evt *gomatrix.Event) (sender string, text tstring.TString) {
 | 
			
		||||
	member := room.GetMember(evt.Sender)
 | 
			
		||||
	senderDisplayname := evt.Sender
 | 
			
		||||
	if member != nil {
 | 
			
		||||
		senderDisplayname = member.DisplayName
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	membership, _ := evt.Content["membership"].(string)
 | 
			
		||||
	displayname, _ := evt.Content["displayname"].(string)
 | 
			
		||||
	if len(displayname) == 0 {
 | 
			
		||||
		displayname = *evt.StateKey
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	prevMembership := "leave"
 | 
			
		||||
	prevDisplayname := *evt.StateKey
 | 
			
		||||
	if evt.Unsigned.PrevContent != nil {
 | 
			
		||||
		prevMembership, _ = evt.Unsigned.PrevContent["membership"].(string)
 | 
			
		||||
		prevDisplayname, _ = evt.Unsigned.PrevContent["displayname"].(string)
 | 
			
		||||
		if len(prevDisplayname) == 0 {
 | 
			
		||||
			prevDisplayname = *evt.StateKey
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if membership != prevMembership {
 | 
			
		||||
func getMembershipChangeMessage(evt *gomatrix.Event, membership, prevMembership, senderDisplayname, displayname, prevDisplayname string) (sender string, text tstring.TString) {
 | 
			
		||||
	switch membership {
 | 
			
		||||
	case "invite":
 | 
			
		||||
		sender = "---"
 | 
			
		||||
@@ -137,6 +114,34 @@ func getMembershipEventContent(room *rooms.Room, evt *gomatrix.Event) (sender st
 | 
			
		||||
		text.Colorize(len(senderDisplayname)+len(" banned "), len(displayname), widget.GetHashColor(*evt.StateKey))
 | 
			
		||||
		text.Colorize(0, len(senderDisplayname), widget.GetHashColor(evt.Sender))
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func getMembershipEventContent(room *rooms.Room, evt *gomatrix.Event) (sender string, text tstring.TString) {
 | 
			
		||||
	member := room.GetMember(evt.Sender)
 | 
			
		||||
	senderDisplayname := evt.Sender
 | 
			
		||||
	if member != nil {
 | 
			
		||||
		senderDisplayname = member.DisplayName
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	membership, _ := evt.Content["membership"].(string)
 | 
			
		||||
	displayname, _ := evt.Content["displayname"].(string)
 | 
			
		||||
	if len(displayname) == 0 {
 | 
			
		||||
		displayname = *evt.StateKey
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	prevMembership := "leave"
 | 
			
		||||
	prevDisplayname := *evt.StateKey
 | 
			
		||||
	if evt.Unsigned.PrevContent != nil {
 | 
			
		||||
		prevMembership, _ = evt.Unsigned.PrevContent["membership"].(string)
 | 
			
		||||
		prevDisplayname, _ = evt.Unsigned.PrevContent["displayname"].(string)
 | 
			
		||||
		if len(prevDisplayname) == 0 {
 | 
			
		||||
			prevDisplayname = *evt.StateKey
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if membership != prevMembership {
 | 
			
		||||
		sender, text = getMembershipChangeMessage(evt, membership, prevMembership, senderDisplayname, displayname, prevDisplayname)
 | 
			
		||||
	} else if displayname != prevDisplayname {
 | 
			
		||||
		sender = "---"
 | 
			
		||||
		text = tstring.NewColorTString(fmt.Sprintf("%s changed their display name to %s.", prevDisplayname, displayname), tcell.ColorGreen)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user