diff --git a/index.css b/index.css index bc3c3c91..34d17ad6 100644 --- a/index.css +++ b/index.css @@ -70,7 +70,7 @@ ol, ul { margin-left:40px; } a { color:var(--body-fg-color); font-style:italic; } p { margin:20px 0; } kbd { padding:0 5px; font-family:var(--code-font-family); } -img, iframe { margin-bottom:-3px; } +// img, iframe { margin-bottom:-3px; } iframe { height:420px; width:100%; } /* fieldset */ fieldset>legend { box-shadow:var(--box-shadow); } @@ -295,7 +295,7 @@ fieldset.output>div.item { display:none; } fieldset>form.option, fieldset>div.action { display:contents; } form.option.hide, div.action.hide, .hidden, .hide { display:none; } div.action, div.output, div.status, div.project, div.content, div.profile, div.display, table.content, table.content td, div.list, div.code, div.story, div.float, fieldset.float { overflow:auto; } legend, form.option, form.option>div.item, div.action, div.action>div.item, div.action>div.tabs, fieldset>div.status>div.item { float:left; } -fieldset.story, div.output, fieldset>div.status, div.project div.item, div.content:not(.item), div.code, div.story[data-type=spark] { clear:both; } +fieldset.story, fieldset>div.output, fieldset>div.status, div.project div.item, div.content:not(.item), div.code, div.story[data-type=spark] { clear:both; } fieldset.story { position:sticky; left:0; } fieldset.full { position:fixed; left:0; top:0; } fieldset.auto, fieldset.full, fieldset.float, div.float { position:fixed; z-index:100; box-shadow:var(--box-shadow); } diff --git a/lib/base.js b/lib/base.js index 6394cadf..1ba81c84 100644 --- a/lib/base.js +++ b/lib/base.js @@ -12,6 +12,10 @@ Volcanos("base", { if (val.length > 0) { return val } for (var k in val) { return val } return def } catch (e) { return typeof val == code.STRING && val.split(mdb.FS) || def } }, + CopyStr: function(to, from) { if (!from) { return to } + for (var k in from) { typeof from[k] == code.STRING && (to[k] = from[k]) } + return to + }, Copy: function(to, from, merge) { if (!from) { return to } if (arguments.length == 2 || typeof merge == code.BOOLEAN) { for (var k in from) { if (k == undefined) { continue } if (merge && to.hasOwnProperty(k) && to[k] != undefined && to[k] != "") { continue } diff --git a/lib/user.js b/lib/user.js index 70435237..5f0251b9 100644 --- a/lib/user.js +++ b/lib/user.js @@ -257,7 +257,7 @@ Volcanos("user", { }) }) }, header: function(can) { if (!can._root) { return } var header = can._root.Header var meta = { - space: {view: [[html.ITEM, html.SPACE]], style: {"flex-grow": "1"}}, + // space: {view: [[html.ITEM, html.SPACE]], style: {"flex-grow": "1"}}, time: !can.user.isMobile && {view: [[html.ITEM, mdb.TIME]], _init: function(target) { can.onappend.figure(can, {action: "date", _hold: true}, target, function(sub, value) {}) can.core.Timer({interval: 100}, function() { can.page.Modify(can, target, can.user.time(can, null, "%H:%M:%S %w")) }) diff --git a/panel/header.js b/panel/header.js index a9c1fef1..d8298ff6 100644 --- a/panel/header.js +++ b/panel/header.js @@ -55,9 +55,7 @@ Volcanos(chat.ONACTION, {_init: function(can) { can.user.info.language? can.require(["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() } function show(msg) { var p = can.misc.Search(can, "redirect_uri") - if (p && location.pathname == "/basic/login") { - return location.replace(can.base.MergeURL(p, ice.MSG_SESSID, can.misc.CookieSessid(can))) - } + if (p && location.pathname == "/login") { return location.replace(can.base.MergeURL(p, ice.MSG_SESSID, can.misc.CookieSessid(can))) } can.user.info.usernick = can.Conf(aaa.USERNICK), can.user.info.userrole = msg.Option(ice.MSG_USERROLE), can.user.info.avatar = msg.Option(aaa.AVATAR), can.user.info.background = msg.Option(aaa.BACKGROUND) can.user.info.email = msg.Option(aaa.EMAIL), can.user.info.repos = msg.Option(nfs.REPOS) msg.Option(nfs.SCRIPT) && can.require(can.base.Obj(msg.Option(nfs.SCRIPT)), function(can) { can.onaction.source(can, msg) }) diff --git a/plugin/local/code/inner.css b/plugin/local/code/inner.css index 1a051634..08862491 100644 --- a/plugin/local/code/inner.css +++ b/plugin/local/code/inner.css @@ -44,8 +44,8 @@ fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs { flex-grow:1; flex-w fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs:hover { background-color:unset; } fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs>div.tabs { padding:5px; height:38px; display:flex; align-items:center; } fieldset.inner.cmd>div.output>div.layout>div.tabs>div.tabs>div.tabs>span { font-style:italic; } -fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div { white-space:pre; padding:5px; height:38px; display:flex; align-items:center; } -fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.avatar { padding:0; height:38px; } +fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div { white-space:pre; padding:10px; height:38px; display:flex; align-items:center; } +fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.avatar { padding:0; } fieldset.inner.cmd>div.output>div.layout>div.tabs>div.head>div.avatar>img { height:38px; } fieldset.inner.cmd>div.output>div.layout>div.path { font-style:italic; padding:5px; box-shadow:var(--box-shadow); display:block; cursor:pointer; } fieldset.inner.cmd>div.output>div.layout>div.path.hide { display:none; } @@ -70,6 +70,12 @@ tr.line>td.line { user-select:none; } tr.line>td.line { text-align:right; padding:0 10px; position:sticky; left:0; } tr.line>td.text { white-space:pre; line-height:20px; padding-left:10px; width:100%; } tr.line:hover { background-color:var(--hover-bg-color); } +tr.line.delete { background-color:#3c2626; } +tr.line.insert { background-color:#283e2d; } +body.light tr.line.delete { background-color:#e6ffed; } +body.light tr.line.insert { background-color:#ffeef0; } +body.white tr.line.delete { background-color:#e6ffed; } +body.white tr.line.insert { background-color:#ffeef0; } fieldset.inner:not(.monaco)>div.output>div.layout>div.layout>div.content * { font-family:var(--code-font-family); font-size:var(--code-font-size); } body:not(.windows) fieldset.inner>div.output>div.project * { font-family:var(--code-font-family); font-size:var(--code-font-size); }