ui: showSignInDialog if react when not loggedin

This commit is contained in:
undefined committed 2022-03-19 11:54:48 +08:00
1 parent fa554e58bf
commit d088227211
3 files changed
+11 -5

No files matched your search

@@ -6,6 +6,7 @@ import { Popover } from '@blueprintjs/core';
import { AutoloadPage } from 'vj/misc/Page'; import { AutoloadPage } from 'vj/misc/Page';
import CommentBox from 'vj/components/discussion/CommentBox'; import CommentBox from 'vj/components/discussion/CommentBox';
import { ConfirmDialog } from 'vj/components/dialog'; import { ConfirmDialog } from 'vj/components/dialog';
import Notification from 'vj/components/notification';
import delay from 'vj/utils/delay'; import delay from 'vj/utils/delay';
import { slideDown, slideUp } from 'vj/utils/slide'; import { slideDown, slideUp } from 'vj/utils/slide';
@@ -254,10 +255,15 @@ const commentsPage = new AutoloadPage('commentsPage', () => {
$(document).on('click', '[data-op="delete"][data-type="comment"]', onCommentClickDeleteComment); $(document).on('click', '[data-op="delete"][data-type="comment"]', onCommentClickDeleteComment);
$(document).on('click', '[data-op="delete"][data-type="reply"]', onCommentClickDeleteReply); $(document).on('click', '[data-op="delete"][data-type="reply"]', onCommentClickDeleteReply);
const canUseReaction = $('[data-op="react"]').length > 0;
$('[data-op="react"]').each((i, e) => { $('[data-op="react"]').each((i, e) => {
ReactDOM.render(<Reaction payload={$(e).data('form')} ele={$(e).closest('.media__body').find('.reactions')} />, e); ReactDOM.render(<Reaction payload={$(e).data('form')} ele={$(e).closest('.media__body').find('.reactions')} />, e);
}); });
$(document).on('click', '.reaction', async (e) => { $(document).on('click', '.reaction', async (e) => {
if (!canUseReaction) {
(window as any).showSignInDialog();
return;
}
const target = $(e.currentTarget); const target = $(e.currentTarget);
const res = await request.post('', { const res = await request.post('', {
operation: 'reaction', operation: 'reaction',
+4 -4
View File
@@ -5,8 +5,8 @@ export class Page {
autoload = false; autoload = false;
afterLoading?: callback; afterLoading?: callback;
beforeLoading?: callback; beforeLoading?: callback;
constructor(pagename: string | string[], afterLoading: callback, beforeLoading: callback); constructor(pagename: string | string[], afterLoading?: callback, beforeLoading?: callback);
constructor(pagename: string | string[], moduleName: string, afterLoading: callback, beforeLoading: callback); constructor(pagename: string | string[], moduleName: string, afterLoading?: callback, beforeLoading?: callback);
constructor(pagename: string | string[], ...args: any[]); constructor(pagename: string | string[], ...args: any[]);
constructor(public name: string | string[], ...args: any[]) { constructor(public name: string | string[], ...args: any[]) {
if (typeof args[0] === 'string') { if (typeof args[0] === 'string') {
@@ -40,8 +40,8 @@ export class Page {
export class NamedPage extends Page { } export class NamedPage extends Page { }
export class AutoloadPage extends Page { export class AutoloadPage extends Page {
constructor(pagename: string | string[], afterLoading: callback, beforeLoading: callback); constructor(pagename: string | string[], afterLoading?: callback, beforeLoading?: callback);
constructor(pagename: string | string[], moduleName: string, afterLoading: callback, beforeLoading: callback); constructor(pagename: string | string[], moduleName: string, afterLoading?: callback, beforeLoading?: callback);
constructor(pagename: string | string[], ...args: any[]) { constructor(pagename: string | string[], ...args: any[]) {
super(pagename, ...args); super(pagename, ...args);
this.autoload = true; this.autoload = true;
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@hydrooj/ui-default", "name": "@hydrooj/ui-default",
"version": "4.34.14", "version": "4.34.15",
"author": "undefined <i@undefined.moe>", "author": "undefined <i@undefined.moe>",
"license": "AGPL-3.0", "license": "AGPL-3.0",
"main": "hydro.js", "main": "hydro.js",