package main

import (
	"log"
	"net/http"

	"binsols/handlers"

	"github.com/go-chi/chi/v5"
	"github.com/go-chi/chi/v5/middleware"
)

func main() {
	r := chi.NewRouter()
	r.Use(middleware.RequestID, middleware.RealIP, middleware.Logger, middleware.Recoverer)
	r.Use(middleware.Compress(5))
	r.Handle("/static/*", http.StripPrefix("/static/", http.FileServer(http.Dir("static"))))

	app := handlers.New()
	r.Get("/", app.Home)
	r.Get("/about", app.About)
	r.Get("/services", app.Services)
	r.Get("/work", app.Work)
	r.Get("/insights", app.Insights)
	r.Get("/contact", app.Contact)
	r.Post("/contact", app.SubmitContact)
	r.NotFound(app.NotFound)

	addr := ":8080"
	log.Printf("BINSOLS is running at http://localhost%s", addr)
	log.Fatal(http.ListenAndServe(addr, r))
}
