From 154f8d6006ee88ba92a8cd84a60bb554f6dfd450 Mon Sep 17 00:00:00 2001 From: shy Date: Tue, 16 Jan 2024 22:09:38 +0800 Subject: [PATCH] opt some --- index.css | 2 +- panel/action.js | 7 ++++--- panel/header.js | 33 ++++++++++++--------------------- 3 files changed, 17 insertions(+), 25 deletions(-) diff --git a/index.css b/index.css index fa5d6f1f..c4e17ec1 100644 --- a/index.css +++ b/index.css @@ -59,7 +59,7 @@ body { background-color:var(--body-bg-color); color:var(--body-fg-color); } body.windows { --code-font-family:"Courier New"; } body.mobile { --qrcode-height:284px; } body.cmd { background-color:var(--plugin-bg-color); } -body.cmd { --plug-width:1200px; --plug-height:640px; } +// body.cmd { --plug-width:1200px; --plug-height:480px; } body.width1 { /* 320-640 手机竖屏 */ --svg-font-size:13px; --river-width:280px;; --project-width:120px; --input-width:80px; diff --git a/panel/action.js b/panel/action.js index 1ec787cf..702193c4 100644 --- a/panel/action.js +++ b/panel/action.js @@ -24,7 +24,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg) { var river = can.Conf(chat.R var tabs = [{view: [html.ITEM, "", can.user.trans(can, meta.name, meta.help)], title: meta.help, onclick: function(event) { can._current = sub can.onmotion.select(can, can._output, html.FIELDSET_PLUGIN, sub._target), can.onmotion.select(can, can._action, html.DIV_ITEM, sub._tabs), can.onmotion.select(can, can._header_tabs, html.DIV_ITEM, sub._header_tabs) var layout = can.onexport.layout(can); layout == FREE || (can._output.scrollTop = sub._target.offsetTop-10) - can.misc.SearchHash(can, can.Conf(chat.RIVER), can.Conf(chat.STORM), sub.Conf("_command")||meta.index, layout) + can.isCmdMode() || can.misc.SearchHash(can, can.Conf(chat.RIVER), can.Conf(chat.STORM), sub.Conf("_command")||meta.index, layout) sub.onimport.size(sub, can.ConfHeight()-can.Conf(html.MARGIN_Y), can.ConfWidth()-can.Conf(html.MARGIN_X), can.onexport.isauto(can)) }, oncontextmenu: sub._legend.onclick}]; sub._header_tabs = can.page.Append(can, can._header_tabs, tabs)._target, sub._tabs = can.page.Append(can, can._action, tabs)._target }, @@ -38,7 +38,8 @@ Volcanos(chat.ONACTION, {_init: function(can, target) { can.Conf(html.MARGIN_X, 2*html.PLUGIN_PADDING+2*html.PLUGIN_MARGIN) can.core.List(["ontouchstart", "ontouchmove", "ontouchend"], function(item) { can.onengine.listen(can, item, function(event, msg) { can.onaction[item](event, can), can.onengine.signal(can, chat.ONACTION_TOUCH, msg) }, target) - }), can.onaction.layout(can) + }) + // can.onaction.layout(can) }, onsize: function(can, msg, height, width) { can.Conf({height: can.base.Min(height, 240), width: width}) }, onlogin: function(can, msg) { @@ -97,7 +98,7 @@ Volcanos(chat.ONACTION, {_init: function(can, target) { portal: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: web.PORTAL})) }, desktop: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: web.DESKTOP})) }, layout: function(can, button, skip) { var before = can._layout||can.onlayout._storage(can); button = button||before||(can.user.isMobile? ALL: TABVIEW) - var list = can.misc.SearchHash(can); list.length > 2 && (list[3] = button); can.misc.SearchHash(can, list[0], list[1], list[2], list[3]) + var list = can.misc.SearchHash(can); list.length > 2 && (list[3] = button); can.isCmdMode() || can.misc.SearchHash(can, list[0], list[1], list[2], list[3]) can.page.ClassList.del(can, can._target, before), can._header_tabs && can.onmotion.hidden(can, can._header_tabs) button = (can.onlayout._storage(can, can._layout = button))||can.misc.SearchOrConf(can, html.LAYOUT), can.page.ClassList.add(can, can._target, button) can.onengine.signal(can, chat.ONLAYOUT, can.request({}, {layout: button, before: before})) diff --git a/panel/header.js b/panel/header.js index ac1820b4..a6b175a4 100644 --- a/panel/header.js +++ b/panel/header.js @@ -44,10 +44,8 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { }) }, theme: function(can, theme) { theme && can.runAction({}, chat.THEME, [theme]) theme && can.misc.localStorage(can, "can.theme", can._theme = theme == ice.AUTO? "": theme) && can.onengine.signal(can, chat.ONTHEMECHANGE, can.request(event, {theme: theme})) - theme = can.onexport.theme(can) - var change = can.page.ClassList.has(can, document.body, theme) - can.user.theme(can, theme); var list = [html.LIGHT, html.WHITE] - change || can.onimport._const(can) + theme = can.onexport.theme(can); var list = [html.LIGHT, html.WHITE] + var change = can.page.ClassList.has(can, document.body, theme); can.user.theme(can, theme), change || can.onimport._const(can) can.page.Select(can, can._output, "div.item.theme>i:first-child", function(target) { if (list.indexOf(theme) == -1 && list.indexOf(theme[0]) == -1) { target.className = icon.MOON } else { target.className = icon.SUN } }) @@ -93,21 +91,17 @@ Volcanos(chat.ONACTION, {_init: function(can) {}, msg.Option(mdb.PLUGIN) && can.onappend.plugin(can, {index: msg.Option(mdb.PLUGIN)}, function(sub) { can.onmotion.hidden(can, sub._target) }, document.body) msg.Option(nfs.SCRIPT) && can.require(can.base.Obj(msg.Option(nfs.SCRIPT)), function(can) { can.onaction.source(can, msg) }) var tool = can._root.Action._conf.tool - if (can.Conf(aaa.USERNICK, (msg.Option(aaa.USERNICK)||msg.Option(ice.MSG_USERNICK)||msg.Option(ice.MSG_USERNAME)).slice(0, 8)) || can.misc.Search(can, web.SHARE) || tool && can.base.isIn(tool[0].index, aaa.OFFER)) { - return show(msg) - } can.user.login(can, function() { can.onengine.signal(can, chat.ONMAIN, msg) }, msg) + if (can.Conf(aaa.USERNICK, (msg.Option(aaa.USERNICK)||msg.Option(ice.MSG_USERNICK)||msg.Option(ice.MSG_USERNAME)).slice(0, 8)) || can.misc.Search(can, web.SHARE) + || tool && can.base.isIn(tool[0]._command, web.PORTAL, aaa.OFFER)) { return show(msg) } + can.user.login(can, function() { can.onengine.signal(can, chat.ONMAIN, msg) }, msg) }) }) }, onstorm_select: function(can, river, storm) { can.Conf(chat.RIVER, river), can.Conf(chat.STORM, storm) }, onaction_cmd: function(can) { can.onappend.style(can, html.HIDE), can.onmotion.delay(can, function() { can.onimport._const(can) }) }, onsearch_focus: function(can) { can._search && can._search.focus() }, - onlayout: function(can, layout, before) { if (can.user.isMobile) { return } - can.page.ClassList.del(can, can._target, before), can.page.ClassList.add(can, can._target, layout) - }, - onshare: function(can, msg, args) { - can.user.share(can, msg, [ctx.ACTION, chat.SHARE].concat(args||[])) - }, + onlayout: function(can, layout, before) { can.user.isMobile || can.page.ClassList.del(can, can._target, before), can.page.ClassList.add(can, can._target, layout) }, + onshare: function(can, msg, args) { can.user.share(can, msg, [ctx.ACTION, chat.SHARE].concat(args||[])) }, onwebpack: function(can, msg) { can.user.input(msg._event, can, [{name: mdb.NAME, value: can.user.title()}], function(data) { can.core.Item(Volcanos.meta.pack, function(key, msg) { can.core.List(["_event", "_can", "_xhr", ""], function(key) { delete(msg[key]) }) }) can.runAction(can.request({}, {args: "name,river,storm,title,theme,layout", _toast: "打包中...", content: JSON.stringify(Volcanos.meta.pack), @@ -125,12 +119,10 @@ 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) { - var ui = can.user.toast(can, {title: msg.Append(web.LINK), duration: -1, content: msg.Result(), action: [cli.CLOSE, cli.OPEN], resize: html.IMG}) - can.page.style(can, ui._target, html.TOP, (can.page.height() - 360)/2) - }) - }, + qrcode: function(event, can) { can.runAction(event, cli.QRCODE, [], function(msg) { + var ui = can.user.toast(can, {title: msg.Append(web.LINK), duration: -1, content: msg.Result(), action: [cli.CLOSE, cli.OPEN], resize: html.IMG}) + can.page.style(can, ui._target, html.TOP, (can.page.height() - 360)/2) + }) }, 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) }) @@ -147,8 +139,7 @@ Volcanos(chat.ONACTION, {_init: function(can) {}, _params: [log.DEBUG, chat.TITLE], _menus: [ - cli.QRCODE, - "shareuser", + cli.QRCODE, "shareuser", [chat.THEME], [aaa.LANGUAGE], // [nfs.SAVE, aaa.EMAIL, web.TOIMAGE, code.WEBPACK], [aaa.USER, "setnick", web.CLEAR, aaa.LOGOUT],