commit 709733147d5afa7ac25bf70ae856ba4064aea589
parent 4465e80ccb8225f1ee206be45bf2a8394b325c78
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Sun, 19 Mar 2023 04:00:43 -0700
remove duplicated template code
Diffstat:
1 file changed, 37 insertions(+), 46 deletions(-)
diff --git a/pkg/web/public/views/pages/chat-messages.gohtml b/pkg/web/public/views/pages/chat-messages.gohtml
@@ -201,12 +201,6 @@
{{ $readMarkerRendered := false }}
{{ $isFirstMsg := true }}
{{ range $idx, $e := .Data.Messages }}
- {{ $tagType := "tag" }}
- {{- if and $.AuthUser.CanSeeHB (or .IsHellbanned .User.IsHellbanned) -}}
- {{ $tagType = "htag" }}
- {{- else if and $.AuthUser.IsModerator .Moderators -}}
- {{ $tagType = "mtag" }}
- {{- end -}}
{{- if (.UserCanSee $.AuthUser) -}}
<div class="msg
{{- if and (or .User.IsHellbanned .IsHellbanned) $.AuthUser.DisplayHellbanned }} hb-row
@@ -287,17 +281,11 @@
{{- $isFirstMsg = false -}}
{{- end -}}
<a href="/u/{{ .GetProfile $.AuthUser }}" target="_blank" class="f-def-clr">-</a>
- {{- if .ToUserID -}}
+ {{- if .System -}}
+ <span class="sysmsg">{{ .Message | safe }}</span>
+ {{- else if .ToUserID -}}
[
- {{- if eq .User.ID $.AuthUser.ID -}}
- {{- if .CanBeEdited -}}
- <a {{ .User.GenerateChatStyle | attr }} href="{{ $baseTopBarURL }}?e={{ .CreatedAt.Format "15:04:05" }}{{ $.Data.TopBarQueryParams | safeURL }}" target="iframe1">{{ .User.Username }}</a>
- {{- else -}}
- <span {{ .User.GenerateChatStyle | attr }}>{{ .User.Username }}</span>
- {{- end -}}
- {{- else -}}
- <a {{ .User.GenerateChatStyle | attr }} href="{{ $baseTopBarURL }}?pm={{ .User.Username }}{{ $.Data.TopBarQueryParams | safeURL }}" target="iframe1">{{ .User.Username }}</a>
- {{- end -}}
+ {{- template "from-username" dict "Parent" $ "El" . "baseTopBarURL" $baseTopBarURL "CanBeEdited" .CanBeEdited "GenerateChatStyle" .User.GenerateChatStyle -}}
→
{{- if eq .ToUser.ID $.AuthUser.ID -}}
<span {{ .ToUser.GenerateChatStyle | attr }}>{{ .ToUser.Username }}</span>
@@ -305,42 +293,25 @@
<a {{ .ToUser.GenerateChatStyle | attr }} href="{{ $baseTopBarURL }}?pm={{ .ToUser.Username }}{{ $.Data.TopBarQueryParams | safeURL }}" target="iframe1">{{ .ToUser.Username }}</a>
{{- end -}}
] -
- {{- else if .System -}}
- <span class="sysmsg">{{ .Message | safe }}</span>
- {{- else if .IsMe -}}
- {{- if .Moderators -}}<span class="sysmsg">[<a href="{{ $baseTopBarURL }}?m=1{{ $.Data.TopBarQueryParams | safeURL }}" target="iframe1" class="sysmsg f-white-clr">M</a>]</span> {{- end -}}
- {{- if .GroupID -}}<span class="sysmsg">[<a href="{{ $baseTopBarURL }}?g={{ .Group.Name }}{{ $.Data.TopBarQueryParams | safeURL }}" target="iframe1" class="sysmsg f-white-clr">{{ .Group.Name }}</a>]</span> {{- end -}}
- <span class="o-wrap"><span {{ .User.GenerateChatStyle | attr }}>
- {{- if eq .User.ID $.AuthUser.ID -}}
- {{- if .CanBeEdited -}}
- <a {{ .User.GenerateChatStyle | attr }} href="{{ $baseTopBarURL }}?e={{ .CreatedAt.Format "15:04:05" }}{{ $.Data.TopBarQueryParams | safeURL }}" target="iframe1">{{ .User.Username }}</a>
- {{- else -}}
- {{ .User.Username }}
- {{- end -}}
- {{- else -}}
- <a {{ .User.GenerateChatStyle | attr }} href="{{ $baseTopBarURL }}?{{ $tagType }}={{ .User.Username }}{{ $.Data.TopBarQueryParams | safeURL }}" target="iframe1">{{ .User.Username }}</a>
- {{- end }}
- {{ .TrimMe | safe }}
- </span></span>
{{- else -}}
{{- if .Moderators -}}<span class="sysmsg">[<a href="{{ $baseTopBarURL }}?m=1{{ $.Data.TopBarQueryParams | safeURL }}" target="iframe1" class="sysmsg f-white-clr">M</a>]</span> {{- end -}}
{{- if .GroupID -}}<span class="sysmsg">[<a href="{{ $baseTopBarURL }}?g={{ .Group.Name }}{{ $.Data.TopBarQueryParams | safeURL }}" target="iframe1" class="sysmsg f-white-clr">{{ .Group.Name }}</a>]</span> {{- end -}}
- {{- if eq .User.ID $.AuthUser.ID -}}
- {{- if .CanBeEdited -}}
- <a {{ .User.GenerateChatStyle | attr }} href="{{ $baseTopBarURL }}?e={{ .CreatedAt.Format "15:04:05" }}{{ $.Data.TopBarQueryParams | safeURL }}" target="iframe1">{{ .User.Username }}</a>
+ {{- if .IsMe -}}
+ <span class="o-wrap"><span {{ .User.GenerateChatStyle | attr }}>
+ {{- template "from-username" dict "Parent" $ "El" . "baseTopBarURL" $baseTopBarURL "CanBeEdited" .CanBeEdited "GenerateChatStyle" .User.GenerateChatStyle -}}
+
+ {{ .TrimMe | safe }}
+ </span></span>
+ {{- else -}}
+ {{- template "from-username" dict "Parent" $ "El" . "baseTopBarURL" $baseTopBarURL "CanBeEdited" .CanBeEdited "GenerateChatStyle" .User.GenerateChatStyle -}}
+
+ {{- if and $.AuthUser.CanSeeHB (or .IsHellbanned .User.IsHellbanned) (not .ToUserID) -}}
+ <a href="{{ $baseTopBarURL }}?hbm=1{{ $.Data.TopBarQueryParams | safeURL }}" target="iframe1" class="f-def-clr">-</a>
{{- else -}}
- <span {{ .User.GenerateChatStyle | attr }}>{{ .User.Username }}</span>
+ -
{{- end -}}
- {{- else -}}
- <a {{ .User.GenerateChatStyle | attr }} href="{{ $baseTopBarURL }}?{{ $tagType }}={{ .User.Username }}{{ $.Data.TopBarQueryParams | safeURL }}" target="iframe1">{{ .User.Username }}</a>
- {{- end -}}
-
- {{- if and $.AuthUser.CanSeeHB (or .IsHellbanned .User.IsHellbanned) (not .ToUserID) -}}
- <a href="{{ $baseTopBarURL }}?hbm=1{{ $.Data.TopBarQueryParams | safeURL }}" target="iframe1" class="f-def-clr">-</a>
- {{- else -}}
- -
+
{{- end -}}
-
{{- end -}}
{{- if and (not .System) (not .IsMe) -}}
<span {{ .User.GenerateChatStyle | attr }}><span class="o-wrap">{{ .Message | safe }}</span></span>
@@ -409,6 +380,26 @@
</html>
{{ end }}
+{{- define "from-username" -}}
+ {{ $tagType := "tag" }}
+ {{- if .El.ToUserID -}}
+ {{ $tagType = "pm" }}
+ {{- else if and .Parent.AuthUser.CanSeeHB (or .El.IsHellbanned .El.User.IsHellbanned) -}}
+ {{ $tagType = "htag" }}
+ {{- else if and .Parent.AuthUser.IsModerator .El.Moderators -}}
+ {{ $tagType = "mtag" }}
+ {{- end -}}
+ {{- if eq .El.User.ID .Parent.AuthUser.ID -}}
+ {{- if .CanBeEdited -}}
+ <a {{ .GenerateChatStyle | attr }} href="{{ .baseTopBarURL }}?e={{ .El.CreatedAt.Format "15:04:05" }}{{ .Parent.Data.TopBarQueryParams | safeURL }}" target="iframe1">{{ .El.User.Username }}</a>
+ {{- else -}}
+ <span {{ .GenerateChatStyle | attr }}>{{ .El.User.Username }}</span>
+ {{- end -}}
+ {{- else -}}
+ <a {{ .GenerateChatStyle | attr }} href="{{ .baseTopBarURL }}?{{ $tagType }}={{ .El.User.Username }}{{ .Parent.Data.TopBarQueryParams | safeURL }}" target="iframe1">{{ .El.User.Username }}</a>
+ {{- end -}}
+{{- end -}}
+
{{ define "member" }}
{{ $baseTopBarURL := (print "/api/v1/chat/top-bar/" $.Parent.Data.RoomName) }}
{{- if eq .El.Username .Parent.AuthUser.Username -}}