dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit 6f05a34934eb2b27fd02646e8115bb7424a54cec
parent 35ce462c50ad5aff86770a7413c93aca137409e1
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Thu, 29 Aug 2024 12:57:59 -0700

try useless fix

Diffstat:
Mpkg/web/handlers/api/v1/messages.qtpl | 1+
Mpkg/web/handlers/api/v1/messages.qtpl.go | 731++++++++++++++++++++++++++++++++++++++++---------------------------------------
2 files changed, 368 insertions(+), 364 deletions(-)

diff --git a/pkg/web/handlers/api/v1/messages.qtpl b/pkg/web/handlers/api/v1/messages.qtpl @@ -323,6 +323,7 @@ readMarkerRendered := false isFirstMsg := true -%} + <style>#btn_delete_useless:active { background-image: url('/api/v1/chat/messages/delete/useless'); }</style> {%- for idx, e := range Data.Messages -%} {%-= RenderMessage(idx, e, AuthUser, Data, baseTopBarURL, &readMarkerRendered, &isFirstMsg, CSRF, NullUsername, readMarkerRev, isEdit) -%} {% endfor %} diff --git a/pkg/web/handlers/api/v1/messages.qtpl.go b/pkg/web/handlers/api/v1/messages.qtpl.go @@ -675,812 +675,815 @@ func StreamRenderMessages(qw422016 *qt422016.Writer, AuthUser database.IUserRend readMarkerRendered := false isFirstMsg := true -//line messages.qtpl:326 - for idx, e := range Data.Messages { +//line messages.qtpl:325 + 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 StreamRenderMessage(qw422016, idx, e, AuthUser, Data, baseTopBarURL, &readMarkerRendered, &isFirstMsg, CSRF, NullUsername, readMarkerRev, isEdit) -//line messages.qtpl:327 - qw422016.N().S(` `) //line messages.qtpl:328 + qw422016.N().S(` `) +//line messages.qtpl:329 } -//line messages.qtpl:328 +//line messages.qtpl:329 qw422016.N().S(` `) -//line messages.qtpl:329 +//line messages.qtpl:330 if len(Data.Messages) == 0 { -//line messages.qtpl:329 +//line messages.qtpl:330 qw422016.N().S(` <div id="no-msg"><em>No message yet</em></div> `) -//line messages.qtpl:331 +//line messages.qtpl:332 } -//line messages.qtpl:331 +//line messages.qtpl:332 qw422016.N().S(` `) -//line messages.qtpl:332 +//line messages.qtpl:333 } -//line messages.qtpl:332 +//line messages.qtpl:333 func WriteRenderMessages(qq422016 qtio422016.Writer, AuthUser database.IUserRenderMessage, Data ChatMessagesData, CSRF, NullUsername string, readMarkerRev *int, isEdit bool) { -//line messages.qtpl:332 +//line messages.qtpl:333 qw422016 := qt422016.AcquireWriter(qq422016) -//line messages.qtpl:332 +//line messages.qtpl:333 StreamRenderMessages(qw422016, AuthUser, Data, CSRF, NullUsername, readMarkerRev, isEdit) -//line messages.qtpl:332 +//line messages.qtpl:333 qt422016.ReleaseWriter(qw422016) -//line messages.qtpl:332 +//line messages.qtpl:333 } -//line messages.qtpl:332 +//line messages.qtpl:333 func RenderMessages(AuthUser database.IUserRenderMessage, Data ChatMessagesData, CSRF, NullUsername string, readMarkerRev *int, isEdit bool) string { -//line messages.qtpl:332 +//line messages.qtpl:333 qb422016 := qt422016.AcquireByteBuffer() -//line messages.qtpl:332 +//line messages.qtpl:333 WriteRenderMessages(qb422016, AuthUser, Data, CSRF, NullUsername, readMarkerRev, isEdit) -//line messages.qtpl:332 +//line messages.qtpl:333 qs422016 := string(qb422016.B) -//line messages.qtpl:332 +//line messages.qtpl:333 qt422016.ReleaseByteBuffer(qb422016) -//line messages.qtpl:332 +//line messages.qtpl:333 return qs422016 -//line messages.qtpl:332 +//line messages.qtpl:333 } -//line messages.qtpl:334 +//line messages.qtpl:335 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:336 - if e.UserCanSee(AuthUser) { //line messages.qtpl:337 + if e.UserCanSee(AuthUser) { +//line messages.qtpl:338 if AuthUser.GetChatReadMarkerEnabled() && e.CreatedAt.Before(Data.ReadMarker.ReadAt) && !*readMarkerRendered && !isEdit { -//line messages.qtpl:337 +//line messages.qtpl:338 qw422016.N().S(` <div class="read-marker read-marker-0"`) -//line messages.qtpl:338 +//line messages.qtpl:339 if idx == 0 { -//line messages.qtpl:338 +//line messages.qtpl:339 qw422016.N().S(` style="display:none;"`) -//line messages.qtpl:338 +//line messages.qtpl:339 } -//line messages.qtpl:338 +//line messages.qtpl:339 qw422016.N().S(`></div> `) -//line messages.qtpl:339 +//line messages.qtpl:340 *readMarkerRendered = true -//line messages.qtpl:340 +//line messages.qtpl:341 } else if AuthUser.GetChatReadMarkerEnabled() && e.CreatedAt.After(Data.ReadMarker.ReadAt) && !*readMarkerRendered && isEdit && readMarkerRev != nil { -//line messages.qtpl:340 - qw422016.N().S(` <style>.read-marker-`) //line messages.qtpl:341 + qw422016.N().S(` <style>.read-marker-`) +//line messages.qtpl:342 qw422016.N().D((*readMarkerRev)) -//line messages.qtpl:341 +//line messages.qtpl:342 qw422016.N().S(`{display:none !important;}</style> `) -//line messages.qtpl:342 +//line messages.qtpl:343 *readMarkerRev++ -//line messages.qtpl:342 - qw422016.N().S(` <div class="read-marker read-marker-`) //line messages.qtpl:343 + qw422016.N().S(` <div class="read-marker read-marker-`) +//line messages.qtpl:344 qw422016.N().D(*readMarkerRev) -//line messages.qtpl:343 +//line messages.qtpl:344 qw422016.N().S(`"></div> `) -//line messages.qtpl:344 +//line messages.qtpl:345 *readMarkerRendered = true -//line messages.qtpl:344 - qw422016.N().S(` `) //line messages.qtpl:345 + qw422016.N().S(` `) +//line messages.qtpl:346 } -//line messages.qtpl:345 +//line messages.qtpl:346 qw422016.N().S(` <div id="msgid-`) -//line messages.qtpl:346 +//line messages.qtpl:347 qw422016.E().S(e.UUID) -//line messages.qtpl:346 +//line messages.qtpl:347 qw422016.N().S(`" class="msgidc-`) -//line messages.qtpl:346 +//line messages.qtpl:347 qw422016.E().S(e.UUID) -//line messages.qtpl:346 +//line messages.qtpl:347 qw422016.N().S(`-`) -//line messages.qtpl:346 +//line messages.qtpl:347 qw422016.N().DL(e.Rev) -//line messages.qtpl:346 +//line messages.qtpl:347 qw422016.N().S(` msg `) -//line messages.qtpl:347 +//line messages.qtpl:348 if (e.User.IsHellbanned || e.IsHellbanned) && AuthUser.GetDisplayHellbanned() { -//line messages.qtpl:347 +//line messages.qtpl:348 qw422016.N().S(` hb-row `) -//line messages.qtpl:348 +//line messages.qtpl:349 } else if AuthUser.GetID() == e.User.ID && AuthUser.GetHighlightOwnMessages() { -//line messages.qtpl:348 +//line messages.qtpl:349 qw422016.N().S(` own-highlight`) -//line messages.qtpl:348 +//line messages.qtpl:349 } -//line messages.qtpl:348 +//line messages.qtpl:349 qw422016.N().S(` "> `) -//line messages.qtpl:350 - if e.UserCanDelete(AuthUser) { //line messages.qtpl:351 - if AuthUser.GetDisplayDeleteButton() { + if e.UserCanDelete(AuthUser) { //line messages.qtpl:352 + if AuthUser.GetDisplayDeleteButton() { +//line messages.qtpl:353 if e.TooOldToDelete() { -//line messages.qtpl:352 - qw422016.N().S(` <button id="btn_delete_`) //line messages.qtpl:353 + qw422016.N().S(` <button id="btn_delete_`) +//line messages.qtpl:354 qw422016.E().S(e.UUID) -//line messages.qtpl:353 +//line messages.qtpl:354 qw422016.N().S(`" class="mod-btn delete_msg_btn f-orange-clr" title="delete"></button> `) -//line messages.qtpl:354 +//line messages.qtpl:355 } else { -//line messages.qtpl:354 - qw422016.N().S(` <button id="btn_delete_`) //line messages.qtpl:355 + qw422016.N().S(` <button id="btn_delete_`) +//line messages.qtpl:356 qw422016.E().S(e.UUID) -//line messages.qtpl:355 +//line messages.qtpl:356 qw422016.N().S(`" class="mod-btn delete_msg_btn" title="delete" style=" `) -//line messages.qtpl:357 - if string(e.User.Username) != NullUsername { //line messages.qtpl:358 + if string(e.User.Username) != NullUsername { +//line messages.qtpl:359 if (AuthUser.IsModerator() && e.UserID != AuthUser.GetID()) || AuthUser.GetIsAdmin() || e.IsRoomOwner(AuthUser.GetID()) { -//line messages.qtpl:358 - qw422016.N().S(` animation: `) //line messages.qtpl:359 + qw422016.N().S(` animation: `) +//line messages.qtpl:360 qw422016.N().DL(e.DeleteSecondsRemaining()) -//line messages.qtpl:359 +//line messages.qtpl:360 qw422016.N().S(`s 1s forwards orange_btn; `) -//line messages.qtpl:360 +//line messages.qtpl:361 } else { -//line messages.qtpl:360 - qw422016.N().S(` animation: `) //line messages.qtpl:361 + qw422016.N().S(` animation: `) +//line messages.qtpl:362 qw422016.N().DL(e.DeleteSecondsRemaining()) -//line messages.qtpl:361 +//line messages.qtpl:362 qw422016.N().S(`s 1s forwards hide_btn; `) -//line messages.qtpl:362 - } //line messages.qtpl:363 + } +//line messages.qtpl:364 } -//line messages.qtpl:363 +//line messages.qtpl:364 qw422016.N().S(` " ></button> `) -//line messages.qtpl:366 +//line messages.qtpl:367 } -//line messages.qtpl:366 - qw422016.N().S(` <style>#btn_delete_`) //line messages.qtpl:367 + qw422016.N().S(` <style>#btn_delete_`) +//line messages.qtpl:368 qw422016.E().S(e.UUID) -//line messages.qtpl:367 +//line messages.qtpl:368 qw422016.N().S(`:active { background-image: url('/api/v1/chat/messages/delete/`) -//line messages.qtpl:367 +//line messages.qtpl:368 qw422016.E().S(e.UUID) -//line messages.qtpl:367 +//line messages.qtpl:368 qw422016.N().S(`'); }</style> `) -//line messages.qtpl:368 - } //line messages.qtpl:369 - if AuthUser.IsModerator() { + } //line messages.qtpl:370 - if !e.OwnMessage(AuthUser.GetID()) { + if AuthUser.IsModerator() { //line messages.qtpl:371 - if AuthUser.GetDisplayHellbanButton() { + if !e.OwnMessage(AuthUser.GetID()) { //line messages.qtpl:372 + if AuthUser.GetDisplayHellbanButton() { +//line messages.qtpl:373 if string(e.User.Username) == NullUsername { -//line messages.qtpl:372 +//line messages.qtpl:373 qw422016.N().S(` <div class="spacer16"></div> `) -//line messages.qtpl:374 - } else { //line messages.qtpl:375 + } else { +//line messages.qtpl:376 if e.User.IsHellbanned { -//line messages.qtpl:375 - qw422016.N().S(` <form method="post" action="/api/v1/users/`) //line messages.qtpl:376 + qw422016.N().S(` <form method="post" action="/api/v1/users/`) +//line messages.qtpl:377 qw422016.E().S(e.UserID.String()) -//line messages.qtpl:376 +//line messages.qtpl:377 qw422016.N().S(`/unhellban" class="d-inline"> <input type="hidden" name="csrf" value="`) -//line messages.qtpl:377 +//line messages.qtpl:378 qw422016.E().S(CSRF) -//line messages.qtpl:377 +//line messages.qtpl:378 qw422016.N().S(`" /> <button class="mod-btn hb_btn f-orange-clr line-through" title="unhellban"></button> </form> `) -//line messages.qtpl:380 +//line messages.qtpl:381 } else { -//line messages.qtpl:380 - qw422016.N().S(` <form method="post" action="/api/v1/users/`) //line messages.qtpl:381 + qw422016.N().S(` <form method="post" action="/api/v1/users/`) +//line messages.qtpl:382 qw422016.E().S(e.UserID.String()) -//line messages.qtpl:381 +//line messages.qtpl:382 qw422016.N().S(`/hellban" class="d-inline"> <input type="hidden" name="csrf" value="`) -//line messages.qtpl:382 +//line messages.qtpl:383 qw422016.E().S(CSRF) -//line messages.qtpl:382 +//line messages.qtpl:383 qw422016.N().S(`" /> <button class="mod-btn hb_btn f-orange-clr" title="hellban"></button> </form> `) -//line messages.qtpl:385 - } //line messages.qtpl:386 - } + } //line messages.qtpl:387 - } + } //line messages.qtpl:388 + } +//line messages.qtpl:389 if AuthUser.GetDisplayKickButton() { -//line messages.qtpl:388 - qw422016.N().S(` <form method="post" action="/api/v1/users/`) //line messages.qtpl:389 + qw422016.N().S(` <form method="post" action="/api/v1/users/`) +//line messages.qtpl:390 qw422016.E().S(e.UserID.String()) -//line messages.qtpl:389 +//line messages.qtpl:390 qw422016.N().S(`/kick" class="d-inline"> <input type="hidden" name="csrf" value="`) -//line messages.qtpl:390 +//line messages.qtpl:391 qw422016.E().S(CSRF) -//line messages.qtpl:390 +//line messages.qtpl:391 qw422016.N().S(`" /> <button class="mod-btn k_btn f-orange-clr" title="kick"></button> </form> `) -//line messages.qtpl:393 - } //line messages.qtpl:394 - } else { + } //line messages.qtpl:395 + } else { +//line messages.qtpl:396 if AuthUser.GetDisplayKickButton() && AuthUser.GetDisplayHellbanButton() { -//line messages.qtpl:395 +//line messages.qtpl:396 qw422016.N().S(` <div class="spacer36"></div> `) -//line messages.qtpl:397 +//line messages.qtpl:398 } else if AuthUser.GetDisplayKickButton() || AuthUser.GetDisplayHellbanButton() { -//line messages.qtpl:397 +//line messages.qtpl:398 qw422016.N().S(` <div class="spacer16"></div> `) -//line messages.qtpl:399 - } //line messages.qtpl:400 - } + } //line messages.qtpl:401 - } + } //line messages.qtpl:402 - } else { + } //line messages.qtpl:403 + } else { +//line messages.qtpl:404 if Data.NbButtons == 3 { -//line messages.qtpl:403 +//line messages.qtpl:404 qw422016.N().S(` <div class="spacer56"></div> `) -//line messages.qtpl:405 +//line messages.qtpl:406 } else if Data.NbButtons == 2 { -//line messages.qtpl:405 +//line messages.qtpl:406 qw422016.N().S(` <div class="spacer36"></div> `) -//line messages.qtpl:407 +//line messages.qtpl:408 } else if Data.NbButtons == 1 { -//line messages.qtpl:407 +//line messages.qtpl:408 qw422016.N().S(` <div class="spacer16"></div> `) -//line messages.qtpl:409 - } //line messages.qtpl:410 - } + } //line messages.qtpl:411 + } +//line messages.qtpl:412 if !Data.HideTimestamps { -//line messages.qtpl:411 - qw422016.N().S(` <a href="`) //line messages.qtpl:412 + qw422016.N().S(` <a href="`) +//line messages.qtpl:413 qw422016.E().S(baseTopBarURL) -//line messages.qtpl:412 +//line messages.qtpl:413 qw422016.N().S(`?quote=`) -//line messages.qtpl:412 +//line messages.qtpl:413 qw422016.E().S(e.UUID) -//line messages.qtpl:412 +//line messages.qtpl:413 streamunesc(qw422016, Data.TopBarQueryParams) -//line messages.qtpl:412 +//line messages.qtpl:413 qw422016.N().S(`" target="iframe1" class="date date-link" title="`) -//line messages.qtpl:412 +//line messages.qtpl:413 qw422016.E().S(e.CreatedAt.Format("01-02 15:04:05")) -//line messages.qtpl:412 +//line messages.qtpl:413 if *isFirstMsg { -//line messages.qtpl:412 +//line messages.qtpl:413 qw422016.N().S(` (`) -//line messages.qtpl:412 +//line messages.qtpl:413 qw422016.E().S(humanize.Time(e.CreatedAt)) -//line messages.qtpl:412 +//line messages.qtpl:413 qw422016.N().S(`)`) -//line messages.qtpl:412 +//line messages.qtpl:413 } -//line messages.qtpl:412 +//line messages.qtpl:413 qw422016.N().S(`">`) -//line messages.qtpl:412 +//line messages.qtpl:413 qw422016.E().S(e.CreatedAt.Format(AuthUser.GetDateFormat())) -//line messages.qtpl:412 +//line messages.qtpl:413 qw422016.N().S(`</a> `) -//line messages.qtpl:413 +//line messages.qtpl:414 *isFirstMsg = false -//line messages.qtpl:413 +//line messages.qtpl:414 qw422016.N().S(` `) -//line messages.qtpl:414 +//line messages.qtpl:415 } -//line messages.qtpl:414 - qw422016.N().S(` <a href="/u/`) //line messages.qtpl:415 + qw422016.N().S(` <a href="/u/`) +//line messages.qtpl:416 qw422016.E().S(string(e.GetProfile(AuthUser.GetID()))) -//line messages.qtpl:415 +//line messages.qtpl:416 qw422016.N().S(`" target="_blank" class="f-def-clr">-</a> `) -//line messages.qtpl:416 +//line messages.qtpl:417 if e.System { -//line messages.qtpl:416 - qw422016.N().S(` <span class="sysmsg">`) //line messages.qtpl:417 + qw422016.N().S(` <span class="sysmsg">`) +//line messages.qtpl:418 streamunesc(qw422016, e.Message) -//line messages.qtpl:417 +//line messages.qtpl:418 qw422016.N().S(`</span> `) -//line messages.qtpl:418 - } else { //line messages.qtpl:419 + } else { +//line messages.qtpl:420 if e.Moderators { -//line messages.qtpl:419 +//line messages.qtpl:420 qw422016.N().S(`<span class="sysmsg">[<a href="`) -//line messages.qtpl:419 +//line messages.qtpl:420 qw422016.E().S(baseTopBarURL) -//line messages.qtpl:419 +//line messages.qtpl:420 qw422016.N().S(`?m=1`) -//line messages.qtpl:419 +//line messages.qtpl:420 streamunesc(qw422016, Data.TopBarQueryParams) -//line messages.qtpl:419 +//line messages.qtpl:420 qw422016.N().S(`" target="iframe1" class="sysmsg f-white-clr">M</a>]</span>&nbsp;`) -//line messages.qtpl:419 - } //line messages.qtpl:420 + } +//line messages.qtpl:421 if e.GroupID != nil { -//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(`?g=`) -//line messages.qtpl:420 +//line messages.qtpl:421 qw422016.E().S(e.Group.Name) -//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">`) -//line messages.qtpl:420 +//line messages.qtpl:421 qw422016.E().S(e.Group.Name) -//line messages.qtpl:420 +//line messages.qtpl:421 qw422016.N().S(`</a>]</span>&nbsp;`) -//line messages.qtpl:420 - } //line messages.qtpl:421 + } +//line messages.qtpl:422 if e.ToUserID != nil { -//line messages.qtpl:421 - qw422016.N().S(` [`) //line messages.qtpl:422 + qw422016.N().S(` [`) +//line messages.qtpl:423 streamfromUsername(qw422016, AuthUser, Data, e, baseTopBarURL) -//line messages.qtpl:422 +//line messages.qtpl:423 qw422016.N().S(` → `) -//line messages.qtpl:424 +//line messages.qtpl:425 if e.ToUser.ID == AuthUser.GetID() { -//line messages.qtpl:424 +//line messages.qtpl:425 qw422016.N().S(`<span `) -//line messages.qtpl:424 +//line messages.qtpl:425 streamunesc(qw422016, e.ToUser.GenerateChatStyle()) -//line messages.qtpl:424 +//line messages.qtpl:425 qw422016.N().S(`>`) -//line messages.qtpl:424 +//line messages.qtpl:425 qw422016.E().S(string(e.ToUser.Username)) -//line messages.qtpl:424 +//line messages.qtpl:425 qw422016.N().S(`</span>`) -//line messages.qtpl:424 +//line messages.qtpl:425 } else { -//line messages.qtpl:424 +//line messages.qtpl:425 qw422016.N().S(`<a `) -//line messages.qtpl:424 +//line messages.qtpl:425 streamunesc(qw422016, e.ToUser.GenerateChatStyle()) -//line messages.qtpl:424 +//line messages.qtpl:425 qw422016.N().S(` href="`) -//line messages.qtpl:424 +//line messages.qtpl:425 qw422016.E().S(baseTopBarURL) -//line messages.qtpl:424 +//line messages.qtpl:425 qw422016.N().S(`?pm=`) -//line messages.qtpl:424 +//line messages.qtpl:425 qw422016.E().S(string(e.ToUser.Username)) -//line messages.qtpl:424 +//line messages.qtpl:425 qw422016.E().S(Data.TopBarQueryParams) -//line messages.qtpl:424 +//line messages.qtpl:425 qw422016.N().S(`" target="iframe1">`) -//line messages.qtpl:424 +//line messages.qtpl:425 qw422016.E().S(string(e.ToUser.Username)) -//line messages.qtpl:424 +//line messages.qtpl:425 qw422016.N().S(`</a>`) -//line messages.qtpl:424 +//line messages.qtpl:425 } -//line messages.qtpl:424 +//line messages.qtpl:425 qw422016.N().S(`] - `) -//line messages.qtpl:425 - } else { //line messages.qtpl:426 - streamfromUsername(qw422016, AuthUser, Data, e, baseTopBarURL) + } else { //line messages.qtpl:427 - if !e.IsMe() { + streamfromUsername(qw422016, AuthUser, Data, e, baseTopBarURL) //line messages.qtpl:428 + if !e.IsMe() { +//line messages.qtpl:429 if AuthUser.CanSeeHB() && (e.IsHellbanned || e.User.IsHellbanned) && (e.ToUserID == nil) { -//line messages.qtpl:428 - qw422016.N().S(` <a href="`) //line messages.qtpl:429 + qw422016.N().S(` <a href="`) +//line messages.qtpl:430 qw422016.E().S(baseTopBarURL) -//line messages.qtpl:429 +//line messages.qtpl:430 qw422016.N().S(`?hbm=1`) -//line messages.qtpl:429 +//line messages.qtpl:430 streamunesc(qw422016, Data.TopBarQueryParams) -//line messages.qtpl:429 +//line messages.qtpl:430 qw422016.N().S(`" target="iframe1" class="f-def-clr">-</a> `) -//line messages.qtpl:430 +//line messages.qtpl:431 } else { -//line messages.qtpl:430 +//line messages.qtpl:431 qw422016.N().S(` - `) -//line messages.qtpl:432 - } //line messages.qtpl:433 - } + } //line messages.qtpl:434 + } +//line messages.qtpl:435 } -//line messages.qtpl:434 - qw422016.N().S(` <span `) //line messages.qtpl:435 + qw422016.N().S(` <span `) +//line messages.qtpl:436 streamunesc(qw422016, e.User.GenerateChatStyle()) -//line messages.qtpl:435 +//line messages.qtpl:436 qw422016.N().S(`><span class="o-wrap">`) -//line messages.qtpl:435 +//line messages.qtpl:436 qw422016.N().S(unesc(e.MsgToDisplay(AuthUser))) -//line messages.qtpl:435 +//line messages.qtpl:436 qw422016.N().S(`</span></span> `) -//line messages.qtpl:436 +//line messages.qtpl:437 } -//line messages.qtpl:436 +//line messages.qtpl:437 qw422016.N().S(` </div> `) -//line messages.qtpl:438 - } //line messages.qtpl:439 + } +//line messages.qtpl:440 } -//line messages.qtpl:439 +//line messages.qtpl:440 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:439 +//line messages.qtpl:440 qw422016 := qt422016.AcquireWriter(qq422016) -//line messages.qtpl:439 +//line messages.qtpl:440 StreamRenderMessage(qw422016, idx, e, AuthUser, Data, baseTopBarURL, readMarkerRendered, isFirstMsg, CSRF, NullUsername, readMarkerRev, isEdit) -//line messages.qtpl:439 +//line messages.qtpl:440 qt422016.ReleaseWriter(qw422016) -//line messages.qtpl:439 +//line messages.qtpl:440 } -//line messages.qtpl:439 +//line messages.qtpl:440 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:439 +//line messages.qtpl:440 qb422016 := qt422016.AcquireByteBuffer() -//line messages.qtpl:439 +//line messages.qtpl:440 WriteRenderMessage(qb422016, idx, e, AuthUser, Data, baseTopBarURL, readMarkerRendered, isFirstMsg, CSRF, NullUsername, readMarkerRev, isEdit) -//line messages.qtpl:439 +//line messages.qtpl:440 qs422016 := string(qb422016.B) -//line messages.qtpl:439 +//line messages.qtpl:440 qt422016.ReleaseByteBuffer(qb422016) -//line messages.qtpl:439 +//line messages.qtpl:440 return qs422016 -//line messages.qtpl:439 +//line messages.qtpl:440 } -//line messages.qtpl:442 +//line messages.qtpl:443 func StreamMember(qw422016 *qt422016.Writer, AuthUser *database.User, Data ChatMenuData, El managers.UserInfo) { -//line messages.qtpl:442 +//line messages.qtpl:443 qw422016.N().S(` `) -//line messages.qtpl:443 +//line messages.qtpl:444 baseTopBarURL := "/api/v1/chat/top-bar/" + Data.RoomName -//line messages.qtpl:444 +//line messages.qtpl:445 if El.Username == AuthUser.GetUsername() { -//line messages.qtpl:444 +//line messages.qtpl:445 qw422016.N().S(` <div> <span style="color: `) -//line messages.qtpl:446 +//line messages.qtpl:447 qw422016.E().S(El.Color) -//line messages.qtpl:446 +//line messages.qtpl:447 qw422016.N().S(`;">`) -//line messages.qtpl:446 +//line messages.qtpl:447 qw422016.E().S(string(El.Username)) -//line messages.qtpl:446 +//line messages.qtpl:447 qw422016.N().S(`</span> `) -//line messages.qtpl:447 +//line messages.qtpl:448 if El.AfkIndicatorEnabled { -//line messages.qtpl:447 +//line messages.qtpl:448 qw422016.N().S(` <small class="afk-indicator">afk</small> `) -//line messages.qtpl:449 +//line messages.qtpl:450 } -//line messages.qtpl:449 +//line messages.qtpl:450 qw422016.N().S(` </div> `) -//line messages.qtpl:451 - } else if len(El.Username) > 0 { //line messages.qtpl:452 + } else if len(El.Username) > 0 { +//line messages.qtpl:453 if !El.IsHellbanned || AuthUser.GetID() == El.UserID || (El.IsHellbanned && AuthUser.GetIsHellbanned()) || AuthUser.GetDisplayHellbanned() { -//line messages.qtpl:452 +//line messages.qtpl:453 qw422016.N().S(` <div> `) -//line messages.qtpl:454 +//line messages.qtpl:455 tagType := "tag" -//line messages.qtpl:455 - if AuthUser.CanSeeHB() && El.IsHellbanned { //line messages.qtpl:456 + if AuthUser.CanSeeHB() && El.IsHellbanned { +//line messages.qtpl:457 tagType = "htag" -//line messages.qtpl:457 - } //line messages.qtpl:458 - qw422016.N().S(`<a href="`) + } //line messages.qtpl:459 + qw422016.N().S(`<a href="`) +//line messages.qtpl:460 qw422016.E().S(baseTopBarURL) -//line messages.qtpl:459 +//line messages.qtpl:460 qw422016.N().S(`?`) -//line messages.qtpl:459 +//line messages.qtpl:460 qw422016.E().S(tagType) -//line messages.qtpl:459 +//line messages.qtpl:460 qw422016.N().S(`=`) -//line messages.qtpl:459 +//line messages.qtpl:460 qw422016.E().S(string(El.Username)) -//line messages.qtpl:459 +//line messages.qtpl:460 streamunesc(qw422016, Data.TopBarQueryParams) -//line messages.qtpl:459 +//line messages.qtpl:460 qw422016.N().S(`"target="iframe1"`) -//line messages.qtpl:461 +//line messages.qtpl:462 if El.IsHellbanned && AuthUser.GetDisplayHellbanned() { -//line messages.qtpl:461 +//line messages.qtpl:462 qw422016.N().S(`class="hb-row"`) -//line messages.qtpl:461 +//line messages.qtpl:462 } -//line messages.qtpl:461 - qw422016.N().S(`style="color:`) //line messages.qtpl:462 + qw422016.N().S(`style="color:`) +//line messages.qtpl:463 qw422016.E().S(El.Color) -//line messages.qtpl:462 +//line messages.qtpl:463 qw422016.N().S(`;">`) -//line messages.qtpl:462 +//line messages.qtpl:463 qw422016.E().S(string(El.Username[0])) -//line messages.qtpl:462 - qw422016.N().S(`</a><a href="`) //line messages.qtpl:463 + qw422016.N().S(`</a><a href="`) +//line messages.qtpl:464 qw422016.E().S(baseTopBarURL) -//line messages.qtpl:463 +//line messages.qtpl:464 qw422016.N().S(`?pm=`) -//line messages.qtpl:463 +//line messages.qtpl:464 qw422016.E().S(string(El.Username)) -//line messages.qtpl:463 +//line messages.qtpl:464 streamunesc(qw422016, Data.TopBarQueryParams) -//line messages.qtpl:463 +//line messages.qtpl:464 qw422016.N().S(`"target="iframe1"`) -//line messages.qtpl:465 +//line messages.qtpl:466 if El.IsHellbanned && AuthUser.GetDisplayHellbanned() { -//line messages.qtpl:465 +//line messages.qtpl:466 qw422016.N().S(`class="hb-row"`) -//line messages.qtpl:465 +//line messages.qtpl:466 } -//line messages.qtpl:465 - qw422016.N().S(`style="color:`) //line messages.qtpl:466 + qw422016.N().S(`style="color:`) +//line messages.qtpl:467 qw422016.E().S(El.Color) -//line messages.qtpl:466 +//line messages.qtpl:467 qw422016.N().S(`;">`) -//line messages.qtpl:466 +//line messages.qtpl:467 qw422016.E().S(string(El.Username[1 : len(El.Username)-1])) -//line messages.qtpl:466 - qw422016.N().S(`</a><a href="/u/`) //line messages.qtpl:467 + qw422016.N().S(`</a><a href="/u/`) +//line messages.qtpl:468 qw422016.E().S(string(El.Username)) -//line messages.qtpl:467 +//line messages.qtpl:468 qw422016.N().S(`"rel="noopener noreferrer" target="_blank"`) -//line messages.qtpl:469 +//line messages.qtpl:470 if El.IsHellbanned && AuthUser.GetDisplayHellbanned() { -//line messages.qtpl:469 +//line messages.qtpl:470 qw422016.N().S(`class="hb-row"`) -//line messages.qtpl:469 +//line messages.qtpl:470 } -//line messages.qtpl:469 - qw422016.N().S(`style="color:`) //line messages.qtpl:470 + qw422016.N().S(`style="color:`) +//line messages.qtpl:471 qw422016.E().S(El.Color) -//line messages.qtpl:470 +//line messages.qtpl:471 qw422016.N().S(`;">`) -//line messages.qtpl:470 +//line messages.qtpl:471 qw422016.E().S(string(El.Username[len(El.Username)-1])) -//line messages.qtpl:470 +//line messages.qtpl:471 qw422016.N().S(`</a>`) -//line messages.qtpl:472 +//line messages.qtpl:473 if El.AfkIndicatorEnabled { -//line messages.qtpl:472 +//line messages.qtpl:473 qw422016.N().S(` <small class="afk-indicator">afk</small> `) -//line messages.qtpl:474 +//line messages.qtpl:475 } -//line messages.qtpl:474 +//line messages.qtpl:475 qw422016.N().S(` </div> `) -//line messages.qtpl:476 - } //line messages.qtpl:477 - } + } //line messages.qtpl:478 + } +//line messages.qtpl:479 } -//line messages.qtpl:478 +//line messages.qtpl:479 func WriteMember(qq422016 qtio422016.Writer, AuthUser *database.User, Data ChatMenuData, El managers.UserInfo) { -//line messages.qtpl:478 +//line messages.qtpl:479 qw422016 := qt422016.AcquireWriter(qq422016) -//line messages.qtpl:478 +//line messages.qtpl:479 StreamMember(qw422016, AuthUser, Data, El) -//line messages.qtpl:478 +//line messages.qtpl:479 qt422016.ReleaseWriter(qw422016) -//line messages.qtpl:478 +//line messages.qtpl:479 } -//line messages.qtpl:478 +//line messages.qtpl:479 func Member(AuthUser *database.User, Data ChatMenuData, El managers.UserInfo) string { -//line messages.qtpl:478 +//line messages.qtpl:479 qb422016 := qt422016.AcquireByteBuffer() -//line messages.qtpl:478 +//line messages.qtpl:479 WriteMember(qb422016, AuthUser, Data, El) -//line messages.qtpl:478 +//line messages.qtpl:479 qs422016 := string(qb422016.B) -//line messages.qtpl:478 +//line messages.qtpl:479 qt422016.ReleaseByteBuffer(qb422016) -//line messages.qtpl:478 +//line messages.qtpl:479 return qs422016 -//line messages.qtpl:478 +//line messages.qtpl:479 } -//line messages.qtpl:481 -func streamfromUsername(qw422016 *qt422016.Writer, AuthUser database.IUserRenderMessage, Data ChatMessagesData, El database.ChatMessage, baseTopBarURL string) { //line messages.qtpl:482 +func streamfromUsername(qw422016 *qt422016.Writer, AuthUser database.IUserRenderMessage, Data ChatMessagesData, El database.ChatMessage, baseTopBarURL string) { +//line messages.qtpl:483 tagType := "tag" -//line messages.qtpl:483 - if El.ToUserID != nil { //line messages.qtpl:484 + if El.ToUserID != nil { +//line messages.qtpl:485 tagType = "pm" -//line messages.qtpl:485 - } else if AuthUser.CanSeeHB() && (El.IsHellbanned || El.User.IsHellbanned) { //line messages.qtpl:486 + } else if AuthUser.CanSeeHB() && (El.IsHellbanned || El.User.IsHellbanned) { +//line messages.qtpl:487 tagType = "htag" -//line messages.qtpl:487 - } else if AuthUser.IsModerator() && El.Moderators { //line messages.qtpl:488 + } else if AuthUser.IsModerator() && El.Moderators { +//line messages.qtpl:489 tagType = "mtag" -//line messages.qtpl:489 - } //line messages.qtpl:490 - if El.User.ID == AuthUser.GetID() { + } //line messages.qtpl:491 + if El.User.ID == AuthUser.GetID() { +//line messages.qtpl:492 if El.CanBeEdited() { -//line messages.qtpl:491 +//line messages.qtpl:492 qw422016.N().S(`<a `) -//line messages.qtpl:491 +//line messages.qtpl:492 streamunesc(qw422016, El.User.GenerateChatStyle()) -//line messages.qtpl:491 +//line messages.qtpl:492 qw422016.N().S(` href="`) -//line messages.qtpl:491 +//line messages.qtpl:492 qw422016.E().S(baseTopBarURL) -//line messages.qtpl:491 +//line messages.qtpl:492 qw422016.N().S(`?e=`) -//line messages.qtpl:491 +//line messages.qtpl:492 qw422016.E().S(El.CreatedAt.Format("15:04:05")) -//line messages.qtpl:491 +//line messages.qtpl:492 streamunesc(qw422016, Data.TopBarQueryParams) -//line messages.qtpl:491 +//line messages.qtpl:492 qw422016.N().S(`" target="iframe1">`) -//line messages.qtpl:491 +//line messages.qtpl:492 qw422016.E().S(string(El.User.Username)) -//line messages.qtpl:491 +//line messages.qtpl:492 qw422016.N().S(`</a>`) -//line messages.qtpl:491 +//line messages.qtpl:492 } else { -//line messages.qtpl:491 +//line messages.qtpl:492 qw422016.N().S(`<span `) -//line messages.qtpl:491 +//line messages.qtpl:492 streamunesc(qw422016, El.User.GenerateChatStyle()) -//line messages.qtpl:491 +//line messages.qtpl:492 qw422016.N().S(`>`) -//line messages.qtpl:491 +//line messages.qtpl:492 qw422016.E().S(string(El.User.Username)) -//line messages.qtpl:491 +//line messages.qtpl:492 qw422016.N().S(`</span>`) -//line messages.qtpl:491 - } //line messages.qtpl:492 + } +//line messages.qtpl:493 } else { -//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(`?`) -//line messages.qtpl:492 +//line messages.qtpl:493 qw422016.E().S(tagType) -//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 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 + } +//line messages.qtpl:494 } -//line messages.qtpl:493 +//line messages.qtpl:494 func writefromUsername(qq422016 qtio422016.Writer, AuthUser database.IUserRenderMessage, Data ChatMessagesData, El database.ChatMessage, baseTopBarURL string) { -//line messages.qtpl:493 +//line messages.qtpl:494 qw422016 := qt422016.AcquireWriter(qq422016) -//line messages.qtpl:493 +//line messages.qtpl:494 streamfromUsername(qw422016, AuthUser, Data, El, baseTopBarURL) -//line messages.qtpl:493 +//line messages.qtpl:494 qt422016.ReleaseWriter(qw422016) -//line messages.qtpl:493 +//line messages.qtpl:494 } -//line messages.qtpl:493 +//line messages.qtpl:494 func fromUsername(AuthUser database.IUserRenderMessage, Data ChatMessagesData, El database.ChatMessage, baseTopBarURL string) string { -//line messages.qtpl:493 +//line messages.qtpl:494 qb422016 := qt422016.AcquireByteBuffer() -//line messages.qtpl:493 +//line messages.qtpl:494 writefromUsername(qb422016, AuthUser, Data, El, baseTopBarURL) -//line messages.qtpl:493 +//line messages.qtpl:494 qs422016 := string(qb422016.B) -//line messages.qtpl:493 +//line messages.qtpl:494 qt422016.ReleaseByteBuffer(qb422016) -//line messages.qtpl:493 +//line messages.qtpl:494 return qs422016 -//line messages.qtpl:493 +//line messages.qtpl:494 }