diff --git a/handlers/common.go b/handlers/common.go new file mode 100644 index 0000000..a139712 --- /dev/null +++ b/handlers/common.go @@ -0,0 +1,16 @@ +package handlers + +import ( + "html/template" + "synlotto-website/models" +) + +var Tmpl = template.Must(template.ParseFiles( + "templates/layout.html", + "templates/index.html", + "templates/new_draw.html", + "templates/new_ticket.html", +)) + +var Draws []models.Draw +var MyTickets []models.MyTicket diff --git a/handlers/draw_handler.go b/handlers/draw_handler.go index bb1703a..766e1a4 100644 --- a/handlers/draw_handler.go +++ b/handlers/draw_handler.go @@ -1,27 +1,17 @@ package handlers import ( - "html/template" "log" "net/http" - "synlotto-website/models" ) -var tmpl = template.Must(template.ParseFiles( - "templates/layout.html", - "templates/index.html", - "templates/new_draw.html", -)) - func Home(w http.ResponseWriter, r *http.Request) { log.Println("✅ Home hit") - var draws []models.Draw - - err := tmpl.ExecuteTemplate(w, "layout", map[string]interface{}{ + err := Tmpl.ExecuteTemplate(w, "layout", map[string]interface{}{ "Page": "index", - "Data": draws, + "Data": Draws, }) if err != nil { log.Println("❌ Template error:", err) @@ -32,7 +22,7 @@ func Home(w http.ResponseWriter, r *http.Request) { func NewDraw(w http.ResponseWriter, r *http.Request) { log.Println("➡️ New draw form opened") - err := tmpl.ExecuteTemplate(w, "layout", map[string]interface{}{ + err := Tmpl.ExecuteTemplate(w, "layout", map[string]interface{}{ "Page": "new_draw", "Data": nil, }) @@ -44,18 +34,25 @@ func NewDraw(w http.ResponseWriter, r *http.Request) { func Submit(w http.ResponseWriter, r *http.Request) { log.Println("📝 Form submission received") - err := r.ParseForm() - if err != nil { - http.Error(w, "Invalid form", http.StatusBadRequest) - return + r.ParseForm() + + draw := models.Draw{ + Date: r.FormValue("date"), + Machine: r.FormValue("machine"), + Ballset: r.FormValue("ballset"), + Ball1: r.FormValue("ball1"), + Ball2: r.FormValue("ball2"), + Ball3: r.FormValue("ball3"), + Ball4: r.FormValue("ball4"), + Ball5: r.FormValue("ball5"), + Thunderball: r.FormValue("thunderball"), } - date := r.FormValue("date") - numbers := r.FormValue("numbers") - spend := r.FormValue("spend") - ret := r.FormValue("return") + Draws = append(Draws, draw) - log.Printf("📅 Date: %s | 🔢 Numbers: %s | 💸 Spend: %s | 💰 Return: %s\n", date, numbers, spend, ret) + log.Printf("📅 %s | 🛠 %s | 🎱 %s | 🔢 %s,%s,%s,%s,%s | ⚡ %s\n", + draw.Date, draw.Machine, draw.Ballset, + draw.Ball1, draw.Ball2, draw.Ball3, draw.Ball4, draw.Ball5, draw.Thunderball) http.Redirect(w, r, "/", http.StatusSeeOther) } diff --git a/handlers/ticket_handler.go b/handlers/ticket_handler.go new file mode 100644 index 0000000..18e53e6 --- /dev/null +++ b/handlers/ticket_handler.go @@ -0,0 +1,44 @@ +package handlers + +import ( + "log" + "net/http" + + "synlotto-website/models" +) + +func NewTicket(w http.ResponseWriter, r *http.Request) { + log.Println("🎟️ New ticket form opened") + + err := Tmpl.ExecuteTemplate(w, "new_ticket", map[string]interface{}{ + "Page": "new_ticket", + "Data": nil, + }) + if err != nil { + log.Println("❌ Template error:", err) + http.Error(w, "Error rendering ticket form", http.StatusInternalServerError) + } +} + +func SubmitTicket(w http.ResponseWriter, r *http.Request) { + r.ParseForm() + + ticket := models.MyTicket{ + DrawDate: r.FormValue("draw_date"), + Ball1: r.FormValue("ball1"), + Ball2: r.FormValue("ball2"), + Ball3: r.FormValue("ball3"), + Ball4: r.FormValue("ball4"), + Ball5: r.FormValue("ball5"), + Thunderball: r.FormValue("thunderball"), + } + + MyTickets = append(MyTickets, ticket) + + log.Printf("🎟 Ticket for %s: %s %s %s %s %s + %s", + ticket.DrawDate, + ticket.Ball1, ticket.Ball2, ticket.Ball3, ticket.Ball4, ticket.Ball5, ticket.Thunderball, + ) + + http.Redirect(w, r, "/", http.StatusSeeOther) +}