162 lines
3.3 KiB
Go
162 lines
3.3 KiB
Go
package app
|
|
|
|
import (
|
|
"io"
|
|
|
|
"github.com/tdewolff/minify"
|
|
"github.com/tdewolff/minify/css"
|
|
"github.com/tdewolff/minify/html"
|
|
)
|
|
|
|
type MimeType struct {
|
|
Type string
|
|
Minifier func(m *minify.M, w io.Writer, r io.Reader, params map[string]string) error
|
|
}
|
|
|
|
var MimeTypes = map[string]MimeType{
|
|
"css": {
|
|
Type: "text/css",
|
|
Minifier: css.Minify,
|
|
},
|
|
"html": {
|
|
Type: "text/html",
|
|
Minifier: html.Minify,
|
|
},
|
|
"tmpl": {
|
|
Type: "text/plain",
|
|
Minifier: TemplateMinifier,
|
|
},
|
|
"frag": {
|
|
Type: "text/plain",
|
|
Minifier: TemplateMinifier,
|
|
},
|
|
"svg": {
|
|
Type: "image/svg+xml",
|
|
Minifier: nil,
|
|
},
|
|
"js": {
|
|
Type: "application/javascript",
|
|
Minifier: nil,
|
|
},
|
|
"wasm": {
|
|
Type: "application/wasm",
|
|
Minifier: nil,
|
|
},
|
|
"*": {
|
|
Type: "text/plain",
|
|
Minifier: nil,
|
|
},
|
|
}
|
|
|
|
type Icon struct {
|
|
ID string
|
|
Src string
|
|
Alt string
|
|
Clickable bool
|
|
}
|
|
|
|
var Icons = map[string]map[string]Icon{
|
|
"running": {
|
|
"status": {
|
|
Src: "images/status/active.svg",
|
|
Alt: "Instance is running",
|
|
Clickable: false,
|
|
},
|
|
"power": {
|
|
Src: "images/actions/instance/stop.svg",
|
|
Alt: "Shutdown Instance",
|
|
Clickable: true,
|
|
},
|
|
"config": {
|
|
Src: "images/actions/instance/config-inactive.svg",
|
|
Alt: "Change Configuration (Inactive)",
|
|
Clickable: false,
|
|
},
|
|
"console": {
|
|
Src: "images/actions/instance/console-active.svg",
|
|
Alt: "Open Console",
|
|
Clickable: true,
|
|
},
|
|
"delete": {
|
|
Src: "images/actions/delete-inactive.svg",
|
|
Alt: "Delete Instance (Inactive)",
|
|
Clickable: false,
|
|
},
|
|
},
|
|
"stopped": {
|
|
"status": {
|
|
Src: "images/status/inactive.svg",
|
|
Alt: "Instance is stopped",
|
|
Clickable: false,
|
|
},
|
|
"power": {
|
|
Src: "images/actions/instance/start.svg",
|
|
Alt: "Start Instance",
|
|
Clickable: true,
|
|
},
|
|
"config": {
|
|
Src: "images/actions/instance/config-active.svg",
|
|
Alt: "Change Configuration",
|
|
Clickable: true,
|
|
},
|
|
"console": {
|
|
Src: "images/actions/instance/console-inactive.svg",
|
|
Alt: "Open Console (Inactive)",
|
|
Clickable: false,
|
|
},
|
|
"delete": {
|
|
Src: "images/actions/delete-active.svg",
|
|
Alt: "Delete Instance",
|
|
Clickable: true,
|
|
},
|
|
},
|
|
"loading": {
|
|
"status": {
|
|
Src: "images/status/loading.svg",
|
|
Alt: "Instance is loading",
|
|
Clickable: false,
|
|
},
|
|
"power": {
|
|
Src: "images/status/loading.svg",
|
|
Alt: "Loading Instance",
|
|
Clickable: false,
|
|
},
|
|
"config": {
|
|
Src: "images/actions/instance/config-inactive.svg",
|
|
Alt: "Change Configuration (Inactive)",
|
|
Clickable: false,
|
|
},
|
|
"console": {
|
|
Src: "images/actions/instance/console-inactive.svg",
|
|
Alt: "Open Console (Inactive)",
|
|
Clickable: false,
|
|
},
|
|
"delete": {
|
|
Src: "images/actions/delete-inactive.svg",
|
|
Alt: "Delete Instance (Inactive)",
|
|
Clickable: false,
|
|
},
|
|
},
|
|
"online": {
|
|
"status": {
|
|
Src: "images/status/active.svg",
|
|
Alt: "Node is online",
|
|
Clickable: false,
|
|
},
|
|
},
|
|
"offline": {
|
|
"status": {
|
|
Src: "images/status/inactive.svg",
|
|
Alt: "Node is offline",
|
|
Clickable: false,
|
|
},
|
|
},
|
|
"uknown": {
|
|
"status": {
|
|
Src: "images/status/inactive.svg",
|
|
Alt: "Node is offline",
|
|
Clickable: false,
|
|
},
|
|
},
|
|
}
|