Add navbar and home page with search functionality
- Create new home page (/) with overview stats, ASN lookup, AS name search, and IP address lookup with JSON display - Add responsive navbar to all pages with app branding - Navbar shows "routewatch by @sneak" with link to author - Status page accessible via navbar link - Remove redirect from / to /status, serve home page instead
This commit is contained in:
@@ -87,10 +87,16 @@ func (s *Server) handleHealthCheck() http.HandlerFunc {
|
||||
}
|
||||
}
|
||||
|
||||
// handleRoot returns a handler that redirects to /status.
|
||||
func (s *Server) handleRoot() http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
http.Redirect(w, r, "/status", http.StatusSeeOther)
|
||||
// handleIndex returns a handler that serves the home page.
|
||||
func (s *Server) handleIndex() http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, _ *http.Request) {
|
||||
w.Header().Set("Content-Type", "text/html; charset=utf-8")
|
||||
|
||||
tmpl := templates.IndexTemplate()
|
||||
if err := tmpl.Execute(w, nil); err != nil {
|
||||
s.logger.Error("Failed to render index template", "error", err)
|
||||
http.Error(w, "Internal Server Error", http.StatusInternalServerError)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ func (s *Server) setupRoutes() {
|
||||
r.Use(JSONResponseMiddleware)
|
||||
|
||||
// Routes
|
||||
r.Get("/", s.handleRoot())
|
||||
r.Get("/", s.handleIndex())
|
||||
r.Get("/status", s.handleStatusHTML())
|
||||
r.Get("/status.json", JSONValidationMiddleware(s.handleStatusJSON()).ServeHTTP)
|
||||
r.Get("/.well-known/healthcheck.json", JSONValidationMiddleware(s.handleHealthCheck()).ServeHTTP)
|
||||
|
||||
Reference in New Issue
Block a user