/* Copyright (C) 2025 snoutie Authors: snoutie (copyright@achtarmig.org) This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package router import ( "api-cds-search/cmd/handler" "api-cds-search/cmd/search" "api-cds-search/cmd/ui" "fmt" "net/http" "github.com/go-chi/chi" ) func Load() *chi.Mux { r := chi.NewRouter() r.Group(func(r chi.Router) { ui.Load() r.Get("/", handleRoot) r.Route("/search", func(r chi.Router) { r.Get("/", search.HandleSearch) }) r.Route("/cds", func(r chi.Router) { r.Get("/field/", handler.GetCDSField) }) }) r.Handle("/ui/css/*", http.StripPrefix("/ui/css", http.FileServer(http.Dir("./cmd/ui/css")))) r.Handle("/ui/svg/*", http.StripPrefix("/ui/svg", http.FileServer(http.Dir("./cmd/ui/svg")))) return r } func handleRoot(w http.ResponseWriter, r *http.Request) { err := ui.Template.ExecuteTemplate(w, "main", nil) if err != nil { fmt.Println(err) return } }