commit 91874444c01b5faa20f79fd7d54bcd74546f6850
parent 2bfc8fd5c6fc01e4b6b7016883761acaaf5aac05
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Fri, 8 Nov 2024 21:23:07 -0800
fix stupid tor browser bug for non-stream chat
Diffstat:
3 files changed, 502 insertions(+), 499 deletions(-)
diff --git a/pkg/web/handlers/api/v1/handlers.go b/pkg/web/handlers/api/v1/handlers.go
@@ -161,7 +161,8 @@ func ChatMessagesHandler(c echo.Context) error {
}
version := config.Global.AppVersion.Get().Original()
csrf, _ := c.Get("csrf").(string)
- return c.HTML(http.StatusOK, Messages(version, csrf, config.NullUsername, authUser, data))
+ msgs := Messages(version, csrf, config.NullUsername, authUser, data)
+ return c.HTML(http.StatusOK, msgs)
//return c.Render(http.StatusOK, "chat-messages", data)
}
diff --git a/pkg/web/handlers/api/v1/messages.qtpl b/pkg/web/handlers/api/v1/messages.qtpl
@@ -222,6 +222,7 @@
{%- if !Data.ChatMenuData.PreventRefresh && !Data.ForceManualRefresh -%}<meta http-equiv="refresh" content="{%dl AuthUser.RefreshRate %}">{%- endif -%}
{%- if AuthUser.CollectMetadata -%}<link rel="stylesheet" type="text/css" href="/public/css/meta.css?v={%s VERSION %}" />{%- endif -%}
{%-= GenerateStyle(AuthUser, Data) -%}
+ <style>#btn_delete_useless:active { background-image: url('/api/v1/chat/messages/delete/useless'); }</style>
</head>
<body>
diff --git a/pkg/web/handlers/api/v1/messages.qtpl.go b/pkg/web/handlers/api/v1/messages.qtpl.go
@@ -347,27 +347,28 @@ func StreamMessages(qw422016 *qt422016.Writer, VERSION, CSRF, NullUsername strin
//line messages.qtpl:224
StreamGenerateStyle(qw422016, AuthUser, Data)
//line messages.qtpl:224
- qw422016.N().S(` </head>
+ qw422016.N().S(` <style>#btn_delete_useless:active { background-image: url('/api/v1/chat/messages/delete/useless'); }</style>
+ </head>
<body>
`)
-//line messages.qtpl:228
+//line messages.qtpl:229
if Data.ForceManualRefresh {
-//line messages.qtpl:228
+//line messages.qtpl:229
qw422016.N().S(` <div id="manualrefresh">
<h4>Manual refresh required</h4>
<form method="get" action="/chat/`)
-//line messages.qtpl:231
+//line messages.qtpl:232
qw422016.E().S(Data.ChatMenuData.RoomName)
-//line messages.qtpl:231
+//line messages.qtpl:232
qw422016.N().S(`" target="_top">
<input type="submit" value="Reload" />
</form>
</div>
`)
-//line messages.qtpl:235
+//line messages.qtpl:236
} else if !Data.ChatMenuData.PreventRefresh {
-//line messages.qtpl:235
+//line messages.qtpl:236
qw422016.N().S(` <div id="manualrefresh">
<h4>Manual refresh required</h4>
<form method="get">
@@ -375,1115 +376,1115 @@ func StreamMessages(qw422016 *qt422016.Writer, VERSION, CSRF, NullUsername strin
</form>
</div>
`)
-//line messages.qtpl:242
+//line messages.qtpl:243
}
-//line messages.qtpl:242
+//line messages.qtpl:243
qw422016.N().S(`
`)
-//line messages.qtpl:244
+//line messages.qtpl:245
if Data.Error != "" {
-//line messages.qtpl:244
- qw422016.N().S(` <a href="/api/v1/chat/messages/`)
//line messages.qtpl:245
+ qw422016.N().S(` <a href="/api/v1/chat/messages/`)
+//line messages.qtpl:246
qw422016.E().S(Data.ChatMenuData.RoomName)
-//line messages.qtpl:245
+//line messages.qtpl:246
qw422016.N().S(`" id="msg-err">× `)
-//line messages.qtpl:245
+//line messages.qtpl:246
qw422016.E().S(Data.Error)
-//line messages.qtpl:245
+//line messages.qtpl:246
qw422016.N().S(`</a>
`)
-//line messages.qtpl:246
+//line messages.qtpl:247
}
-//line messages.qtpl:246
+//line messages.qtpl:247
qw422016.N().S(`
`)
-//line messages.qtpl:248
+//line messages.qtpl:249
if Data.PmSound || Data.TaggedSound {
-//line messages.qtpl:248
+//line messages.qtpl:249
qw422016.N().S(` <audio src="/public/mp3/sound5.mp3" autoplay></audio>
`)
-//line messages.qtpl:250
+//line messages.qtpl:251
} else if Data.NewMessageSound {
-//line messages.qtpl:250
+//line messages.qtpl:251
qw422016.N().S(` <audio src="/public/mp3/sound6.mp3" autoplay></audio>
`)
-//line messages.qtpl:252
+//line messages.qtpl:253
}
-//line messages.qtpl:252
+//line messages.qtpl:253
qw422016.N().S(`
<div id="msgs">
`)
-//line messages.qtpl:255
+//line messages.qtpl:256
StreamRenderMessages(qw422016, AuthUser, Data, CSRF, NullUsername, nil, false)
-//line messages.qtpl:255
+//line messages.qtpl:256
qw422016.N().S(` </div>
`)
-//line messages.qtpl:258
+//line messages.qtpl:259
if !AuthUser.HideRightColumn {
-//line messages.qtpl:258
+//line messages.qtpl:259
qw422016.N().S(`
<div id="rgt-pane-w">
`)
-//line messages.qtpl:260
+//line messages.qtpl:261
StreamRenderRightColumn(qw422016, AuthUser, Data.ChatMenuData)
-//line messages.qtpl:260
+//line messages.qtpl:261
qw422016.N().S(` </div>
`)
-//line messages.qtpl:262
- }
//line messages.qtpl:263
+ }
+//line messages.qtpl:264
if AuthUser.CollectMetadata {
-//line messages.qtpl:263
+//line messages.qtpl:264
qw422016.N().S(` <div class="div_1"></div>
<div class="div_2"></div>
<div class="div_f0">a</div>
`)
-//line messages.qtpl:267
+//line messages.qtpl:268
}
-//line messages.qtpl:267
+//line messages.qtpl:268
qw422016.N().S(` </body>
</html>
`)
-//line messages.qtpl:270
+//line messages.qtpl:271
}
-//line messages.qtpl:270
+//line messages.qtpl:271
func WriteMessages(qq422016 qtio422016.Writer, VERSION, CSRF, NullUsername string, AuthUser *database.User, Data ChatMessagesData) {
-//line messages.qtpl:270
+//line messages.qtpl:271
qw422016 := qt422016.AcquireWriter(qq422016)
-//line messages.qtpl:270
+//line messages.qtpl:271
StreamMessages(qw422016, VERSION, CSRF, NullUsername, AuthUser, Data)
-//line messages.qtpl:270
+//line messages.qtpl:271
qt422016.ReleaseWriter(qw422016)
-//line messages.qtpl:270
+//line messages.qtpl:271
}
-//line messages.qtpl:270
+//line messages.qtpl:271
func Messages(VERSION, CSRF, NullUsername string, AuthUser *database.User, Data ChatMessagesData) string {
-//line messages.qtpl:270
+//line messages.qtpl:271
qb422016 := qt422016.AcquireByteBuffer()
-//line messages.qtpl:270
+//line messages.qtpl:271
WriteMessages(qb422016, VERSION, CSRF, NullUsername, AuthUser, Data)
-//line messages.qtpl:270
+//line messages.qtpl:271
qs422016 := string(qb422016.B)
-//line messages.qtpl:270
+//line messages.qtpl:271
qt422016.ReleaseByteBuffer(qb422016)
-//line messages.qtpl:270
+//line messages.qtpl:271
return qs422016
-//line messages.qtpl:270
+//line messages.qtpl:271
}
-//line messages.qtpl:273
+//line messages.qtpl:274
func StreamRenderRightColumn(qw422016 *qt422016.Writer, AuthUser *database.User, Data ChatMenuData) {
-//line messages.qtpl:273
+//line messages.qtpl:274
qw422016.N().S(`<div id="rgt-pane">
<div class="mb-20px">
<div class="rgt-title">Inbox (<a href="/settings/inbox" target="_top"`)
-//line messages.qtpl:276
+//line messages.qtpl:277
if Data.InboxCount > 0 {
-//line messages.qtpl:276
+//line messages.qtpl:277
qw422016.N().S(`class="notif"`)
-//line messages.qtpl:276
+//line messages.qtpl:277
}
-//line messages.qtpl:276
+//line messages.qtpl:277
qw422016.N().S(`>`)
-//line messages.qtpl:276
+//line messages.qtpl:277
qw422016.N().DL(Data.InboxCount)
-//line messages.qtpl:276
+//line messages.qtpl:277
qw422016.N().S(`</a>)</div>
</div>
<div class="mb-20px">
<div class="rgt-title">Rooms:</div>
`)
-//line messages.qtpl:280
- for _, e := range Data.OfficialRooms {
//line messages.qtpl:281
- if e.Name == "club" {
+ for _, e := range Data.OfficialRooms {
//line messages.qtpl:282
+ if e.Name == "club" {
+//line messages.qtpl:283
if AuthUser.IsClubMember {
-//line messages.qtpl:282
- qw422016.N().S(` <div><a href="/chat/club" target="_top"`)
//line messages.qtpl:283
+ qw422016.N().S(` <div><a href="/chat/club" target="_top"`)
+//line messages.qtpl:284
if e.IsUnread {
-//line messages.qtpl:283
+//line messages.qtpl:284
qw422016.N().S(` class="unread_room"`)
-//line messages.qtpl:283
+//line messages.qtpl:284
}
-//line messages.qtpl:283
+//line messages.qtpl:284
qw422016.N().S(`>#club</a></div>
`)
-//line messages.qtpl:284
- }
//line messages.qtpl:285
- } else if e.Name == "moderators" {
+ }
//line messages.qtpl:286
+ } else if e.Name == "moderators" {
+//line messages.qtpl:287
if AuthUser.IsModerator() {
-//line messages.qtpl:286
- qw422016.N().S(` <div><a href="/chat/moderators" target="_top"`)
//line messages.qtpl:287
+ qw422016.N().S(` <div><a href="/chat/moderators" target="_top"`)
+//line messages.qtpl:288
if e.IsUnread {
-//line messages.qtpl:287
+//line messages.qtpl:288
qw422016.N().S(` class="unread_room"`)
-//line messages.qtpl:287
+//line messages.qtpl:288
}
-//line messages.qtpl:287
+//line messages.qtpl:288
qw422016.N().S(`>#moderators</a></div>
`)
-//line messages.qtpl:288
- }
//line messages.qtpl:289
+ }
+//line messages.qtpl:290
} else {
-//line messages.qtpl:289
- qw422016.N().S(` <div><a href="/chat/`)
//line messages.qtpl:290
+ qw422016.N().S(` <div><a href="/chat/`)
+//line messages.qtpl:291
qw422016.E().S(e.Name)
-//line messages.qtpl:290
+//line messages.qtpl:291
qw422016.N().S(`" target="_top"`)
-//line messages.qtpl:290
+//line messages.qtpl:291
if e.IsUnread {
-//line messages.qtpl:290
+//line messages.qtpl:291
qw422016.N().S(` class="unread_room"`)
-//line messages.qtpl:290
+//line messages.qtpl:291
}
-//line messages.qtpl:290
+//line messages.qtpl:291
qw422016.N().S(`>#`)
-//line messages.qtpl:290
+//line messages.qtpl:291
qw422016.E().S(e.Name)
-//line messages.qtpl:290
+//line messages.qtpl:291
qw422016.N().S(`</a></div>
`)
-//line messages.qtpl:291
- }
//line messages.qtpl:292
- }
+ }
//line messages.qtpl:293
+ }
+//line messages.qtpl:294
if len(Data.SubscribedRooms) > 0 {
-//line messages.qtpl:293
+//line messages.qtpl:294
qw422016.N().S(` <div class="mt-10px"></div>
`)
-//line messages.qtpl:295
+//line messages.qtpl:296
for _, e := range Data.SubscribedRooms {
-//line messages.qtpl:295
- qw422016.N().S(` <div><a href="/chat/`)
//line messages.qtpl:296
+ qw422016.N().S(` <div><a href="/chat/`)
+//line messages.qtpl:297
qw422016.E().S(e.Name)
-//line messages.qtpl:296
+//line messages.qtpl:297
qw422016.N().S(`" target="_top"`)
-//line messages.qtpl:296
+//line messages.qtpl:297
if e.IsUnread {
-//line messages.qtpl:296
+//line messages.qtpl:297
qw422016.N().S(` class="unread_room"`)
-//line messages.qtpl:296
+//line messages.qtpl:297
}
-//line messages.qtpl:296
+//line messages.qtpl:297
qw422016.N().S(`>#`)
-//line messages.qtpl:296
+//line messages.qtpl:297
qw422016.E().S(e.Name)
-//line messages.qtpl:296
+//line messages.qtpl:297
qw422016.N().S(`</a></div>
`)
-//line messages.qtpl:297
- }
//line messages.qtpl:298
+ }
+//line messages.qtpl:299
}
-//line messages.qtpl:298
+//line messages.qtpl:299
qw422016.N().S(` <div class="mt-5px"><a href="/rooms" target="_top">[...]</a></div>
</div>
<div class="mb-20px">
<div class="rgt-title">In this room:</div>
`)
-//line messages.qtpl:303
+//line messages.qtpl:304
for _, e := range Data.Members {
-//line messages.qtpl:303
- qw422016.N().S(` `)
//line messages.qtpl:304
+ qw422016.N().S(` `)
+//line messages.qtpl:305
StreamMember(qw422016, AuthUser, Data, e)
-//line messages.qtpl:304
+//line messages.qtpl:305
qw422016.N().S(`
`)
-//line messages.qtpl:305
+//line messages.qtpl:306
}
-//line messages.qtpl:305
+//line messages.qtpl:306
qw422016.N().S(` </div>
`)
-//line messages.qtpl:307
+//line messages.qtpl:308
if Data.VisibleMemberInChat || AuthUser.DisplayHellbanned {
-//line messages.qtpl:307
+//line messages.qtpl:308
qw422016.N().S(` <div class="mb-30px">
`)
-//line messages.qtpl:309
+//line messages.qtpl:310
if len(Data.MembersInChat) > 0 {
-//line messages.qtpl:309
+//line messages.qtpl:310
qw422016.N().S(` <div class="rgt-title">In other rooms:</div>
`)
-//line messages.qtpl:311
+//line messages.qtpl:312
for _, e := range Data.MembersInChat {
-//line messages.qtpl:311
- qw422016.N().S(` `)
//line messages.qtpl:312
+ qw422016.N().S(` `)
+//line messages.qtpl:313
StreamMember(qw422016, AuthUser, Data, e)
-//line messages.qtpl:312
+//line messages.qtpl:313
qw422016.N().S(`
`)
-//line messages.qtpl:313
- }
//line messages.qtpl:314
+ }
+//line messages.qtpl:315
}
-//line messages.qtpl:314
+//line messages.qtpl:315
qw422016.N().S(` </div>
`)
-//line messages.qtpl:316
+//line messages.qtpl:317
}
-//line messages.qtpl:316
+//line messages.qtpl:317
qw422016.N().S(`</div>
`)
-//line messages.qtpl:318
+//line messages.qtpl:319
}
-//line messages.qtpl:318
+//line messages.qtpl:319
func WriteRenderRightColumn(qq422016 qtio422016.Writer, AuthUser *database.User, Data ChatMenuData) {
-//line messages.qtpl:318
+//line messages.qtpl:319
qw422016 := qt422016.AcquireWriter(qq422016)
-//line messages.qtpl:318
+//line messages.qtpl:319
StreamRenderRightColumn(qw422016, AuthUser, Data)
-//line messages.qtpl:318
+//line messages.qtpl:319
qt422016.ReleaseWriter(qw422016)
-//line messages.qtpl:318
+//line messages.qtpl:319
}
-//line messages.qtpl:318
+//line messages.qtpl:319
func RenderRightColumn(AuthUser *database.User, Data ChatMenuData) string {
-//line messages.qtpl:318
+//line messages.qtpl:319
qb422016 := qt422016.AcquireByteBuffer()
-//line messages.qtpl:318
+//line messages.qtpl:319
WriteRenderRightColumn(qb422016, AuthUser, Data)
-//line messages.qtpl:318
+//line messages.qtpl:319
qs422016 := string(qb422016.B)
-//line messages.qtpl:318
+//line messages.qtpl:319
qt422016.ReleaseByteBuffer(qb422016)
-//line messages.qtpl:318
+//line messages.qtpl:319
return qs422016
-//line messages.qtpl:318
+//line messages.qtpl:319
}
-//line messages.qtpl:320
+//line messages.qtpl:321
func StreamRenderMessages(qw422016 *qt422016.Writer, AuthUser database.IUserRenderMessage, Data ChatMessagesData, CSRF, NullUsername string, readMarkerRev *int, isEdit bool) {
-//line messages.qtpl:322
+//line messages.qtpl:323
baseTopBarURL := "/api/v1/chat/top-bar/" + Data.ChatMenuData.RoomName
readMarkerRendered := false
isFirstMsg := true
-//line messages.qtpl:325
+//line messages.qtpl:326
qw422016.N().S(` <style>#btn_delete_useless:active { background-image: url('/api/v1/chat/messages/delete/useless'); }</style>
`)
-//line messages.qtpl:327
- for idx, e := range Data.Messages {
//line messages.qtpl:328
+ for idx, e := range Data.Messages {
+//line messages.qtpl:329
StreamRenderMessage(qw422016, idx, e, AuthUser, Data, baseTopBarURL, &readMarkerRendered, &isFirstMsg, CSRF, NullUsername, readMarkerRev, isEdit)
-//line messages.qtpl:328
- qw422016.N().S(` `)
//line messages.qtpl:329
+ qw422016.N().S(` `)
+//line messages.qtpl:330
}
-//line messages.qtpl:329
+//line messages.qtpl:330
qw422016.N().S(`
`)
-//line messages.qtpl:330
+//line messages.qtpl:331
if len(Data.Messages) == 0 {
-//line messages.qtpl:330
+//line messages.qtpl:331
qw422016.N().S(`
<div id="no-msg"><em>No message yet</em></div>
`)
-//line messages.qtpl:332
+//line messages.qtpl:333
}
-//line messages.qtpl:332
+//line messages.qtpl:333
qw422016.N().S(`
`)
-//line messages.qtpl:333
+//line messages.qtpl:334
}
-//line messages.qtpl:333
+//line messages.qtpl:334
func WriteRenderMessages(qq422016 qtio422016.Writer, AuthUser database.IUserRenderMessage, Data ChatMessagesData, CSRF, NullUsername string, readMarkerRev *int, isEdit bool) {
-//line messages.qtpl:333
+//line messages.qtpl:334
qw422016 := qt422016.AcquireWriter(qq422016)
-//line messages.qtpl:333
+//line messages.qtpl:334
StreamRenderMessages(qw422016, AuthUser, Data, CSRF, NullUsername, readMarkerRev, isEdit)
-//line messages.qtpl:333
+//line messages.qtpl:334
qt422016.ReleaseWriter(qw422016)
-//line messages.qtpl:333
+//line messages.qtpl:334
}
-//line messages.qtpl:333
+//line messages.qtpl:334
func RenderMessages(AuthUser database.IUserRenderMessage, Data ChatMessagesData, CSRF, NullUsername string, readMarkerRev *int, isEdit bool) string {
-//line messages.qtpl:333
+//line messages.qtpl:334
qb422016 := qt422016.AcquireByteBuffer()
-//line messages.qtpl:333
+//line messages.qtpl:334
WriteRenderMessages(qb422016, AuthUser, Data, CSRF, NullUsername, readMarkerRev, isEdit)
-//line messages.qtpl:333
+//line messages.qtpl:334
qs422016 := string(qb422016.B)
-//line messages.qtpl:333
+//line messages.qtpl:334
qt422016.ReleaseByteBuffer(qb422016)
-//line messages.qtpl:333
+//line messages.qtpl:334
return qs422016
-//line messages.qtpl:333
+//line messages.qtpl:334
}
-//line messages.qtpl:335
+//line messages.qtpl:336
func StreamRenderMessage(qw422016 *qt422016.Writer, idx int, e database.ChatMessage, AuthUser database.IUserRenderMessage,
Data ChatMessagesData, baseTopBarURL string, readMarkerRendered, isFirstMsg *bool, CSRF, NullUsername string, readMarkerRev *int, isEdit bool) {
-//line messages.qtpl:337
- if e.UserCanSee(AuthUser) {
//line messages.qtpl:338
+ if e.UserCanSee(AuthUser) {
+//line messages.qtpl:339
if AuthUser.GetChatReadMarkerEnabled() && e.CreatedAt.Before(Data.ReadMarker.ReadAt) && !*readMarkerRendered && !isEdit {
-//line messages.qtpl:338
+//line messages.qtpl:339
qw422016.N().S(`
<div class="read-marker read-marker-0"`)
-//line messages.qtpl:339
+//line messages.qtpl:340
if idx == 0 {
-//line messages.qtpl:339
+//line messages.qtpl:340
qw422016.N().S(` style="display:none;"`)
-//line messages.qtpl:339
+//line messages.qtpl:340
}
-//line messages.qtpl:339
+//line messages.qtpl:340
qw422016.N().S(`></div>
`)
-//line messages.qtpl:340
+//line messages.qtpl:341
*readMarkerRendered = true
-//line messages.qtpl:341
+//line messages.qtpl:342
} else if AuthUser.GetChatReadMarkerEnabled() && e.CreatedAt.After(Data.ReadMarker.ReadAt) && !*readMarkerRendered && isEdit && readMarkerRev != nil {
-//line messages.qtpl:341
- qw422016.N().S(` <style>.read-marker-`)
//line messages.qtpl:342
+ qw422016.N().S(` <style>.read-marker-`)
+//line messages.qtpl:343
qw422016.N().D((*readMarkerRev))
-//line messages.qtpl:342
+//line messages.qtpl:343
qw422016.N().S(`{display:none !important;}</style>
`)
-//line messages.qtpl:343
+//line messages.qtpl:344
*readMarkerRev++
-//line messages.qtpl:343
- qw422016.N().S(` <div class="read-marker read-marker-`)
//line messages.qtpl:344
+ qw422016.N().S(` <div class="read-marker read-marker-`)
+//line messages.qtpl:345
qw422016.N().D(*readMarkerRev)
-//line messages.qtpl:344
+//line messages.qtpl:345
qw422016.N().S(`"></div>
`)
-//line messages.qtpl:345
+//line messages.qtpl:346
*readMarkerRendered = true
-//line messages.qtpl:345
- qw422016.N().S(` `)
//line messages.qtpl:346
+ qw422016.N().S(` `)
+//line messages.qtpl:347
}
-//line messages.qtpl:346
+//line messages.qtpl:347
qw422016.N().S(`
<div id="msgid-`)
-//line messages.qtpl:347
+//line messages.qtpl:348
qw422016.E().S(e.UUID)
-//line messages.qtpl:347
+//line messages.qtpl:348
qw422016.N().S(`" class="msgidc-`)
-//line messages.qtpl:347
+//line messages.qtpl:348
qw422016.E().S(e.UUID)
-//line messages.qtpl:347
+//line messages.qtpl:348
qw422016.N().S(`-`)
-//line messages.qtpl:347
+//line messages.qtpl:348
qw422016.N().DL(e.Rev)
-//line messages.qtpl:347
+//line messages.qtpl:348
qw422016.N().S(` msg
`)
-//line messages.qtpl:348
+//line messages.qtpl:349
if (e.User.IsHellbanned || e.IsHellbanned) && AuthUser.GetDisplayHellbanned() {
-//line messages.qtpl:348
+//line messages.qtpl:349
qw422016.N().S(` hb-row
`)
-//line messages.qtpl:349
+//line messages.qtpl:350
} else if AuthUser.GetID() == e.User.ID && AuthUser.GetHighlightOwnMessages() {
-//line messages.qtpl:349
+//line messages.qtpl:350
qw422016.N().S(` own-highlight`)
-//line messages.qtpl:349
+//line messages.qtpl:350
}
-//line messages.qtpl:349
+//line messages.qtpl:350
qw422016.N().S(` ">
`)
-//line messages.qtpl:351
- if e.UserCanDelete(AuthUser) {
//line messages.qtpl:352
- if AuthUser.GetDisplayDeleteButton() {
+ if e.UserCanDelete(AuthUser) {
//line messages.qtpl:353
+ if AuthUser.GetDisplayDeleteButton() {
+//line messages.qtpl:354
if e.TooOldToDelete() {
-//line messages.qtpl:353
- qw422016.N().S(` <button id="btn_delete_`)
//line messages.qtpl:354
+ qw422016.N().S(` <button id="btn_delete_`)
+//line messages.qtpl:355
qw422016.E().S(e.UUID)
-//line messages.qtpl:354
+//line messages.qtpl:355
qw422016.N().S(`" class="mod-btn delete_msg_btn f-orange-clr" title="delete"></button>
`)
-//line messages.qtpl:355
+//line messages.qtpl:356
} else {
-//line messages.qtpl:355
- qw422016.N().S(` <button id="btn_delete_`)
//line messages.qtpl:356
+ qw422016.N().S(` <button id="btn_delete_`)
+//line messages.qtpl:357
qw422016.E().S(e.UUID)
-//line messages.qtpl:356
+//line messages.qtpl:357
qw422016.N().S(`" class="mod-btn delete_msg_btn" title="delete"
style="
`)
-//line messages.qtpl:358
- if string(e.User.Username) != NullUsername {
//line messages.qtpl:359
+ if string(e.User.Username) != NullUsername {
+//line messages.qtpl:360
if (AuthUser.IsModerator() && e.UserID != AuthUser.GetID()) || AuthUser.GetIsAdmin() || e.IsRoomOwner(AuthUser.GetID()) {
-//line messages.qtpl:359
- qw422016.N().S(` animation: `)
//line messages.qtpl:360
+ qw422016.N().S(` animation: `)
+//line messages.qtpl:361
qw422016.N().DL(e.DeleteSecondsRemaining())
-//line messages.qtpl:360
+//line messages.qtpl:361
qw422016.N().S(`s 1s forwards orange_btn;
`)
-//line messages.qtpl:361
+//line messages.qtpl:362
} else {
-//line messages.qtpl:361
- qw422016.N().S(` animation: `)
//line messages.qtpl:362
+ qw422016.N().S(` animation: `)
+//line messages.qtpl:363
qw422016.N().DL(e.DeleteSecondsRemaining())
-//line messages.qtpl:362
+//line messages.qtpl:363
qw422016.N().S(`s 1s forwards hide_btn;
`)
-//line messages.qtpl:363
- }
//line messages.qtpl:364
+ }
+//line messages.qtpl:365
}
-//line messages.qtpl:364
+//line messages.qtpl:365
qw422016.N().S(` "
></button>
`)
-//line messages.qtpl:367
+//line messages.qtpl:368
}
-//line messages.qtpl:367
- qw422016.N().S(` <style>#btn_delete_`)
//line messages.qtpl:368
+ qw422016.N().S(` <style>#btn_delete_`)
+//line messages.qtpl:369
qw422016.E().S(e.UUID)
-//line messages.qtpl:368
+//line messages.qtpl:369
qw422016.N().S(`:active { background-image: url('/api/v1/chat/messages/delete/`)
-//line messages.qtpl:368
+//line messages.qtpl:369
qw422016.E().S(e.UUID)
-//line messages.qtpl:368
+//line messages.qtpl:369
qw422016.N().S(`'); }</style>
`)
-//line messages.qtpl:369
- }
//line messages.qtpl:370
- if AuthUser.IsModerator() {
+ }
//line messages.qtpl:371
- if !e.OwnMessage(AuthUser.GetID()) {
+ if AuthUser.IsModerator() {
//line messages.qtpl:372
- if AuthUser.GetDisplayHellbanButton() {
+ if !e.OwnMessage(AuthUser.GetID()) {
//line messages.qtpl:373
+ if AuthUser.GetDisplayHellbanButton() {
+//line messages.qtpl:374
if string(e.User.Username) == NullUsername {
-//line messages.qtpl:373
+//line messages.qtpl:374
qw422016.N().S(` <div class="spacer16"></div>
`)
-//line messages.qtpl:375
- } else {
//line messages.qtpl:376
+ } else {
+//line messages.qtpl:377
if e.User.IsHellbanned {
-//line messages.qtpl:376
- qw422016.N().S(` <form method="post" action="/api/v1/users/`)
//line messages.qtpl:377
+ qw422016.N().S(` <form method="post" action="/api/v1/users/`)
+//line messages.qtpl:378
qw422016.E().S(e.UserID.String())
-//line messages.qtpl:377
+//line messages.qtpl:378
qw422016.N().S(`/unhellban" class="d-inline">
<input type="hidden" name="csrf" value="`)
-//line messages.qtpl:378
+//line messages.qtpl:379
qw422016.E().S(CSRF)
-//line messages.qtpl:378
+//line messages.qtpl:379
qw422016.N().S(`" />
<button class="mod-btn hb_btn f-orange-clr line-through" title="unhellban"></button>
</form>
`)
-//line messages.qtpl:381
+//line messages.qtpl:382
} else {
-//line messages.qtpl:381
- qw422016.N().S(` <form method="post" action="/api/v1/users/`)
//line messages.qtpl:382
+ qw422016.N().S(` <form method="post" action="/api/v1/users/`)
+//line messages.qtpl:383
qw422016.E().S(e.UserID.String())
-//line messages.qtpl:382
+//line messages.qtpl:383
qw422016.N().S(`/hellban" class="d-inline">
<input type="hidden" name="csrf" value="`)
-//line messages.qtpl:383
+//line messages.qtpl:384
qw422016.E().S(CSRF)
-//line messages.qtpl:383
+//line messages.qtpl:384
qw422016.N().S(`" />
<button class="mod-btn hb_btn f-orange-clr" title="hellban"></button>
</form>
`)
-//line messages.qtpl:386
- }
//line messages.qtpl:387
- }
+ }
//line messages.qtpl:388
- }
+ }
//line messages.qtpl:389
+ }
+//line messages.qtpl:390
if AuthUser.GetDisplayKickButton() {
-//line messages.qtpl:389
- qw422016.N().S(` <form method="post" action="/api/v1/users/`)
//line messages.qtpl:390
+ qw422016.N().S(` <form method="post" action="/api/v1/users/`)
+//line messages.qtpl:391
qw422016.E().S(e.UserID.String())
-//line messages.qtpl:390
+//line messages.qtpl:391
qw422016.N().S(`/kick" class="d-inline">
<input type="hidden" name="csrf" value="`)
-//line messages.qtpl:391
+//line messages.qtpl:392
qw422016.E().S(CSRF)
-//line messages.qtpl:391
+//line messages.qtpl:392
qw422016.N().S(`" />
<button class="mod-btn k_btn f-orange-clr" title="kick"></button>
</form>
`)
-//line messages.qtpl:394
- }
//line messages.qtpl:395
- } else {
+ }
//line messages.qtpl:396
+ } else {
+//line messages.qtpl:397
if AuthUser.GetDisplayKickButton() && AuthUser.GetDisplayHellbanButton() {
-//line messages.qtpl:396
+//line messages.qtpl:397
qw422016.N().S(` <div class="spacer36"></div>
`)
-//line messages.qtpl:398
+//line messages.qtpl:399
} else if AuthUser.GetDisplayKickButton() || AuthUser.GetDisplayHellbanButton() {
-//line messages.qtpl:398
+//line messages.qtpl:399
qw422016.N().S(` <div class="spacer16"></div>
`)
-//line messages.qtpl:400
- }
//line messages.qtpl:401
- }
+ }
//line messages.qtpl:402
- }
+ }
//line messages.qtpl:403
- } else {
+ }
//line messages.qtpl:404
+ } else {
+//line messages.qtpl:405
if Data.NbButtons == 3 {
-//line messages.qtpl:404
+//line messages.qtpl:405
qw422016.N().S(` <div class="spacer56"></div>
`)
-//line messages.qtpl:406
+//line messages.qtpl:407
} else if Data.NbButtons == 2 {
-//line messages.qtpl:406
+//line messages.qtpl:407
qw422016.N().S(` <div class="spacer36"></div>
`)
-//line messages.qtpl:408
+//line messages.qtpl:409
} else if Data.NbButtons == 1 {
-//line messages.qtpl:408
+//line messages.qtpl:409
qw422016.N().S(` <div class="spacer16"></div>
`)
-//line messages.qtpl:410
- }
//line messages.qtpl:411
- }
+ }
//line messages.qtpl:412
+ }
+//line messages.qtpl:413
if !Data.HideTimestamps {
-//line messages.qtpl:412
- qw422016.N().S(` <a href="`)
//line messages.qtpl:413
+ qw422016.N().S(` <a href="`)
+//line messages.qtpl:414
qw422016.E().S(baseTopBarURL)
-//line messages.qtpl:413
+//line messages.qtpl:414
qw422016.N().S(`?quote=`)
-//line messages.qtpl:413
+//line messages.qtpl:414
qw422016.E().S(e.UUID)
-//line messages.qtpl:413
+//line messages.qtpl:414
streamunesc(qw422016, Data.TopBarQueryParams)
-//line messages.qtpl:413
+//line messages.qtpl:414
qw422016.N().S(`" target="iframe1" class="date date-link" title="`)
-//line messages.qtpl:413
+//line messages.qtpl:414
qw422016.E().S(e.CreatedAt.Format("01-02 15:04:05"))
-//line messages.qtpl:413
+//line messages.qtpl:414
if *isFirstMsg {
-//line messages.qtpl:413
+//line messages.qtpl:414
qw422016.N().S(` (`)
-//line messages.qtpl:413
+//line messages.qtpl:414
qw422016.E().S(humanize.Time(e.CreatedAt))
-//line messages.qtpl:413
+//line messages.qtpl:414
qw422016.N().S(`)`)
-//line messages.qtpl:413
+//line messages.qtpl:414
}
-//line messages.qtpl:413
+//line messages.qtpl:414
qw422016.N().S(`">`)
-//line messages.qtpl:413
+//line messages.qtpl:414
qw422016.E().S(e.CreatedAt.Format(AuthUser.GetDateFormat()))
-//line messages.qtpl:413
+//line messages.qtpl:414
qw422016.N().S(`</a>
`)
-//line messages.qtpl:414
+//line messages.qtpl:415
*isFirstMsg = false
-//line messages.qtpl:414
+//line messages.qtpl:415
qw422016.N().S(`
`)
-//line messages.qtpl:415
+//line messages.qtpl:416
}
-//line messages.qtpl:415
- qw422016.N().S(` <a href="/u/`)
//line messages.qtpl:416
+ qw422016.N().S(` <a href="/u/`)
+//line messages.qtpl:417
qw422016.E().S(string(e.GetProfile(AuthUser.GetID())))
-//line messages.qtpl:416
+//line messages.qtpl:417
qw422016.N().S(`" target="_blank" class="f-def-clr">-</a>
`)
-//line messages.qtpl:417
+//line messages.qtpl:418
if e.System {
-//line messages.qtpl:417
- qw422016.N().S(` <span class="sysmsg">`)
//line messages.qtpl:418
+ qw422016.N().S(` <span class="sysmsg">`)
+//line messages.qtpl:419
streamunesc(qw422016, e.Message)
-//line messages.qtpl:418
+//line messages.qtpl:419
qw422016.N().S(`</span>
`)
-//line messages.qtpl:419
- } else {
//line messages.qtpl:420
+ } else {
+//line messages.qtpl:421
if e.Moderators {
-//line messages.qtpl:420
+//line messages.qtpl:421
qw422016.N().S(`<span class="sysmsg">[<a href="`)
-//line messages.qtpl:420
+//line messages.qtpl:421
qw422016.E().S(baseTopBarURL)
-//line messages.qtpl:420
+//line messages.qtpl:421
qw422016.N().S(`?m=1`)
-//line messages.qtpl:420
+//line messages.qtpl:421
streamunesc(qw422016, Data.TopBarQueryParams)
-//line messages.qtpl:420
+//line messages.qtpl:421
qw422016.N().S(`" target="iframe1" class="sysmsg f-white-clr">M</a>]</span> `)
-//line messages.qtpl:420
- }
//line messages.qtpl:421
+ }
+//line messages.qtpl:422
if e.GroupID != nil {
-//line messages.qtpl:421
+//line messages.qtpl:422
qw422016.N().S(`<span class="sysmsg">[<a href="`)
-//line messages.qtpl:421
+//line messages.qtpl:422
qw422016.E().S(baseTopBarURL)
-//line messages.qtpl:421
+//line messages.qtpl:422
qw422016.N().S(`?g=`)
-//line messages.qtpl:421
+//line messages.qtpl:422
qw422016.E().S(e.Group.Name)
-//line messages.qtpl:421
+//line messages.qtpl:422
streamunesc(qw422016, Data.TopBarQueryParams)
-//line messages.qtpl:421
+//line messages.qtpl:422
qw422016.N().S(`" target="iframe1" class="sysmsg f-white-clr">`)
-//line messages.qtpl:421
+//line messages.qtpl:422
qw422016.E().S(e.Group.Name)
-//line messages.qtpl:421
+//line messages.qtpl:422
qw422016.N().S(`</a>]</span> `)
-//line messages.qtpl:421
- }
//line messages.qtpl:422
+ }
+//line messages.qtpl:423
if e.ToUserID != nil {
-//line messages.qtpl:422
- qw422016.N().S(` [`)
//line messages.qtpl:423
+ qw422016.N().S(` [`)
+//line messages.qtpl:424
streamfromUsername(qw422016, AuthUser, Data, e, baseTopBarURL)
-//line messages.qtpl:423
+//line messages.qtpl:424
qw422016.N().S(` →
`)
-//line messages.qtpl:425
+//line messages.qtpl:426
if e.ToUser.ID == AuthUser.GetID() {
-//line messages.qtpl:425
+//line messages.qtpl:426
qw422016.N().S(`<span `)
-//line messages.qtpl:425
+//line messages.qtpl:426
streamunesc(qw422016, e.ToUser.GenerateChatStyle())
-//line messages.qtpl:425
+//line messages.qtpl:426
qw422016.N().S(`>`)
-//line messages.qtpl:425
+//line messages.qtpl:426
qw422016.E().S(string(e.ToUser.Username))
-//line messages.qtpl:425
+//line messages.qtpl:426
qw422016.N().S(`</span>`)
-//line messages.qtpl:425
+//line messages.qtpl:426
} else {
-//line messages.qtpl:425
+//line messages.qtpl:426
qw422016.N().S(`<a `)
-//line messages.qtpl:425
+//line messages.qtpl:426
streamunesc(qw422016, e.ToUser.GenerateChatStyle())
-//line messages.qtpl:425
+//line messages.qtpl:426
qw422016.N().S(` href="`)
-//line messages.qtpl:425
+//line messages.qtpl:426
qw422016.E().S(baseTopBarURL)
-//line messages.qtpl:425
+//line messages.qtpl:426
qw422016.N().S(`?pm=`)
-//line messages.qtpl:425
+//line messages.qtpl:426
qw422016.E().S(string(e.ToUser.Username))
-//line messages.qtpl:425
+//line messages.qtpl:426
qw422016.E().S(Data.TopBarQueryParams)
-//line messages.qtpl:425
+//line messages.qtpl:426
qw422016.N().S(`" target="iframe1">`)
-//line messages.qtpl:425
+//line messages.qtpl:426
qw422016.E().S(string(e.ToUser.Username))
-//line messages.qtpl:425
+//line messages.qtpl:426
qw422016.N().S(`</a>`)
-//line messages.qtpl:425
+//line messages.qtpl:426
}
-//line messages.qtpl:425
+//line messages.qtpl:426
qw422016.N().S(`] -
`)
-//line messages.qtpl:426
- } else {
//line messages.qtpl:427
- streamfromUsername(qw422016, AuthUser, Data, e, baseTopBarURL)
+ } else {
//line messages.qtpl:428
- if !e.IsMe() {
+ streamfromUsername(qw422016, AuthUser, Data, e, baseTopBarURL)
//line messages.qtpl:429
+ if !e.IsMe() {
+//line messages.qtpl:430
if AuthUser.CanSeeHB() && (e.IsHellbanned || e.User.IsHellbanned) && (e.ToUserID == nil) {
-//line messages.qtpl:429
- qw422016.N().S(` <a href="`)
//line messages.qtpl:430
+ qw422016.N().S(` <a href="`)
+//line messages.qtpl:431
qw422016.E().S(baseTopBarURL)
-//line messages.qtpl:430
+//line messages.qtpl:431
qw422016.N().S(`?hbm=1`)
-//line messages.qtpl:430
+//line messages.qtpl:431
streamunesc(qw422016, Data.TopBarQueryParams)
-//line messages.qtpl:430
+//line messages.qtpl:431
qw422016.N().S(`" target="iframe1" class="f-def-clr">-</a>
`)
-//line messages.qtpl:431
+//line messages.qtpl:432
} else {
-//line messages.qtpl:431
+//line messages.qtpl:432
qw422016.N().S(` -
`)
-//line messages.qtpl:433
- }
//line messages.qtpl:434
- }
+ }
//line messages.qtpl:435
+ }
+//line messages.qtpl:436
}
-//line messages.qtpl:435
- qw422016.N().S(` <span `)
//line messages.qtpl:436
+ qw422016.N().S(` <span `)
+//line messages.qtpl:437
streamunesc(qw422016, e.User.GenerateChatStyle())
-//line messages.qtpl:436
+//line messages.qtpl:437
qw422016.N().S(`><span class="o-wrap">`)
-//line messages.qtpl:436
+//line messages.qtpl:437
qw422016.N().S(unesc(e.MsgToDisplay(AuthUser)))
-//line messages.qtpl:436
+//line messages.qtpl:437
qw422016.N().S(`</span></span>
`)
-//line messages.qtpl:437
+//line messages.qtpl:438
}
-//line messages.qtpl:437
+//line messages.qtpl:438
qw422016.N().S(` </div>
`)
-//line messages.qtpl:439
- }
//line messages.qtpl:440
+ }
+//line messages.qtpl:441
}
-//line messages.qtpl:440
+//line messages.qtpl:441
func WriteRenderMessage(qq422016 qtio422016.Writer, idx int, e database.ChatMessage, AuthUser database.IUserRenderMessage,
Data ChatMessagesData, baseTopBarURL string, readMarkerRendered, isFirstMsg *bool, CSRF, NullUsername string, readMarkerRev *int, isEdit bool) {
-//line messages.qtpl:440
+//line messages.qtpl:441
qw422016 := qt422016.AcquireWriter(qq422016)
-//line messages.qtpl:440
+//line messages.qtpl:441
StreamRenderMessage(qw422016, idx, e, AuthUser, Data, baseTopBarURL, readMarkerRendered, isFirstMsg, CSRF, NullUsername, readMarkerRev, isEdit)
-//line messages.qtpl:440
+//line messages.qtpl:441
qt422016.ReleaseWriter(qw422016)
-//line messages.qtpl:440
+//line messages.qtpl:441
}
-//line messages.qtpl:440
+//line messages.qtpl:441
func RenderMessage(idx int, e database.ChatMessage, AuthUser database.IUserRenderMessage,
Data ChatMessagesData, baseTopBarURL string, readMarkerRendered, isFirstMsg *bool, CSRF, NullUsername string, readMarkerRev *int, isEdit bool) string {
-//line messages.qtpl:440
+//line messages.qtpl:441
qb422016 := qt422016.AcquireByteBuffer()
-//line messages.qtpl:440
+//line messages.qtpl:441
WriteRenderMessage(qb422016, idx, e, AuthUser, Data, baseTopBarURL, readMarkerRendered, isFirstMsg, CSRF, NullUsername, readMarkerRev, isEdit)
-//line messages.qtpl:440
+//line messages.qtpl:441
qs422016 := string(qb422016.B)
-//line messages.qtpl:440
+//line messages.qtpl:441
qt422016.ReleaseByteBuffer(qb422016)
-//line messages.qtpl:440
+//line messages.qtpl:441
return qs422016
-//line messages.qtpl:440
+//line messages.qtpl:441
}
-//line messages.qtpl:443
+//line messages.qtpl:444
func StreamMember(qw422016 *qt422016.Writer, AuthUser *database.User, Data ChatMenuData, El managers.UserInfo) {
-//line messages.qtpl:443
+//line messages.qtpl:444
qw422016.N().S(`
`)
-//line messages.qtpl:444
+//line messages.qtpl:445
baseTopBarURL := "/api/v1/chat/top-bar/" + Data.RoomName
-//line messages.qtpl:445
+//line messages.qtpl:446
if El.Username == AuthUser.GetUsername() {
-//line messages.qtpl:445
+//line messages.qtpl:446
qw422016.N().S(` <div>
<span style="color: `)
-//line messages.qtpl:447
+//line messages.qtpl:448
qw422016.E().S(El.Color)
-//line messages.qtpl:447
+//line messages.qtpl:448
qw422016.N().S(`;">`)
-//line messages.qtpl:447
+//line messages.qtpl:448
qw422016.E().S(string(El.Username))
-//line messages.qtpl:447
+//line messages.qtpl:448
qw422016.N().S(`</span>
`)
-//line messages.qtpl:448
+//line messages.qtpl:449
if El.AfkIndicatorEnabled {
-//line messages.qtpl:448
+//line messages.qtpl:449
qw422016.N().S(` <small class="afk-indicator">afk</small>
`)
-//line messages.qtpl:450
+//line messages.qtpl:451
}
-//line messages.qtpl:450
+//line messages.qtpl:451
qw422016.N().S(` </div>
`)
-//line messages.qtpl:452
- } else if len(El.Username) > 0 {
//line messages.qtpl:453
+ } else if len(El.Username) > 0 {
+//line messages.qtpl:454
if !El.IsHellbanned || AuthUser.GetID() == El.UserID || (El.IsHellbanned && AuthUser.GetIsHellbanned()) || AuthUser.GetDisplayHellbanned() {
-//line messages.qtpl:453
+//line messages.qtpl:454
qw422016.N().S(` <div>
`)
-//line messages.qtpl:455
+//line messages.qtpl:456
tagType := "tag"
-//line messages.qtpl:456
- if AuthUser.CanSeeHB() && El.IsHellbanned {
//line messages.qtpl:457
+ if AuthUser.CanSeeHB() && El.IsHellbanned {
+//line messages.qtpl:458
tagType = "htag"
-//line messages.qtpl:458
- }
//line messages.qtpl:459
- qw422016.N().S(`<a href="`)
+ }
//line messages.qtpl:460
+ qw422016.N().S(`<a href="`)
+//line messages.qtpl:461
qw422016.E().S(baseTopBarURL)
-//line messages.qtpl:460
+//line messages.qtpl:461
qw422016.N().S(`?`)
-//line messages.qtpl:460
+//line messages.qtpl:461
qw422016.E().S(tagType)
-//line messages.qtpl:460
+//line messages.qtpl:461
qw422016.N().S(`=`)
-//line messages.qtpl:460
+//line messages.qtpl:461
qw422016.E().S(string(El.Username))
-//line messages.qtpl:460
+//line messages.qtpl:461
streamunesc(qw422016, Data.TopBarQueryParams)
-//line messages.qtpl:460
+//line messages.qtpl:461
qw422016.N().S(`"target="iframe1"`)
-//line messages.qtpl:462
+//line messages.qtpl:463
if El.IsHellbanned && AuthUser.GetDisplayHellbanned() {
-//line messages.qtpl:462
+//line messages.qtpl:463
qw422016.N().S(`class="hb-row"`)
-//line messages.qtpl:462
+//line messages.qtpl:463
}
-//line messages.qtpl:462
- qw422016.N().S(`style="color:`)
//line messages.qtpl:463
+ qw422016.N().S(`style="color:`)
+//line messages.qtpl:464
qw422016.E().S(El.Color)
-//line messages.qtpl:463
+//line messages.qtpl:464
qw422016.N().S(`;">`)
-//line messages.qtpl:463
+//line messages.qtpl:464
qw422016.E().S(string(El.Username[0]))
-//line messages.qtpl:463
- qw422016.N().S(`</a><a href="`)
//line messages.qtpl:464
+ qw422016.N().S(`</a><a href="`)
+//line messages.qtpl:465
qw422016.E().S(baseTopBarURL)
-//line messages.qtpl:464
+//line messages.qtpl:465
qw422016.N().S(`?pm=`)
-//line messages.qtpl:464
+//line messages.qtpl:465
qw422016.E().S(string(El.Username))
-//line messages.qtpl:464
+//line messages.qtpl:465
streamunesc(qw422016, Data.TopBarQueryParams)
-//line messages.qtpl:464
+//line messages.qtpl:465
qw422016.N().S(`"target="iframe1"`)
-//line messages.qtpl:466
+//line messages.qtpl:467
if El.IsHellbanned && AuthUser.GetDisplayHellbanned() {
-//line messages.qtpl:466
+//line messages.qtpl:467
qw422016.N().S(`class="hb-row"`)
-//line messages.qtpl:466
+//line messages.qtpl:467
}
-//line messages.qtpl:466
- qw422016.N().S(`style="color:`)
//line messages.qtpl:467
+ qw422016.N().S(`style="color:`)
+//line messages.qtpl:468
qw422016.E().S(El.Color)
-//line messages.qtpl:467
+//line messages.qtpl:468
qw422016.N().S(`;">`)
-//line messages.qtpl:467
+//line messages.qtpl:468
qw422016.E().S(string(El.Username[1 : len(El.Username)-1]))
-//line messages.qtpl:467
- qw422016.N().S(`</a><a href="/u/`)
//line messages.qtpl:468
+ qw422016.N().S(`</a><a href="/u/`)
+//line messages.qtpl:469
qw422016.E().S(string(El.Username))
-//line messages.qtpl:468
+//line messages.qtpl:469
qw422016.N().S(`"rel="noopener noreferrer" target="_blank"`)
-//line messages.qtpl:470
+//line messages.qtpl:471
if El.IsHellbanned && AuthUser.GetDisplayHellbanned() {
-//line messages.qtpl:470
+//line messages.qtpl:471
qw422016.N().S(`class="hb-row"`)
-//line messages.qtpl:470
+//line messages.qtpl:471
}
-//line messages.qtpl:470
- qw422016.N().S(`style="color:`)
//line messages.qtpl:471
+ qw422016.N().S(`style="color:`)
+//line messages.qtpl:472
qw422016.E().S(El.Color)
-//line messages.qtpl:471
+//line messages.qtpl:472
qw422016.N().S(`;">`)
-//line messages.qtpl:471
+//line messages.qtpl:472
qw422016.E().S(string(El.Username[len(El.Username)-1]))
-//line messages.qtpl:471
+//line messages.qtpl:472
qw422016.N().S(`</a>`)
-//line messages.qtpl:473
+//line messages.qtpl:474
if El.AfkIndicatorEnabled {
-//line messages.qtpl:473
+//line messages.qtpl:474
qw422016.N().S(` <small class="afk-indicator">afk</small>
`)
-//line messages.qtpl:475
+//line messages.qtpl:476
}
-//line messages.qtpl:475
+//line messages.qtpl:476
qw422016.N().S(` </div>
`)
-//line messages.qtpl:477
- }
//line messages.qtpl:478
- }
+ }
//line messages.qtpl:479
+ }
+//line messages.qtpl:480
}
-//line messages.qtpl:479
+//line messages.qtpl:480
func WriteMember(qq422016 qtio422016.Writer, AuthUser *database.User, Data ChatMenuData, El managers.UserInfo) {
-//line messages.qtpl:479
+//line messages.qtpl:480
qw422016 := qt422016.AcquireWriter(qq422016)
-//line messages.qtpl:479
+//line messages.qtpl:480
StreamMember(qw422016, AuthUser, Data, El)
-//line messages.qtpl:479
+//line messages.qtpl:480
qt422016.ReleaseWriter(qw422016)
-//line messages.qtpl:479
+//line messages.qtpl:480
}
-//line messages.qtpl:479
+//line messages.qtpl:480
func Member(AuthUser *database.User, Data ChatMenuData, El managers.UserInfo) string {
-//line messages.qtpl:479
+//line messages.qtpl:480
qb422016 := qt422016.AcquireByteBuffer()
-//line messages.qtpl:479
+//line messages.qtpl:480
WriteMember(qb422016, AuthUser, Data, El)
-//line messages.qtpl:479
+//line messages.qtpl:480
qs422016 := string(qb422016.B)
-//line messages.qtpl:479
+//line messages.qtpl:480
qt422016.ReleaseByteBuffer(qb422016)
-//line messages.qtpl:479
+//line messages.qtpl:480
return qs422016
-//line messages.qtpl:479
+//line messages.qtpl:480
}
-//line messages.qtpl:482
-func streamfromUsername(qw422016 *qt422016.Writer, AuthUser database.IUserRenderMessage, Data ChatMessagesData, El database.ChatMessage, baseTopBarURL string) {
//line messages.qtpl:483
+func streamfromUsername(qw422016 *qt422016.Writer, AuthUser database.IUserRenderMessage, Data ChatMessagesData, El database.ChatMessage, baseTopBarURL string) {
+//line messages.qtpl:484
tagType := "tag"
-//line messages.qtpl:484
- if El.ToUserID != nil {
//line messages.qtpl:485
+ if El.ToUserID != nil {
+//line messages.qtpl:486
tagType = "pm"
-//line messages.qtpl:486
- } else if AuthUser.CanSeeHB() && (El.IsHellbanned || El.User.IsHellbanned) {
//line messages.qtpl:487
+ } else if AuthUser.CanSeeHB() && (El.IsHellbanned || El.User.IsHellbanned) {
+//line messages.qtpl:488
tagType = "htag"
-//line messages.qtpl:488
- } else if AuthUser.IsModerator() && El.Moderators {
//line messages.qtpl:489
+ } else if AuthUser.IsModerator() && El.Moderators {
+//line messages.qtpl:490
tagType = "mtag"
-//line messages.qtpl:490
- }
//line messages.qtpl:491
- if El.User.ID == AuthUser.GetID() {
+ }
//line messages.qtpl:492
+ if El.User.ID == AuthUser.GetID() {
+//line messages.qtpl:493
if El.CanBeEdited() {
-//line messages.qtpl:492
+//line messages.qtpl:493
qw422016.N().S(`<a `)
-//line messages.qtpl:492
+//line messages.qtpl:493
streamunesc(qw422016, El.User.GenerateChatStyle())
-//line messages.qtpl:492
+//line messages.qtpl:493
qw422016.N().S(` href="`)
-//line messages.qtpl:492
+//line messages.qtpl:493
qw422016.E().S(baseTopBarURL)
-//line messages.qtpl:492
+//line messages.qtpl:493
qw422016.N().S(`?e=`)
-//line messages.qtpl:492
+//line messages.qtpl:493
qw422016.E().S(El.CreatedAt.Format("15:04:05"))
-//line messages.qtpl:492
+//line messages.qtpl:493
streamunesc(qw422016, Data.TopBarQueryParams)
-//line messages.qtpl:492
+//line messages.qtpl:493
qw422016.N().S(`" target="iframe1">`)
-//line messages.qtpl:492
+//line messages.qtpl:493
qw422016.E().S(string(El.User.Username))
-//line messages.qtpl:492
+//line messages.qtpl:493
qw422016.N().S(`</a>`)
-//line messages.qtpl:492
+//line messages.qtpl:493
} else {
-//line messages.qtpl:492
+//line messages.qtpl:493
qw422016.N().S(`<span `)
-//line messages.qtpl:492
+//line messages.qtpl:493
streamunesc(qw422016, El.User.GenerateChatStyle())
-//line messages.qtpl:492
+//line messages.qtpl:493
qw422016.N().S(`>`)
-//line messages.qtpl:492
+//line messages.qtpl:493
qw422016.E().S(string(El.User.Username))
-//line messages.qtpl:492
+//line messages.qtpl:493
qw422016.N().S(`</span>`)
-//line messages.qtpl:492
- }
//line messages.qtpl:493
+ }
+//line messages.qtpl:494
} else {
-//line messages.qtpl:493
+//line messages.qtpl:494
qw422016.N().S(`<a `)
-//line messages.qtpl:493
+//line messages.qtpl:494
streamunesc(qw422016, El.User.GenerateChatStyle())
-//line messages.qtpl:493
+//line messages.qtpl:494
qw422016.N().S(` href="`)
-//line messages.qtpl:493
+//line messages.qtpl:494
qw422016.E().S(baseTopBarURL)
-//line messages.qtpl:493
+//line messages.qtpl:494
qw422016.N().S(`?`)
-//line messages.qtpl:493
+//line messages.qtpl:494
qw422016.E().S(tagType)
-//line messages.qtpl:493
+//line messages.qtpl:494
qw422016.N().S(`=`)
-//line messages.qtpl:493
+//line messages.qtpl:494
qw422016.E().S(string(El.User.Username))
-//line messages.qtpl:493
+//line messages.qtpl:494
streamunesc(qw422016, Data.TopBarQueryParams)
-//line messages.qtpl:493
+//line messages.qtpl:494
qw422016.N().S(`" target="iframe1">`)
-//line messages.qtpl:493
+//line messages.qtpl:494
qw422016.E().S(string(El.User.Username))
-//line messages.qtpl:493
+//line messages.qtpl:494
qw422016.N().S(`</a>`)
-//line messages.qtpl:493
- }
//line messages.qtpl:494
+ }
+//line messages.qtpl:495
}
-//line messages.qtpl:494
+//line messages.qtpl:495
func writefromUsername(qq422016 qtio422016.Writer, AuthUser database.IUserRenderMessage, Data ChatMessagesData, El database.ChatMessage, baseTopBarURL string) {
-//line messages.qtpl:494
+//line messages.qtpl:495
qw422016 := qt422016.AcquireWriter(qq422016)
-//line messages.qtpl:494
+//line messages.qtpl:495
streamfromUsername(qw422016, AuthUser, Data, El, baseTopBarURL)
-//line messages.qtpl:494
+//line messages.qtpl:495
qt422016.ReleaseWriter(qw422016)
-//line messages.qtpl:494
+//line messages.qtpl:495
}
-//line messages.qtpl:494
+//line messages.qtpl:495
func fromUsername(AuthUser database.IUserRenderMessage, Data ChatMessagesData, El database.ChatMessage, baseTopBarURL string) string {
-//line messages.qtpl:494
+//line messages.qtpl:495
qb422016 := qt422016.AcquireByteBuffer()
-//line messages.qtpl:494
+//line messages.qtpl:495
writefromUsername(qb422016, AuthUser, Data, El, baseTopBarURL)
-//line messages.qtpl:494
+//line messages.qtpl:495
qs422016 := string(qb422016.B)
-//line messages.qtpl:494
+//line messages.qtpl:495
qt422016.ReleaseByteBuffer(qb422016)
-//line messages.qtpl:494
+//line messages.qtpl:495
return qs422016
-//line messages.qtpl:494
+//line messages.qtpl:495
}