From f13506cfba2da90764620dab2c624ac74767de62 Mon Sep 17 00:00:00 2001 From: Bobby Date: Wed, 16 Jul 2025 13:18:20 +0530 Subject: constants and types refactor; next value for proper redirect on login --- controllers/posts.go | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) (limited to 'controllers/posts.go') diff --git a/controllers/posts.go b/controllers/posts.go index 6fdcd26..03535c7 100644 --- a/controllers/posts.go +++ b/controllers/posts.go @@ -1,22 +1,38 @@ package controllers import ( + "imageboard/config" + "imageboard/database" + "imageboard/utils/auth" "imageboard/utils/shortcuts" "github.com/gofiber/fiber/v2" ) -func PostsController(ctx *fiber.Ctx) error { - ctx.Locals("Title", "Posts") +func PostsPageController(ctx *fiber.Ctx) error { + ctx.Locals("Title", config.PT_POST_LIST) + preferences := ctx.Locals("Preferences") + prefs, ok := preferences.(config.SitePreferences) + if !ok { + return fiber.NewError(fiber.StatusInternalServerError, "Invalid preferences type") + } + + posts, err := database.GetPosts(prefs.PostsPerPage) - searchQuery := ctx.Query("tags", "") + return shortcuts.Render(ctx, config.TEMPLATE_POST_LIST, fiber.Map{ + "Posts": posts, + "Error": err, + }) +} - customdata := struct { - SearchQuery string - Posts []interface{} - }{ - SearchQuery: searchQuery, - Posts: []interface{}{}, +func PostsUploadPageController(ctx *fiber.Ctx) error { + ctx.Locals("Title", config.PT_POST_NEW) + if !auth.IsAuthenticated(ctx) { + loginURL := auth.GetLoginURLWithRedirect(ctx) + ctx.Set("Location", loginURL) + ctx.Status(fiber.StatusFound) + return nil } - return shortcuts.Render(ctx, "posts", customdata) + + return shortcuts.Render(ctx, config.TEMPLATE_POST_NEW, nil) } -- cgit v1.2.3