51 lines
1.3 KiB
Go
51 lines
1.3 KiB
Go
package web
|
|
|
|
import (
|
|
_ "embed"
|
|
"net/http"
|
|
"strings"
|
|
)
|
|
|
|
//go:embed assets/logo.png
|
|
var brandLogoPNG []byte
|
|
|
|
//go:embed assets/fonts/plus-jakarta-sans-400.woff2
|
|
var fontJakarta400 []byte
|
|
|
|
//go:embed assets/fonts/plus-jakarta-sans-500.woff2
|
|
var fontJakarta500 []byte
|
|
|
|
//go:embed assets/fonts/plus-jakarta-sans-600.woff2
|
|
var fontJakarta600 []byte
|
|
|
|
//go:embed assets/fonts/plus-jakarta-sans-700.woff2
|
|
var fontJakarta700 []byte
|
|
|
|
//go:embed assets/fonts/plus-jakarta-sans-800.woff2
|
|
var fontJakarta800 []byte
|
|
|
|
var publicFonts = map[string][]byte{
|
|
"plus-jakarta-sans-400.woff2": fontJakarta400,
|
|
"plus-jakarta-sans-500.woff2": fontJakarta500,
|
|
"plus-jakarta-sans-600.woff2": fontJakarta600,
|
|
"plus-jakarta-sans-700.woff2": fontJakarta700,
|
|
"plus-jakarta-sans-800.woff2": fontJakarta800,
|
|
}
|
|
|
|
func (h *handler) brandLogo(w http.ResponseWriter, _ *http.Request) {
|
|
w.Header().Set("Content-Type", "image/png")
|
|
w.Header().Set("Cache-Control", "public, max-age=604800, immutable")
|
|
_, _ = w.Write(brandLogoPNG)
|
|
}
|
|
|
|
func (h *handler) brandFont(w http.ResponseWriter, r *http.Request) {
|
|
name := strings.TrimSpace(r.PathValue("file"))
|
|
data, ok := publicFonts[name]
|
|
if !ok {
|
|
http.NotFound(w, r)
|
|
return
|
|
}
|
|
w.Header().Set("Content-Type", "font/woff2")
|
|
w.Header().Set("Cache-Control", "public, max-age=31536000, immutable")
|
|
_, _ = w.Write(data)
|
|
}
|