From e0f8ece046b42eb13bcefc99eb0c6a06a6c1be5b Mon Sep 17 00:00:00 2001 From: Sukhamjot Singh Date: Thu, 28 Jul 2022 00:56:34 +0530 Subject: [PATCH] fixed threads issues, double click for toggle. --- data/streaming.png | Bin 0 -> 1338 bytes webui-src/app/channels/channel_view.js | 9 +++++--- webui-src/app/forums/forum_view.js | 29 ++++++++++++++----------- webui-src/app/forums/forums.css | 4 ++++ 4 files changed, 26 insertions(+), 16 deletions(-) create mode 100644 data/streaming.png diff --git a/data/streaming.png b/data/streaming.png new file mode 100644 index 0000000000000000000000000000000000000000..02eafda3cdbdaf56492c647199a78f7ef462d5fa GIT binary patch literal 1338 zcmV-A1;zS_P)3_}W_I?_-EF&cn>|QRv}JpMQb4dGaN1@;&d> zM<}Iu5W_qW>;F>B-S5Gc=borhsZ`aJ5F3+LYQQn>v@8=@rZY61o(V@HJ;#5!GDsSi zFWbPdWTw5RzyIH)o1a}jJnsuRGPD|*Rk0;$F*y~82%on148Cd0H0i1;3+eHM)%K zjT$xoB~f#FMM`~9TAaUa+&P0lB!aP1O~u&K~e71YuHO+39j9T=a~KjOB0`; z9vPT+j?+|l$`qczQ_$8ij9A!@w67nWr3N}x5{(a6qxR7!;f$5y=gTexTAB_)uhB%p zLR{${8t_Z8NUUQZJQ+;TQ>$LSwAo@bP)cbFrSwEZR1S{^)5`7nBz@+scDkYQ0;ME2?L7OOMP;=V=?v|Y*Fm_h2VJ>pX^wVph(f)^(UsiQ)oVO5xi+3 zWQCxy-Ue9#7zR`}o6We=+skTr4dd*cz?27cE-Xn&Spmz+Xg+x!Dw;t9Q3al$i0TSE zKq-R00F)F1F-9DOZd4_wI+$Xn^2$Vr1NdBc}$COv!036A)+r_|aHk ze0r&zlwu7v7OmER>Egnr$<_lDr_YZ?YwMd5G8M%ls|7=D3Ef>z@C<|LnJ65k%Mgx4 zP*Tx=4BJC6Xn`LNNg9r-`7>vKI`L6k>xnBGp0~6d`C#|zRjao-%9a?^3Waxku%U8! zgMZfVNp5PYClv~h@*)#1e4j+`H4iGvAH((0E;!1J5MzEgM~;96sUsZ7ah7GObsV3U zmPHax(~lWo7YpzyV7H#dySZA8$}iLLBI|>y5@kJdkP6Hjt`{Lc~O1&g(_K zJqPpN5CY)@(hTGYk8hR&J4sDRA^+mmeW^EI+d$XUEh9rCVvKw+Tc8Z36l<$1Rrg!+%8ql)rnS|~U%ckY6uBt6-v9sr07*qoM6N<$g0@s<*Z=?k literal 0 HcmV?d00001 diff --git a/webui-src/app/channels/channel_view.js b/webui-src/app/channels/channel_view.js index 7f862bc..e04f332 100644 --- a/webui-src/app/channels/channel_view.js +++ b/webui-src/app/channels/channel_view.js @@ -129,7 +129,7 @@ const AddPost = () => { oninput: (e) => (ptitle = e.target.value), }), m('textarea[rows=5]', { - style: {width: '90%', display: 'block'}, + style: { width: '90%', display: 'block' }, oninput: (e) => (content = e.target.value), value: content, }), @@ -282,7 +282,10 @@ const ChannelView = () => { [ m('img', { class: 'card-img', - src: 'data:image/png;base64,' + plist[key].post.mThumbnail.mData.base64, + src: + plist[key].post.mThumbnail.mData.base64 === "" + ? '../../../data/streaming.png' + : 'data:image/png;base64,' + plist[key].post.mThumbnail.mData.base64, alt: '', }), @@ -324,7 +327,7 @@ const AddComment = () => { ? [m('h5', 'Reply to comment: '), m('p', vnode.attrs.parent_comment)] : '', m('textarea[rows=5]', { - style: {width: '90%', display: 'block'}, + style: { width: '90%', display: 'block' }, oninput: (e) => (inputComment = e.target.value), value: inputComment, }), diff --git a/webui-src/app/forums/forum_view.js b/webui-src/app/forums/forum_view.js index 1c3474b..c70242a 100644 --- a/webui-src/app/forums/forum_view.js +++ b/webui-src/app/forums/forum_view.js @@ -6,9 +6,8 @@ const { updatedisplayforums } = require('./forums_util'); function displaythread() { return { - oninit: (v) => {}, - view: ({ attrs: { threadStruct, replyDepth, identity } }) => { - const thread = threadStruct.thread; + view: (v) => { + const thread = v.attrs.threadStruct.thread; let parMap = []; if (util.Data.ParentThreadMap[thread.mMeta.mMsgId]) { parMap = util.Data.ParentThreadMap[thread.mMeta.mMsgId]; @@ -24,10 +23,10 @@ function displaythread() { ? m( 'td', m('i.fas.fa-angle-right', { - class: 'fa-rotate-' + (threadStruct.showReplies ? '90' : '0'), + class: 'fa-rotate-' + (v.attrs.threadStruct.showReplies ? '90' : '0'), style: 'margin-top:12px', onclick: () => { - threadStruct.showReplies = !threadStruct.showReplies; + v.attrs.threadStruct.showReplies = !v.attrs.threadStruct.showReplies; }, }) ) @@ -38,10 +37,11 @@ function displaythread() { { style: { position: 'relative', - '--replyDepth': replyDepth, + '--replyDepth': v.attrs.replyDepth, left: 'calc(30px*var(--replyDepth))', }, - onclick: () => (ThreadView.showThread = thread.mMeta.mMsgId), + onclick: () => v.attrs.changeThread(thread.mMeta.mMsgId), + ondblclick:() => v.attrs.threadStruct.showReplies = !v.attrs.threadStruct.showReplies, }, [ thread.mMeta.mMsgName, @@ -57,7 +57,7 @@ function displaythread() { m(AddThread, { parent_thread: thread.mMeta.mMsgName, forumId: thread.mMeta.mGroupId, - authorId: identity, + authorId: v.attrs.identity, parentId: thread.mMeta.mMsgId, }) ), @@ -75,7 +75,7 @@ function displaythread() { style: {fontSize:'15px'}, onclick: async() => { const res = await rs.rsJsonApiRequest('/rsgxsforums/markRead', { - messageId: thread.mMeta.mMsgId, + messageId: [thread.mMeta.mGroupId,thread.mMeta.mMsgId], read: false, }); @@ -98,12 +98,13 @@ function displaythread() { ), ] ), - threadStruct.showReplies && + v.attrs.threadStruct.showReplies && Object.keys(parMap).map((key, index) => m(displaythread, { threadStruct: util.Data.Threads[parMap[key].mGroupId][parMap[key].mMsgId], - replyDepth: replyDepth + 1, - identity, + replyDepth: v.attrs.replyDepth + 1, + identity: v.attrs.identity, + changeThread: v.attrs.changeThread, }) ), ]; @@ -182,7 +183,6 @@ const ThreadView = () => { ownId = data[0]; }); }, - onupdate: (v) => console.log(v.state.showThread), view: (v) => m('.widget', { key: v.attrs.msgId }, [ m( @@ -208,6 +208,9 @@ const ThreadView = () => { threadStruct: util.Data.Threads[v.attrs.forumId][v.attrs.msgId], replyDepth: 0, identity: ownId, + changeThread(newThread){ + v.state.showThread = newThread + }, }) ) ), diff --git a/webui-src/app/forums/forums.css b/webui-src/app/forums/forums.css index d9b87a4..158860c 100644 --- a/webui-src/app/forums/forums.css +++ b/webui-src/app/forums/forums.css @@ -66,3 +66,7 @@ table.threadreply td:nth-child(2) { table.threadreply td { word-wrap: break-word; } +table.threadreply tr:hover { + background-color: #eef3f6; + cursor: pointer; +}