54 lines
1.5 KiB
Go
54 lines
1.5 KiB
Go
package handler
|
|
|
|
import (
|
|
"net/http"
|
|
"net/url"
|
|
)
|
|
|
|
func (h *Handler) showCurrentStatusJSView(w http.ResponseWriter, r *http.Request) {
|
|
name := r.URL.Query().Get("name")
|
|
escName := url.PathEscape(name)
|
|
|
|
w.Header().Set("Content-Type", "application/javascript")
|
|
|
|
w.Write([]byte(`
|
|
if (!document.getElementById("sillywordz")) {
|
|
document.writeln('<div id="sillywordz"><div id="sillywordz-username"></div><div id="sillywordz-number"></div><div id="sillywordz-content"></div></div>');
|
|
}
|
|
fetch("https://sillywordz.kissing.computer/users/` + escName + `/status.json")
|
|
.then(r => r.json())
|
|
.then(r => {
|
|
|
|
if (!r.number || r.number < 1) {
|
|
document.getElementById("sillywordz-number").innerHTML = "No updates yet.";
|
|
return;
|
|
}
|
|
|
|
document.getElementById("sillywordz-username").innerHTML =
|
|
'<a href="https://sillywordz.kissing.computer/users/` + escName + `" target="_blank">' +
|
|
r.author +
|
|
'</a> ' + r.face + ' ' + r.timeAgo;
|
|
|
|
document.getElementById("sillywordz-number").innerHTML =
|
|
"I wrote " + r.number + " words on my project!";
|
|
|
|
if (r.content && r.content.trim().length > 0) {
|
|
document.getElementById("sillywordz-content").innerHTML =
|
|
"And I had this to say about it: " + r.content;
|
|
}
|
|
|
|
});
|
|
`))
|
|
}
|
|
|
|
func (h *Handler) showCurrentStatusView(w http.ResponseWriter, r *http.Request) {
|
|
logged, _ := h.getUser(r)
|
|
name := r.URL.Query().Get("name")
|
|
if name == "" {
|
|
name = logged
|
|
}
|
|
h.renderLayout(w, "current_status", map[string]interface{}{
|
|
"name": name,
|
|
}, logged)
|
|
}
|
|
|