fix panic when not-logged-in user hits root route

This commit is contained in:
Sky Johnson 2025-08-14 13:43:42 -05:00
parent 9629bd9d74
commit 82ef4b31d4
2 changed files with 15 additions and 18 deletions

View File

@ -2,7 +2,6 @@ package routes
import (
"dk/internal/actions"
"dk/internal/middleware"
"dk/internal/models/users"
"dk/internal/router"
"dk/internal/template/components"
@ -10,26 +9,24 @@ import (
)
func Index(ctx router.Ctx, _ []string) {
user := ctx.UserValue("user").(*users.User)
if user != nil {
redirectTo := "/explore"
switch user.Currently {
case "In Town":
redirectTo = "/town"
case "Exploring":
redirectTo = "/explore"
default:
redirectTo = "/explore"
}
ctx.Redirect(redirectTo, 303)
user, ok := ctx.UserValue("user").(*users.User)
if !ok || user == nil {
components.RenderPage(ctx, "", "intro.html", nil)
return
}
components.RenderPage(ctx, "", "intro.html", nil)
switch user.Currently {
case "In Town":
ctx.Redirect("/town", 303)
case "Exploring":
ctx.Redirect("/explore", 303)
default:
ctx.Redirect("/explore", 303)
}
}
func Move(ctx router.Ctx, _ []string) {
user := middleware.GetCurrentUser(ctx)
user := ctx.UserValue("user").(*users.User)
dir, err := strconv.Atoi(string(ctx.PostArgs().Peek("direction")))
if err != nil {
ctx.SetContentType("text/plain")

View File

@ -10,7 +10,6 @@ import (
"syscall"
"dk/internal/middleware"
"dk/internal/session"
"dk/internal/models/babble"
"dk/internal/models/control"
"dk/internal/models/drops"
@ -23,6 +22,7 @@ import (
"dk/internal/models/users"
"dk/internal/router"
"dk/internal/routes"
"dk/internal/session"
"dk/internal/template"
"github.com/valyala/fasthttp"
@ -174,8 +174,8 @@ func start(port string) error {
r.Use(middleware.CSRF())
r.Get("/", routes.Index)
r.Get("/explore", routes.Explore)
r.Post("/move", routes.Move)
r.Use(middleware.RequireAuth()).Get("/explore", routes.Explore)
r.Use(middleware.RequireAuth()).Post("/move", routes.Move)
routes.RegisterAuthRoutes(r)
routes.RegisterTownRoutes(r)