Swap Bulma for DaisyUI (Tailwind) (#111)
This commit is contained in:
parent
fc5db0e95a
commit
c1e9baabe6
53 changed files with 1124 additions and 632 deletions
|
|
@ -128,7 +128,7 @@ func (h *Admin) EntityAddSubmit(n *gen.Type) echo.HandlerFunc {
|
|||
return func(ctx echo.Context) error {
|
||||
err := h.admin.Create(ctx, n.Name)
|
||||
if err != nil {
|
||||
msg.Danger(ctx, err.Error())
|
||||
msg.Error(ctx, err.Error())
|
||||
return h.EntityAdd(n)(ctx)
|
||||
}
|
||||
|
||||
|
|
@ -154,7 +154,7 @@ func (h *Admin) EntityEditSubmit(n *gen.Type) echo.HandlerFunc {
|
|||
id := ctx.Get(context.AdminEntityIDKey).(int)
|
||||
err := h.admin.Update(ctx, n.Name, id)
|
||||
if err != nil {
|
||||
msg.Danger(ctx, err.Error())
|
||||
msg.Error(ctx, err.Error())
|
||||
return h.EntityEdit(n)(ctx)
|
||||
}
|
||||
|
||||
|
|
@ -178,7 +178,7 @@ func (h *Admin) EntityDeleteSubmit(n *gen.Type) echo.HandlerFunc {
|
|||
return func(ctx echo.Context) error {
|
||||
id := ctx.Get(context.AdminEntityIDKey).(int)
|
||||
if err := h.admin.Delete(ctx, n.Name, id); err != nil {
|
||||
msg.Danger(ctx, err.Error())
|
||||
msg.Error(ctx, err.Error())
|
||||
return h.EntityDelete(n)(ctx)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ func (h *Auth) LoginSubmit(ctx echo.Context) error {
|
|||
authFailed := func() error {
|
||||
input.SetFieldError("Email", "")
|
||||
input.SetFieldError("Password", "")
|
||||
msg.Danger(ctx, "Invalid credentials. Please try again.")
|
||||
msg.Error(ctx, "Invalid credentials. Please try again.")
|
||||
return h.LoginPage(ctx)
|
||||
}
|
||||
|
||||
|
|
@ -185,7 +185,7 @@ func (h *Auth) Logout(ctx echo.Context) error {
|
|||
if err := h.auth.Logout(ctx); err == nil {
|
||||
msg.Success(ctx, "You have been logged out successfully.")
|
||||
} else {
|
||||
msg.Danger(ctx, "An error occurred. Please try again.")
|
||||
msg.Error(ctx, "An error occurred. Please try again.")
|
||||
}
|
||||
return redirect.New(ctx).
|
||||
Route(routenames.Home).
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ func (h *Files) Page(ctx echo.Context) error {
|
|||
func (h *Files) Submit(ctx echo.Context) error {
|
||||
file, err := ctx.FormFile("file")
|
||||
if err != nil {
|
||||
msg.Danger(ctx, "A file is required.")
|
||||
msg.Error(ctx, "A file is required.")
|
||||
return h.Page(ctx)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ func (h *Pages) fetchPosts(pager *pager.Pager) []models.Post {
|
|||
|
||||
for k := range posts {
|
||||
posts[k] = models.Post{
|
||||
ID: k + 1,
|
||||
Title: fmt.Sprintf("Post example #%d", k+1),
|
||||
Body: fmt.Sprintf("Lorem ipsum example #%d ddolor sit amet, consectetur adipiscing elit. Nam elementum vulputate tristique.", k+1),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ func TestPages__About(t *testing.T) {
|
|||
toDoc()
|
||||
|
||||
// Goquery is an excellent package to use for testing HTML markup
|
||||
h1 := doc.Find("h1.title")
|
||||
h1 := doc.Find("h1")
|
||||
assert.Len(t, h1.Nodes, 1)
|
||||
assert.Equal(t, "About", h1.Text())
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,31 +2,52 @@ package handlers
|
|||
|
||||
import (
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"github.com/gorilla/sessions"
|
||||
"github.com/labstack/echo/v4"
|
||||
echomw "github.com/labstack/echo/v4/middleware"
|
||||
"github.com/mikestefanello/pagoda/config"
|
||||
"github.com/mikestefanello/pagoda/pkg/context"
|
||||
"github.com/mikestefanello/pagoda/pkg/middleware"
|
||||
"github.com/mikestefanello/pagoda/pkg/services"
|
||||
files "github.com/mikestefanello/pagoda/public"
|
||||
)
|
||||
|
||||
// BuildRouter builds the router.
|
||||
func BuildRouter(c *services.Container) error {
|
||||
// Static files with proper cache control.
|
||||
// ui.File() should be used in ui components to append a cache key to the URL in order to break cache
|
||||
// after each server restart.
|
||||
c.Web.Group("", middleware.CacheControl(c.Config.Cache.Expiration.StaticFile)).
|
||||
Static(config.StaticPrefix, config.StaticDir)
|
||||
// Force HTTPS, if enabled.
|
||||
if c.Config.HTTP.TLS.Enabled {
|
||||
c.Web.Use(echomw.HTTPSRedirect())
|
||||
}
|
||||
|
||||
// Serve public files with cache control.
|
||||
c.Web.Group("", middleware.CacheControl(c.Config.Cache.Expiration.PublicFile)).
|
||||
Static("files", "public/files")
|
||||
|
||||
// Serve static files.
|
||||
// ui.StaticFile() should be used in ui components to append a cache key to the URL to break cache
|
||||
// after each server reboot.
|
||||
c.Web.Group(
|
||||
"",
|
||||
echomw.GzipWithConfig(echomw.GzipConfig{
|
||||
Skipper: func(c echo.Context) bool {
|
||||
for _, ext := range []string{
|
||||
".js",
|
||||
".css",
|
||||
} {
|
||||
if strings.HasSuffix(c.Request().URL.Path, ext) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
},
|
||||
}),
|
||||
middleware.CacheControl(c.Config.Cache.Expiration.PublicFile),
|
||||
).StaticFS("static", echo.MustSubFS(files.Static, "static"))
|
||||
|
||||
// Non-static file route group.
|
||||
g := c.Web.Group("")
|
||||
|
||||
// Force HTTPS, if enabled.
|
||||
if c.Config.HTTP.TLS.Enabled {
|
||||
g.Use(echomw.HTTPSRedirect())
|
||||
}
|
||||
|
||||
// Create a cookie store for session data.
|
||||
cookieStore := sessions.NewCookieStore([]byte(c.Config.App.EncryptionKey))
|
||||
cookieStore.Options.HttpOnly = true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue