package templateHelper import ( "fmt" "log" "net/http" "os" "synlotto-website/internal/models" ) // RenderError renders an HTML error page (e.g., 404.html, 500.html). // It uses TemplateContext which reads site meta from InitSiteMeta(). func RenderError(w http.ResponseWriter, r *http.Request, statusCode int) { log.Printf("⚙️ RenderError called with status: %d", statusCode) ctx := 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 } tmpl := LoadTemplateFiles(fmt.Sprintf("%d.html", statusCode), pagePath) w.WriteHeader(statusCode) if err := tmpl.ExecuteTemplate(w, "layout", ctx); 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") }