58 lines
1.8 KiB
Go
58 lines
1.8 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/flosch/pongo2"
|
|
"github.com/gofiber/fiber/v2"
|
|
"github.com/gofiber/fiber/v2/middleware/logger"
|
|
"github.com/gofiber/template/django/v3"
|
|
)
|
|
|
|
var userTmpl *pongo2.Template
|
|
var botTmpl *pongo2.Template
|
|
var popoverTmpl *pongo2.Template
|
|
|
|
func main() {
|
|
botTmpl = pongo2.Must(pongo2.FromFile("views/partials/message-bot.html"))
|
|
userTmpl = pongo2.Must(pongo2.FromFile("views/partials/message-user.html"))
|
|
popoverTmpl = pongo2.Must(pongo2.FromFile("views/partials/popover.html"))
|
|
|
|
// Import HTML using django engine/template
|
|
engine := django.New("./views", ".html")
|
|
|
|
// Create new Fiber instance. Can use any framework. I use fiber for speed and simplicity
|
|
app := fiber.New(fiber.Config{
|
|
Views: engine,
|
|
AppName: "JADE 2.0",
|
|
EnablePrintRoutes: true,
|
|
})
|
|
|
|
// Add default logger
|
|
app.Use(logger.New())
|
|
|
|
// Add static files
|
|
app.Static("/", "./static")
|
|
|
|
// Add routes
|
|
app.Get("/", indexHandler) // Welcome page
|
|
app.Get("/chat", ChatPageHandler) // Complete chat page
|
|
app.Post("/requestMultipleMessages", RequestMultipleMessages) // Request multiple messages
|
|
app.Get("/loadChat", LoadChatHandler) // Load chat
|
|
app.Post("/deleteMessage", DeleteMessageHandler) // Delete message
|
|
app.Get("/loadModelSelection", LoadModelSelectionHandler) // Load model selection
|
|
app.Get("/generateMultipleMessages", GenerateMultipleMessages) // Generate multiple messages
|
|
app.Get("/messageContent", GetMessageContentHandler)
|
|
|
|
app.Get("test", func(c *fiber.Ctx) error {
|
|
fmt.Println("test")
|
|
return c.SendString("")
|
|
})
|
|
// Start server
|
|
app.Listen(":8080")
|
|
}
|
|
|
|
func indexHandler(c *fiber.Ctx) error {
|
|
return c.Render("welcome", fiber.Map{}, "layouts/main")
|
|
}
|