66 lines
1.5 KiB
Go
66 lines
1.5 KiB
Go
package main
|
|
|
|
import (
|
|
"html/template"
|
|
"log"
|
|
|
|
"github.com/SowinskiBraeden/gfbmb/messageBox"
|
|
"github.com/gofiber/fiber/v2"
|
|
"github.com/gofiber/template/html"
|
|
)
|
|
|
|
// Example
|
|
func main() {
|
|
// Example engine
|
|
engine := html.New("./exampleViews", ".html")
|
|
|
|
// Take not of this AddFunc code,
|
|
// This is from GoFiber enabling us to render html
|
|
engine.AddFunc(
|
|
// add unescape function
|
|
"unescape", func(s string) template.HTML {
|
|
return template.HTML(s)
|
|
},
|
|
)
|
|
|
|
// After you created your engine, you can pass it to Fiber's Views Engine
|
|
app := fiber.New(fiber.Config{
|
|
Views: engine,
|
|
})
|
|
|
|
// Index Example
|
|
app.Get("/", func(c *fiber.Ctx) error {
|
|
return c.Render("index", fiber.Map{
|
|
"msgBox": messageBox.EmptyMessageBox(),
|
|
})
|
|
})
|
|
|
|
app.Post("/", func(c *fiber.Ctx) error {
|
|
msgType := c.FormValue("messageboxtype")
|
|
// msgType is a string value of
|
|
// 'success', 'warning' or 'danger'
|
|
message := c.FormValue("message")
|
|
|
|
// You can use...
|
|
newMsgBox, err := messageBox.NewMessageBox(message, msgType)
|
|
// msgType is optional, providing none will default to 'success'
|
|
if err != nil {
|
|
return c.Render("index", fiber.Map{
|
|
"msgBox": messageBox.NewDangerBox(err.Error()),
|
|
})
|
|
}
|
|
// To make a new message box
|
|
|
|
// Or you can use any of the following:
|
|
// newMsgBox := messageBox.NewSuccessBox(message)
|
|
// newMsgBox := messageBox.NewWarningBox(message)
|
|
// newMsgBox := messageBox.NewErrorBox(message)
|
|
|
|
return c.Render("index", fiber.Map{
|
|
"msgBox": newMsgBox,
|
|
})
|
|
})
|
|
|
|
log.Fatal(app.Listen(":3000"))
|
|
}
|