package handler import ( "github.com/a-h/templ" "github.com/labstack/echo/v4" "sh.org.ru/pkg/model" "sh.org.ru/pkg/tpl" ) func (h *Handler) Random(c echo.Context) error { quotes := make([]model.Quote, 0, 20) err := h.DB.NewRaw(`select q.* from quotes q where q.approved = true order by random() limit 20`). Scan(c.Request().Context(), "es) if err != nil { return err } comp := tpl.Random(quotes) if c.Request().Header.Get("Hx-Request") == "true" { return comp.Render(c.Request().Context(), c.Response()) } ctx := templ.WithChildren(c.Request().Context(), comp) return tpl.Layout(tpl.HeaderParams{ Title: "Цитатник Рунета", Description: "Новый цитатник Рунета", URL: "https://sh.org.ru/", }).Render(ctx, c.Response()) }