From 476774e81e4553faf93803e08d381d02aaec5f34 Mon Sep 17 00:00:00 2001 From: shy Date: Mon, 8 Jan 2024 20:57:41 +0800 Subject: [PATCH] opt aaa.offer --- const.js | 1 + index.css | 2 +- panel/header.css | 1 - panel/header.js | 16 ++++++++++------ plugin/table.js | 4 +--- 5 files changed, 13 insertions(+), 11 deletions(-) diff --git a/const.js b/const.js index 2b7968f9..f7782b4d 100644 --- a/const.js +++ b/const.js @@ -357,6 +357,7 @@ var icon = { CHEVRON_DOWN: "bi bi-chevron-down", SEARCH: "bi bi-search", TERMINAL: "bi bi-terminal", SUN: "bi bi-sun", MOON: "bi bi-moon-stars", + qrcode: "bi bi-qr-code", search: "bi bi-search", favor: "bi bi-star", save: "bi bi-floppy", admin: "bi bi-window-sidebar", login: "bi bi-person-check", configs: "bi bi-gear", conf: "bi bi-gear", logs: "bi bi-calendar4-week", diff --git a/index.css b/index.css index 6be6a860..1bb36afa 100644 --- a/index.css +++ b/index.css @@ -116,7 +116,7 @@ table.content:hover col.option { background-color:var(--hover-bg-color); } table.content col.action { width:var(--project); } table.content col.time { width:180px; } table.content input:not(:last-child) { margin-right:var(--button-margin); } -table.content img[title^=http] { cursor:pointer; } +img[title^=http] { cursor:pointer; } h1 { text-align:center; margin:var(--title-margin) 0; } h2 { margin:var(--title-margin) 0; } h3 { margin:var(--title-margin) 0; } hr, td.hr { border-bottom:var(--plugin-border-color) dashed 1px; margin:var(--input-margin); } ol, ul { margin-left:var(--title-margin); } diff --git a/panel/header.css b/panel/header.css index a08d741b..511c40ea 100644 --- a/panel/header.css +++ b/panel/header.css @@ -7,7 +7,6 @@ fieldset.Header>div.output div.item.theme>i { margin-right:0; } fieldset.Header>div.output div.item.theme>i:last-child { color:var(--disable-fg-color); } fieldset.Header>div.output div.item.theme>i.bi-moon-stars:last-child { font-size:12px; } fieldset.Header>div.output div.item.language { user-select:none; } -fieldset.Header>div.output div.item.language { margin-right:var(--button-margin); } fieldset.Header>div.output div.item.language>span:last-child { color:var(--disable-fg-color); } fieldset.Header>div.output div.state { float:right; } fieldset.Header>div.output div.state.avatar { padding:0; } diff --git a/panel/header.js b/panel/header.js index 4658ce88..6605e3dc 100644 --- a/panel/header.js +++ b/panel/header.js @@ -4,14 +4,15 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { _title: function(can, msg, target) { can.core.List(can.base.getValid(can.Conf(chat.TITLE)||msg.result, [can.misc.Search(can, ice.POD)||location.host]), function(item) { can.page.Append(can, target, [{view: [[html.ITEM, chat.TITLE, html.FLEX]], list: [{img: can.misc.ResourceFavicon(can)}, {text: item}], title: "返回主页", onclick: function(event) { can.onaction.title(event, can) }}]) }) }, - _state: function(can, msg, target) { can.core.List(can.base.Obj(can.Conf(chat.STATE)||msg.Option(chat.STATE), [chat.THEME, aaa.LANGUAGE, aaa.USERNICK, aaa.AVATAR, mdb.TIME]).reverse(), function(item) { - if (can.user.isMobile && can.base.isIn(item, chat.THEME, aaa.LANGUAGE, mdb.TIME)) { return } + _state: function(can, msg, target) { can.core.List(can.base.Obj(can.Conf(chat.STATE)||msg.Option(chat.STATE), [cli.QRCODE, chat.THEME, aaa.LANGUAGE, aaa.USERNICK, aaa.AVATAR, mdb.TIME]).reverse(), function(item) { + if (can.user.isMobile && can.base.isIn(item, cli.QRCODE, chat.THEME, aaa.LANGUAGE, mdb.TIME)) { return } can.page.Append(can, target, [{view: [[html.ITEM, chat.STATE, item], "", can.Conf(item)||msg.Option(item)||""], onclick: function(event) { can.core.CallFunc([can.onaction, item], [event, can, item]) }, _init: function(target) { item == mdb.TIME && can.onimport._time(can, target) item == aaa.AVATAR && can.page.Append(can, target, [{img: lex.SP}]) item == aaa.LANGUAGE && can.page.Append(can, target, [{text: "EN"}, {text: " / "}, {text: "中"}]) item == chat.THEME && can.page.Append(can, target, [{icon: icon.SUN}, {text: " / "}, {icon: icon.MOON}]) + item == cli.QRCODE && can.page.Append(can, target, [{icon: icon.qrcode}]) }}]) }) }, _language: function(can) { can.page.Select(can, can._output, "div.item.language", function(target) { @@ -64,10 +65,8 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { }) Volcanos(chat.ONACTION, {_init: function(can) {}, onsize: function(can) { can.ConfHeight(can._target.offsetHeight), can.ConfWidth(can._target.offsetWidth) }, - onmain: function(can) { - if (can.misc.Search(can, ice.MSG_SESSID) && can.misc.CookieSessid(can, can.misc.Search(can, ice.MSG_SESSID))) { return can.misc.Search(can, ice.MSG_SESSID, "") } - function lang(msg, cb) { - can.user.info.language = msg.SearchOrOption(aaa.LANGUAGE) + onmain: function(can) { if (can.misc.Search(can, ice.MSG_SESSID) && can.misc.CookieSessid(can, can.misc.Search(can, ice.MSG_SESSID))) { return can.misc.Search(can, ice.MSG_SESSID, "") } + function lang(msg, cb) { can.user.info.language = msg.SearchOrOption(aaa.LANGUAGE) can.user.info.language? can.require([can.misc.Resource(can, nfs.SRC_TEMPLATE+web.CHAT_HEADER+"/language/"+can.user.info.language+".js")], cb, function(can, name, sub) { can.base.Copy(can.user._trans, sub._trans) }): cb && cb() can.onmotion.delay(can, function() { can.onimport._language(can) }) } @@ -117,6 +116,11 @@ Volcanos(chat.ONACTION, {_init: function(can) {}, theme: function(event, can) { can.page.Select(can, can._output, "div.item.theme>i:first-child", function(target) { can.onimport.theme(can, can.onimport._theme(can, target.className == icon.SUN? html.DARK: html.LIGHT)) }) }, + qrcode: function(event, can) { + can.runAction(event, cli.QRCODE, [], function(msg) { + can.user.toast(can, {title: msg.Append(web.LINK), duration: -1, content: msg.Result(), action: [cli.CLOSE, cli.OPEN], resize: html.IMG}) + }) + }, language: function(event, can) { can.onimport.language(can, can.user.info.language.indexOf("zh") == 0? "en-us": "zh-cn") }, email: function(event, can) { can.user.input(can.request(event, {to: can.user.info.email, subject: can.user.title()}), can, [{name: "to", _trans: "收件人", need: "must"}, "subject","content"], function(args) { can.runAction(event, aaa.EMAIL, args, function() { can.user.toastSuccess(can) }) diff --git a/plugin/table.js b/plugin/table.js index d6104621..807e225e 100644 --- a/plugin/table.js +++ b/plugin/table.js @@ -1,8 +1,6 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(can, target), can.onappend.style(can, can.Conf(ctx.STYLE)) - if (can.isCmdMode() && can.Conf(ctx.STYLE) == "form" && can.base.isIn(can.ConfIndex(), "aaa.offer", "aaa.apply")) { - can.onappend.style(can, html.OUTPUT) - } + if (can.isCmdMode() && can.Conf(ctx.STYLE) == "form") { can.onappend.style(can, html.OUTPUT) } if (can.Mode() == html.ZONE) { return can.onimport._vimer_zone(can, msg, target) } var cbs = can.onimport[can.Conf(ctx.STYLE)||msg.Option(ctx.STYLE)]; if (can.base.isFunc(cbs)) { can.onappend.style(can, can._args[ctx.STYLE], target), can.core.CallFunc(cbs, {can: can, msg: msg, target: target})