aboutsummaryrefslogtreecommitdiff
path: root/cmd/web/controller/home.go
blob: 42e585ef13984b3ff0011fddebfe36ddd1c3eead (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package controller

import (
	"projecty/cmd/web/model"
	"projecty/internal/authentication"
	"projecty/internal/database"

	"github.com/gofiber/fiber/v2"
)

func HomePage(c *fiber.Ctx) error {

	var authenticatedUser model.User

	isAuthenticated, userID := authentication.AuthGet(c)

	if isAuthenticated {
		db := database.Get()
		db.Model(&authenticatedUser).
			Where("id = ?", userID).
			First(&authenticatedUser)
	}

	return c.Render("home/index", fiber.Map{
		"PageTitle":         "Home — Projecty",
		"FiberCtx":          c,
		"NavBarActive":      "home",
		"AuthenticatedUser": authenticatedUser,
		"CurrentPage":       c.QueryInt("page"),
	}, "layouts/app")
}

func YourFeedPage(c *fiber.Ctx) error {

	var authenticatedUser model.User

	isAuthenticated, userID := authentication.AuthGet(c)
	if isAuthenticated {
		db := database.Get()

		db.Model(&authenticatedUser).
			Where("id = ?", userID).
			First(&authenticatedUser)
	} else {
		return c.Redirect("/")
	}

	return c.Render("home/index", fiber.Map{
		"PageTitle":         "Home — Projecty",
		"Personal":          true,
		"FiberCtx":          c,
		"NavBarActive":      "home",
		"AuthenticatedUser": authenticatedUser,
		"CurrentPage":       c.QueryInt("page"),
	}, "layouts/app")
}

func TagFeedPage(c *fiber.Ctx) error {

	var user model.User

	isAuthenticated, userID := authentication.AuthGet(c)

	if isAuthenticated {
		db := database.Get()
		db.Model(&model.User{ID: userID}).
			First(&user)
	}

	return c.Render("home/index", fiber.Map{
		"PageTitle":    "Home — Projecty",
		"Tag":          true,
		"TagSlug":      c.Params("slug"),
		"FiberCtx":     c,
		"NavBarActive": "home",
		"User":         user,
		"CurrentPage":  c.QueryInt("page"),
	}, "layouts/app")
}