forked from x/icebergs
add some
This commit is contained in:
parent
d4f9ea0f81
commit
13afc46682
@ -1,8 +1,6 @@
|
|||||||
package web
|
package web
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"strings"
|
|
||||||
|
|
||||||
ice "shylinux.com/x/icebergs"
|
ice "shylinux.com/x/icebergs"
|
||||||
"shylinux.com/x/icebergs/base/aaa"
|
"shylinux.com/x/icebergs/base/aaa"
|
||||||
"shylinux.com/x/icebergs/base/cli"
|
"shylinux.com/x/icebergs/base/cli"
|
||||||
@ -31,13 +29,9 @@ func init() {
|
|||||||
mdb.REMOVE: {Hand: func(m *ice.Message, arg ...string) {
|
mdb.REMOVE: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
m.Cmd(SPIDE, mdb.REMOVE, CLIENT_NAME, m.Option(mdb.NAME))
|
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.HasPrefixList(arg, ctx.RUN) {
|
||||||
if kit.HasPrefix(m.Option(mdb.ICON), nfs.P, nfs.REQUIRE) {
|
m.Cmdy(DREAM, mdb.CREATE, m.OptionSimple(mdb.NAME, nfs.REPOS, nfs.BINARY))
|
||||||
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, cli.START, m.OptionSimple(mdb.NAME))
|
m.Cmdy(DREAM, cli.START, m.OptionSimple(mdb.NAME))
|
||||||
}
|
}
|
||||||
ProcessIframe(m, m.Option(mdb.NAME), S(m.Option(mdb.NAME)), arg...)
|
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) {
|
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() {
|
kit.If(value[CLIENT_TYPE] == nfs.REPOS && value[CLIENT_NAME] != ice.SHY, func() {
|
||||||
list = append(list, value[CLIENT_NAME])
|
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])
|
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)
|
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) {
|
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]]++
|
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"))
|
m.Push("", value, kit.Split("time,type,name,icons,repos,binary,module,version"))
|
||||||
if value[mdb.TYPE] == SERVER {
|
if value[mdb.TYPE] == SERVER {
|
||||||
m.Push(mdb.TEXT, value[mdb.TEXT]).Push(ORIGIN, value[mdb.TEXT]).PushButton()
|
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)
|
m.Push(mdb.TEXT, value[nfs.REPOS]).Push(ORIGIN, origin)
|
||||||
if _, ok := list[value[mdb.NAME]]; ok || arg[0] == ice.OPS {
|
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) {
|
} else if ice.Info.NodeType == WORKER || !aaa.IsTechOrRoot(m) {
|
||||||
m.PushButton(PORTAL)
|
m.PushButton(PORTAL)
|
||||||
} else {
|
} else {
|
||||||
|
@ -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>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 { 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>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: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 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); }
|
fieldset.desktop>div.output>div.desktop>fieldset>form.option>*:not(.textarea) { box-shadow:none; margin:var(--button-margin) var(--input-margin); }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user