htmgo/starter-template/pages/index.go

48 lines
1 KiB
Go
Raw Normal View History

2024-09-11 00:52:18 +00:00
package pages
import (
2024-09-17 17:13:22 +00:00
"github.com/labstack/echo/v4"
2024-09-14 00:05:55 +00:00
"github.com/maddalax/htmgo/framework/h"
2024-09-17 17:13:22 +00:00
"starter-template/pages/base"
"starter-template/partials"
2024-09-11 00:52:18 +00:00
)
2024-09-17 17:13:22 +00:00
func IndexPage(c echo.Context) *h.Page {
return h.NewPage(h.Html(
2024-09-17 17:13:22 +00:00
h.HxExtension(base.Extensions()),
h.Class("bg-slate-100 flex flex-col items-center h-full w-full"),
h.Head(
h.Link("/public/main.css", "stylesheet"),
2024-09-14 00:05:55 +00:00
h.Script("/public/htmgo.js"),
),
h.Body(
h.Class("flex flex-col gap-4"),
h.Div(
h.Class("flex flex-col items-center justify-center gap-6 p-12 text-center"),
h.H1(
h.Class("text-4xl sm:text-5xl font-bold max-w-3xl"),
2024-09-17 17:13:22 +00:00
h.Text("test"),
),
h.P(
h.Class("text-lg sm:text-xl max-w-1xl"),
),
h.Div(
Button(),
),
),
),
))
2024-09-11 00:52:18 +00:00
}
func Button() h.Renderable {
2024-09-17 17:13:22 +00:00
return h.Button(h.Class("btn bg-red-500 p-4 rounded text-white"),
h.Text("this is my nice this works"),
h.AfterRequest(
h.SetDisabled(true),
h.RemoveClass("bg-red-600"),
h.AddClass("bg-gray-500"),
),
h.GetPartial(partials.SamplePartial),
)
}