From 13afc466825231e1984bdc752d32a7d726cbba6c Mon Sep 17 00:00:00 2001 From: shy Date: Mon, 27 May 2024 19:32:12 +0800 Subject: [PATCH] add some --- base/web/store.go | 19 ++++++++++--------- core/chat/macos/desktop.css | 3 ++- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/base/web/store.go b/base/web/store.go index 977bb8da..195b5537 100644 --- a/base/web/store.go +++ b/base/web/store.go @@ -1,8 +1,6 @@ package web import ( - "strings" - ice "shylinux.com/x/icebergs" "shylinux.com/x/icebergs/base/aaa" "shylinux.com/x/icebergs/base/cli" @@ -31,13 +29,9 @@ func init() { mdb.REMOVE: {Hand: func(m *ice.Message, arg ...string) { m.Cmd(SPIDE, mdb.REMOVE, CLIENT_NAME, m.Option(mdb.NAME)) }}, - INSTALL: {Hand: func(m *ice.Message, arg ...string) { + INSTALL: {Name: "install name*", Hand: func(m *ice.Message, arg ...string) { if !kit.HasPrefixList(arg, ctx.RUN) { - if kit.HasPrefix(m.Option(mdb.ICON), nfs.P, nfs.REQUIRE) { - m.Option(mdb.ICON, strings.TrimSuffix(kit.TrimPrefix(m.Option(mdb.ICON), nfs.P, nfs.REQUIRE), "?pod="+m.Option(mdb.NAME))) - } - m.OptionDefault(nfs.BINARY, m.Option(ORIGIN)+S(m.Option(mdb.NAME))) - m.Cmdy(DREAM, mdb.CREATE, m.OptionSimple(mdb.NAME, mdb.ICON, nfs.REPOS, nfs.BINARY)) + m.Cmdy(DREAM, mdb.CREATE, m.OptionSimple(mdb.NAME, nfs.REPOS, nfs.BINARY)) m.Cmdy(DREAM, cli.START, m.OptionSimple(mdb.NAME)) } ProcessIframe(m, m.Option(mdb.NAME), S(m.Option(mdb.NAME)), arg...) @@ -60,6 +54,9 @@ func init() { m.Cmd(SPIDE, arg, kit.Dict(ice.MSG_FIELDS, "time,icons,client.type,client.name,client.origin")).Table(func(value ice.Maps) { kit.If(value[CLIENT_TYPE] == nfs.REPOS && value[CLIENT_NAME] != ice.SHY, func() { list = append(list, value[CLIENT_NAME]) + if value[CLIENT_NAME] == ice.OPS { + value[CLIENT_ORIGIN] = UserHost(m) + } m.Push(mdb.NAME, value[CLIENT_NAME]).Push(mdb.ICONS, value[mdb.ICONS]).Push(ORIGIN, value[CLIENT_ORIGIN]) }) }) @@ -86,6 +83,9 @@ func init() { list := m.Spawn(ice.Maps{ice.MSG_FIELDS: ""}).CmdMap(DREAM, mdb.NAME) m.SetAppend().Spawn().SplitIndex(m.Cmdx(SPIDE, arg[0], dream, kit.Dict(mdb.ConfigSimple(m, CLIENT_TIMEOUT)))).Table(func(value ice.Maps) { stat[value[mdb.TYPE]]++ + if value[nfs.BINARY] == "" { + value[nfs.BINARY] = origin + S(value[mdb.NAME]) + } m.Push("", value, kit.Split("time,type,name,icons,repos,binary,module,version")) if value[mdb.TYPE] == SERVER { m.Push(mdb.TEXT, value[mdb.TEXT]).Push(ORIGIN, value[mdb.TEXT]).PushButton() @@ -93,7 +93,8 @@ func init() { } m.Push(mdb.TEXT, value[nfs.REPOS]).Push(ORIGIN, origin) if _, ok := list[value[mdb.NAME]]; ok || arg[0] == ice.OPS { - m.PushButton(PORTAL, DESKTOP, ADMIN, OPEN) + // m.PushButton(PORTAL, DESKTOP, ADMIN, OPEN) + m.PushButton(PORTAL, INSTALL) } else if ice.Info.NodeType == WORKER || !aaa.IsTechOrRoot(m) { m.PushButton(PORTAL) } else { diff --git a/core/chat/macos/desktop.css b/core/chat/macos/desktop.css index ba458bcb..87d4babf 100644 --- a/core/chat/macos/desktop.css +++ b/core/chat/macos/desktop.css @@ -30,7 +30,8 @@ fieldset.desktop>div.output>div.desktop>div.item img { object-fit:contain; heigh fieldset.desktop>div.output>div.desktop>div.item>div.name { color:white; font-size:var(--code-font-size); width:var(--desktop-icon-size); overflow:hidden; } fieldset.desktop>div.output>div.desktop>fieldset { border:0; position:absolute; } fieldset.desktop>div.output>div.desktop>fieldset>legend { box-shadow:none; padding:0 var(--input-padding); margin:var(--button-margin); } -fieldset.desktop>div.output>div.desktop>fieldset>div.item.button { box-shadow:var(--box-shadow); border-radius:var(--plugin-radius); padding:8px; height:23px; width:23px; scale:0.7; position:absolute; top:15px; right:var(--plugin-padding); cursor:pointer; } +fieldset.desktop>div.output>div.desktop>fieldset>div.item.button { box-shadow:var(--box-shadow); border-radius:var(--plugin-radius); padding:8px; height:23px; width:23px; +transform:scale(0.7); position:absolute; top:15px; right:var(--plugin-padding); cursor:pointer; } fieldset.desktop>div.output>div.desktop>fieldset>div.item.button:not(:hover)>span { display:none; } fieldset.desktop>div.output>div.desktop>fieldset div.item.button.window span { position:absolute; left:8px; top:2px; } fieldset.desktop>div.output>div.desktop>fieldset>form.option>*:not(.textarea) { box-shadow:none; margin:var(--button-margin) var(--input-margin); }