Feat: add exit room

This commit is contained in:
Grail Finder
2025-05-11 13:59:25 +03:00
parent cf5643227b
commit f2aee1469b
7 changed files with 55 additions and 4 deletions

View File

@ -81,3 +81,29 @@ func HandleHome(w http.ResponseWriter, r *http.Request) {
log.Error("failed to exec templ;", "error", err, "templ", "base")
}
}
func HandleExit(w http.ResponseWriter, r *http.Request) {
tmpl, err := template.ParseGlob("components/*.html")
if err != nil {
abortWithError(w, err.Error())
return
}
fi, err := getFullInfoByCtx(r.Context())
if err != nil {
abortWithError(w, err.Error())
return
}
exitedRoom := fi.ExitRoom()
if err := saveRoom(exitedRoom); err != nil {
abortWithError(w, err.Error())
return
}
if err := saveState(fi.State.Username, fi.State); err != nil {
abortWithError(w, err.Error())
return
}
fi.List = listPublicRooms()
if err := tmpl.ExecuteTemplate(w, "base", fi); err != nil {
log.Error("failed to exec templ;", "error", err, "templ", "base")
}
}