diff --git a/const.js b/const.js index 7b72cd47..34987dcd 100644 --- a/const.js +++ b/const.js @@ -165,6 +165,7 @@ var tcp = { SERVICE: "service", HOSTNAME: "hostname", WIFI: "wifi", SSID: "ssid", LOCALHOST: "localhost", + DIRECT: "direct", SEND: "send", RECV: "recv", } var nfs = { DIR: "dir", CAT: "cat", DEFS: "defs", PACK: "pack", TRASH: "trash", DIR_ROOT: "dir_root", diff --git a/frame.js b/frame.js index 59be7dbd..47163f8b 100644 --- a/frame.js +++ b/frame.js @@ -512,8 +512,8 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) { function run(event, cmd, arg) { can.misc.Event(event, can, function(msg) { can.run(request(event), [ctx.ACTION, cmd].concat(arg)) }) } function img(p) { return !msg.IsDetail()? can.page.Format(html.IMG, p, 48, 48): can.user.isMobile? can.page.Format(html.IMG, p, null, 320): can.page.Format(html.IMG, p, 320, null) } if (key == mdb.NAME && value) { _value = can.user.trans(can, value, null, html.INPUT) } - if (key == mdb.ICONS && value) { _value = img(can.misc.Resource(can, data[key])) } if (key == mdb.ICON && value) { _value = img(can.misc.Resource(can, data[key])) } + if (key == mdb.ICONS && value) { _value = img(can.misc.Resource(can, data[key])) } if (key == nfs.IMAGE && value) { _value = can.core.List(can.core.Split(data[key]), function(item) { return img(can.misc.ShareCache(can, item, data.space)) }).join("") } if (key == web.SPACE && value) { _value = can.page.Format(html.A, can.misc.MergePodCmd(can, {pod: value}), value) } if (key == mdb.HASH && can.ConfIndex() == web.TOKEN) { _value = value.slice(0, 4)+"****" } @@ -546,6 +546,9 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) { can.page.ClassList.set(can, target, "will", can.page.ClassList.has(can, target, key)) }) }, _init: function(target) { + if (key == ctx.ACTION && msg.IsDetail()) { + can.onappend.style(can, ctx.ACTION, target.parentNode) + } key == ctx.ACTION && can.onappend.mores(can, target, data, msg.IsDetail()? 10: html.TABLE_BUTTON) var list = can.page.Select(can, target, html.INPUT, function(target) { var _icon = can.Conf("_icons."+target.name)||icon[target.name]; if (_icon && typeof _icon == code.STRING || target.name == mdb.DELETE) { return target } @@ -656,7 +659,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) { append(can.page.Append(can, target, [html.LAYOUT])._target, type==FLOW? FLEX: FLOW, item) } else if (can.base.isObject(item)) { if (item.index) { item._index = count++, ui.size[item._index] = item.height||item.width - can.base.isIn(item._command, web.PORTAL, web.DESKTOP, aaa.OFFER) && can.onmotion.hidden(can, target) + can.base.isIn(item._command, web.PORTAL, web.DESKTOP, aaa.OFFER, aaa.APPLY) && can.onmotion.hidden(can, target) can.onappend.plugin(can, item, function(sub) { can._plugins = (can._plugins||[]).concat([sub]) item.layout = function(height, width) { sub.onimport.size(sub, height, width) } can.onmotion.select(can, sub._target.parentNode, html.FIELDSET, sub._target) diff --git a/index.css b/index.css index 66ab3d93..c7e5a75f 100644 --- a/index.css +++ b/index.css @@ -112,9 +112,14 @@ table.content th.select[data-asc="1"] i.bi-sort-down-alt { display:none; } table.content td.option { cursor:pointer; } table.content td { padding:var(--table-padding); } table.content td i { padding:var(--input-padding); } -table.content.detail td { padding:var(--table-padding) 0; } +// table.content.detail td { padding:var(--table-padding) 0; } table.content.detail td:first-child { text-align:center; } +table.content.detail td:first-child { background-color:var(--plugin-bg-color); position:sticky; left:0; } table.content.detail td i { display:none; } +table.content.detail tr.action { background-color:var(--plugin-bg-color); position:sticky; bottom:0; } +table.content.detail tr.action td { box-shadow:var(--box-shadow); } +table.content.detail tr.action input.icons { display:none; } +table.content.detail tr.action i { display:unset; } table.content:not(.detail) td input.icons { display:none; } table.content.checkbox th:first-child { text-align:center; padding:var(--table-padding); position:sticky; left:2px; } table.content.checkbox td:first-child { text-align:center; padding:var(--table-padding); position:sticky; left:2px; } @@ -227,6 +232,7 @@ fieldset.input.icon img { height:var(--desktop-icon-size); width:var(--desktop-i fieldset.input.icon div.output td { font-size:28px; padding:var(--input-padding); } fieldset.input.date span.close { display:none; } fieldset.input.date>div.action { flex-direction:column; } +fieldset.input.date>div.action>div>div:first-child { margin-left:0; } fieldset.input.date>div.action>div { display:flex; justify-content:space-between; } fieldset.input.date div.action>div.time div.item span { display:none; } fieldset.input.date div.action span.close { display:none; } @@ -237,7 +243,7 @@ fieldset.input.date>div.output td span.lunar { font-size:8px; display:block; cle fieldset.input.date>div.output td span.lunar.term { color:green; } fieldset.input.date>div.output td span.lunar.fest { color:red; } fieldset.input.date>div.output td { cursor:pointer; } -fieldset.input.date>div.status { text-align:center; } +fieldset.input.date>div.status { text-align:center; border-top:unset; } fieldset.input.date>div.status>div.today { padding:var(--input-padding); } fieldset.input.float { padding:0; } fieldset.input.float table.content th { padding:var(--input-padding); } @@ -461,11 +467,11 @@ div.carte div.item:hover { background-color:var(--hover-bg-color); } div.carte div.item.danger:hover { background-color:var(--danger-bg-color); color:var(--danger-fg-color); } div.carte div.item.notice:hover { background-color:var(--notice-bg-color); color:var(--notice-fg-color); } /* z-index */ -body>div.toast.float { z-index:10; } -fieldset.input.float { z-index:10; } +fieldset.Action>div.toast { z-index:11; } +body>div.toast.float { z-index:11; } +div.carte.float { z-index:11; } div.input.float { z-index:10; } -div.carte.float { z-index:10; } -fieldset.Action>div.toast { z-index:10; } +fieldset.input.float { z-index:10; } fieldset.full, fieldset.auto { z-index:10; } fieldset.float { z-index:8; } table.content thead { z-index:2; } diff --git a/lib/user.js b/lib/user.js index 6164d9d1..9b95c9c7 100644 --- a/lib/user.js +++ b/lib/user.js @@ -303,6 +303,10 @@ Volcanos("user", { can.user.trans(can, "or oauth login", "或第三方授权: "), html.LABEL]}, {view: [["sso", html.FLEX]], list: _msg.Table(function(value) { return value.type == "oauth" && {view: [[html.ITEM, html.FLEX]], title: "点击跳转,授权登录", list: [{img: can.misc.Resource(can, value.icons)}, {text: value.name}], onclick: function() { can.user.jumps(can.base.MergeURL(value.link, ice.BACK, location.href)) + }, _init: function(target) { + if (document.referrer) { var u = new URL(document.referrer) + value.link.indexOf(u.origin) == 0 && can.onmotion.delay(can, function() { target.click() }, 300) + } }} }) }]) can.page.style(can, ui._target, {left: (can.page.width()-ui._target.offsetWidth)/2, top: can.page.height() < 640? (can.page.height()-ui._target.offsetHeight)/2: (can.page.height()-ui._target.offsetHeight-html.HEADER_HEIGHT-html.ACTION_HEIGHT)/4+html.HEADER_HEIGHT}) diff --git a/panel/action.css b/panel/action.css index 9d7d3364..f6404670 100644 --- a/panel/action.css +++ b/panel/action.css @@ -8,7 +8,7 @@ fieldset.Action.tabs>div.output>fieldset.plugin:not(.select) { display:none; } fieldset.Header div.Action { display:contents; } /* fieldset.Action.tabview:not(.cmd)>div.output>fieldset.plugin>legend { float:left !important; background-color:transparent; } */ fieldset.Action.tabview:not(.cmd)>div.output>fieldset.plugin>legend { float:left !important; } -fieldset.Action.tabview>div.output>fieldset.plugin:not(.select) { display:none; } +fieldset.Action.tabview>div.output>fieldset.plugin:not(.select):not(:only-child) { display:none; } fieldset.Action.vertical>div.output>fieldset.plugin { float:left; } fieldset.Action.horizon>div.output>fieldset.plugin { float:left; } fieldset.Action.horizon>div.output>fieldset.plugin>div.status { display:none; } diff --git a/panel/header.js b/panel/header.js index f800495d..0afcc7aa 100644 --- a/panel/header.js +++ b/panel/header.js @@ -102,7 +102,7 @@ Volcanos(chat.ONACTION, {_init: function(can) {}, 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]._command, web.PORTAL, aaa.OFFER)) { return show(msg) } + || tool && can.base.isIn(tool[0]._command, web.PORTAL, aaa.OFFER, aaa.APPLY)) { return show(msg) } can.user.login(can, function() { can.onengine.signal(can, chat.ONMAIN, msg) }, msg) }) })