refactor: common base template for pages

will allow to add common header and stuff
This commit is contained in:
efim
2023-11-13 05:25:02 +00:00
parent b1f2e896b9
commit 1297fcf35d
8 changed files with 140 additions and 55 deletions

View File

@@ -13,6 +13,10 @@ import (
"sunshine.industries/some-automoderation/sessions"
)
type MainData struct {
IsRoomExisting bool
}
// function to register all http routes for servicing auth pages and logic
func registerLoginRoutes(
templateFs *embed.FS,
@@ -82,9 +86,19 @@ func authedPageMiddleware(
}
func renderLoginPage(w http.ResponseWriter) {
baseFile := "templates/base.gohtml"
templFile := "templates/login.gohtml"
tmpl := template.Must(template.ParseFS(templateFs, templFile))
err := tmpl.Execute(w, nil)
tmpl := template.Must(template.ParseFS(templateFs, templFile, baseFile))
data := pageData {
Base: baseData{
Title: "login",
},
Content: MainData{
IsRoomExisting: false,
},
}
err := tmpl.ExecuteTemplate(w, "full-page", data)
if err != nil {
log.Printf("my error in executing template, huh\n %s", err)
}
@@ -113,10 +127,10 @@ func createRoomHandler(templateFs *embed.FS,
PasswordHash: r.PostFormValue("personalPassword"), // TODO hash the password, not to store
}
newRoom := rooms.Room{
Name: roomName,
PasswordHash: r.PostFormValue("roomPassword"), // TODO hash the password, not to store
AdminIds: []rooms.PersonId{person.Id},
Paricipants: []rooms.PersonId{person.Id},
Name: roomName,
PasswordHash: r.PostFormValue("roomPassword"), // TODO hash the password, not to store
AdminIds: []rooms.PersonId{person.Id},
Paricipants: []rooms.PersonId{person.Id},
AllKnownPeople: []rooms.Person{person},
}
err = roomsM.Save(newRoom)
@@ -226,7 +240,7 @@ func joinRoomHandler(templateFs *embed.FS,
PasswordHash: personPass,
Id: rooms.RandomPersonId(),
}
err := roomsM.Update(context.TODO(), room.Name, func(fromRoom rooms.Room) (toRoom rooms.Room) {
err := roomsM.Update(r.Context(), room.Name, func(fromRoom rooms.Room) (toRoom rooms.Room) {
log.Printf("/login/join about to modify room %+v", fromRoom)
toRoom = fromRoom
toRoom.AllKnownPeople = append(toRoom.AllKnownPeople, person)
@@ -245,7 +259,7 @@ func joinRoomHandler(templateFs *embed.FS,
// now we have room and person, can create a session
// and we've checked password
err = roomsM.Update(context.TODO(), room.Name, func(fromRoom rooms.Room) (toRoom rooms.Room) {
err = roomsM.Update(r.Context(), room.Name, func(fromRoom rooms.Room) (toRoom rooms.Room) {
toRoom = fromRoom
toRoom.Paricipants = append(toRoom.Paricipants, person.Id)
return toRoom