package helpers import ( "fmt" "log" "net/http" "os" "synlotto-website/internal/models" ) func RenderError(w http.ResponseWriter, r *http.Request, statusCode int) { log.Printf("⚙️ RenderError called with status: %d", statusCode) context := TemplateContext(w, r, models.TemplateData{}) pagePath := fmt.Sprintf("templates/error/%d.html", statusCode) log.Printf("📄 Checking for template file: %s", pagePath) if _, err := os.Stat(pagePath); err != nil { log.Printf("🚫 Template file missing: %s", err) http.Error(w, http.StatusText(statusCode), statusCode) return } log.Println("✅ Template file found, loading...") tmpl := LoadTemplateFiles(fmt.Sprintf("%d.html", statusCode), pagePath) w.WriteHeader(statusCode) err := tmpl.ExecuteTemplate(w, "layout", context) if err != nil { log.Printf("❌ Failed to render error page layout: %v", err) http.Error(w, http.StatusText(statusCode), statusCode) return } log.Println("✅ Successfully rendered error page") // ToDo: log these to database }