# HG changeset patch
# User Peter Sanchez
# Date 1668817144 21600
# Fri Nov 18 18:19:04 2022 -0600
# Node ID f7110c1dd9b21fc025b8d2fdb5462ebe95a59bfe
# Parent c1b9100b0fc4a9fd0dc2a5c2e628a627780c86fb
Adding emus picker from ols
diff --git a/views/honkform.html b/views/honkform.html
--- a/views/honkform.html
+++ b/views/honkform.html
@@ -44,4 +44,33 @@
+
+
+
+
+
diff --git a/views/style.css b/views/style.css
--- a/views/style.css
+++ b/views/style.css
@@ -253,6 +253,11 @@
.honk details.actions summary {
color: var(--fg-subtle);
}
+
+#emupicker{height:300px;overflow-y:scroll;padding:3px;background:var(--bg-dark);border:solid 5px var(--fg-subtle);text-align:center;display:none;}
+#emupicker img{margin:0;}
+.emuload{background:var(--bg-page);padding:0.5em;}
+
.subtle .noise {
color: var(--fg-subtle);
font-size: 0.8em;
diff --git a/web.go b/web.go
--- a/web.go
+++ b/web.go
@@ -50,6 +50,8 @@
var develMode = false
+var emunames []string
+
func getuserstyle(u *login.UserInfo) template.CSS {
if u == nil {
return ""
@@ -147,6 +149,15 @@
honkpage(w, u, honks, templinfo)
}
+func showemus(w http.ResponseWriter, r *http.Request) {
+ templinfo := getInfo(r)
+ templinfo["Emus"] = emunames
+ err := readviews.Execute(w, "emus.html", templinfo)
+ if err != nil {
+ elog.Print(err)
+ }
+}
+
func showfunzone(w http.ResponseWriter, r *http.Request) {
var emunames, memenames []string
emuext := make(map[string]string)
@@ -2419,6 +2430,22 @@
}
}
+func emuinit() {
+ dir, err := os.Open(dataDir + "/emus")
+ if err == nil {
+ emunames, _ = dir.Readdirnames(0)
+ dir.Close()
+ }
+ for i, e := range emunames {
+ if len(e) > 4 {
+ emunames[i] = e[:len(e)-4]
+ }
+ }
+ sort.Slice(emunames, func(i, j int) bool {
+ return emunames[i] < emunames[j]
+ })
+}
+
func serve() {
db := opendatabase()
login.Init(login.InitArgs{Db: db, Logger: ilog, Insecure: develMode})
@@ -2433,6 +2460,7 @@
go tracker()
go bgmonitor()
loadLingo()
+ emuinit()
readviews = templates.Load(develMode,
viewDir+"/views/honkpage.html",
@@ -2451,6 +2479,7 @@
viewDir+"/views/msg.html",
viewDir+"/views/header.html",
viewDir+"/views/onts.html",
+ viewDir+"/views/emus.html",
viewDir+"/views/honkpage.js",
)
if !develMode {
@@ -2550,6 +2579,7 @@
loggedin.HandleFunc("/t", showconvoy)
loggedin.HandleFunc("/q", showsearch)
loggedin.HandleFunc("/hydra", webhydra)
+ loggedin.HandleFunc("/emus", showemus)
loggedin.Handle("/submithonker", login.CSRFWrap("submithonker", http.HandlerFunc(submithonker)))
err = http.Serve(listener, mux)