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:
@@ -12,6 +12,9 @@ import (
|
||||
"git.eeqj.de/sneak/routewatch/internal/version"
|
||||
)
|
||||
|
||||
//go:embed index.html
|
||||
var indexHTML string
|
||||
|
||||
//go:embed status.html
|
||||
var statusHTML string
|
||||
|
||||
@@ -26,6 +29,8 @@ var prefixLengthHTML string
|
||||
|
||||
// Templates contains all parsed templates
|
||||
type Templates struct {
|
||||
// Index is the template for the home page
|
||||
Index *template.Template
|
||||
// Status is the template for the main status page
|
||||
Status *template.Template
|
||||
// ASDetail is the template for displaying AS (Autonomous System) details
|
||||
@@ -116,6 +121,12 @@ func initTemplates() {
|
||||
"appGitCommitURL": func() string { return version.CommitURL() },
|
||||
}
|
||||
|
||||
// Parse index template
|
||||
defaultTemplates.Index, err = template.New("index").Funcs(funcs).Parse(indexHTML)
|
||||
if err != nil {
|
||||
panic("failed to parse index template: " + err.Error())
|
||||
}
|
||||
|
||||
// Parse status template
|
||||
defaultTemplates.Status, err = template.New("status").Funcs(funcs).Parse(statusHTML)
|
||||
if err != nil {
|
||||
@@ -148,6 +159,11 @@ func Get() *Templates {
|
||||
return defaultTemplates
|
||||
}
|
||||
|
||||
// IndexTemplate returns the parsed index template
|
||||
func IndexTemplate() *template.Template {
|
||||
return Get().Index
|
||||
}
|
||||
|
||||
// StatusTemplate returns the parsed status template
|
||||
func StatusTemplate() *template.Template {
|
||||
return Get().Status
|
||||
|
||||
Reference in New Issue
Block a user