# 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)