aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ui/member-list.go2
-rw-r--r--ui/messages/html/parser.go26
2 files changed, 13 insertions, 15 deletions
diff --git a/ui/member-list.go b/ui/member-list.go
index 633470e..a96436d 100644
--- a/ui/member-list.go
+++ b/ui/member-list.go
@@ -26,7 +26,6 @@ import (
"maunium.net/go/mauview"
"maunium.net/go/tcell"
- "maunium.net/go/gomuks/debug"
"maunium.net/go/gomuks/ui/widget"
)
@@ -81,7 +80,6 @@ func (ml *MemberList) Update(data map[string]*mautrix.Member, levels *mautrix.Po
func (ml *MemberList) Draw(screen mauview.Screen) {
width, _ := screen.Size()
for y, member := range ml.list {
- debug.Print(member.UserID, member.Displayname, member.Membership, member.PowerLevel)
if member.Membership == "invite" {
widget.WriteLineSimpleColor(screen, member.Displayname, 1, y, member.Color)
screen.SetCell(0, y, tcell.StyleDefault, '(')
diff --git a/ui/messages/html/parser.go b/ui/messages/html/parser.go
index 51f5cb0..bc93e9d 100644
--- a/ui/messages/html/parser.go
+++ b/ui/messages/html/parser.go
@@ -168,8 +168,8 @@ func (parser *htmlParser) blockquoteToEntity(node *html.Node) Entity {
return NewBlockquoteEntity(parser.nodeToEntities(node.FirstChild))
}
-func (parser *htmlParser) linkToEntity(node *html.Node) (entity Entity) {
- entity = &ContainerEntity{
+func (parser *htmlParser) linkToEntity(node *html.Node) Entity {
+ entity := &ContainerEntity{
BaseEntity: &BaseEntity{
Tag: "a",
},
@@ -177,27 +177,27 @@ func (parser *htmlParser) linkToEntity(node *html.Node) (entity Entity) {
}
href := parser.getAttribute(node, "href")
if len(href) == 0 {
- return
+ return entity
}
match := matrixToURL.FindStringSubmatch(href)
if len(match) == 2 {
pillTarget := match[1]
- textEntity := &TextEntity{
- BaseEntity: &BaseEntity{
- Tag: "a",
- },
- Text: pillTarget,
- }
+ text := NewTextEntity(pillTarget)
if pillTarget[0] == '@' {
if member := parser.room.GetMember(pillTarget); member != nil {
- textEntity.Text = member.Displayname
- textEntity.Style = textEntity.Style.Foreground(widget.GetHashColor(pillTarget))
+ text.Text = member.Displayname
+ text.Style = text.Style.Foreground(widget.GetHashColor(pillTarget))
}
+ entity.Children = []Entity{text}
+ /*} else if slash := strings.IndexRune(pillTarget, '/'); slash != -1 {
+ room := pillTarget[:slash]
+ event := pillTarget[slash+1:]*/
+ } else if pillTarget[0] == '#' {
+ entity.Children = []Entity{text}
}
- entity = textEntity
}
// TODO add click action and underline on hover for links
- return
+ return entity
}
func (parser *htmlParser) imageToEntity(node *html.Node) Entity {