22package  handlers
33
44import  (
5+ 	"fmt" 
56	"net/http" 
67
78	"github.com/co-browser/agent-browser/internal/log" 
@@ -19,8 +20,9 @@ func NewUIHandler(logger log.Logger) http.Handler {
1920	h  :=  & UIHandler {log : logger }
2021	mux  :=  http .NewServeMux ()
2122
22- 	mux .HandleFunc ("/ui" , h .serveIndex )
23- 	mux .HandleFunc ("/ui/add" , h .serveAddPage )
23+ 	mux .HandleFunc ("/" , h .serveIndex )
24+ 	mux .HandleFunc ("/add" , h .serveAddPage )
25+ 	mux .HandleFunc ("/success" , h .serveSuccessPage )
2426
2527	return  mux 
2628}
@@ -43,10 +45,34 @@ func (h *UIHandler) serveIndex(w http.ResponseWriter, r *http.Request) {
4345			},
4446		},
4547	}).Render (r .Context (), w )
48+ 
4649	if  err  !=  nil  {
4750		// Use the injected logger 
4851		h .log .Error ().Err (err ).Msg ("failed to render index page template" )
4952		http .Error (w , "failed to render page" , http .StatusInternalServerError )
5053		// Removed old comment: // Consider logging the error as well: log.Printf(\"Error rendering template: %v\", err) 
5154	}
5255}
56+ 
57+ func  (h  * UIHandler ) serveAddPage (w  http.ResponseWriter , r  * http.Request ) {
58+ 	err  :=  templates .AddPage (templates.AddPageProps {}).Render (r .Context (), w )
59+ 
60+ 	if  err  !=  nil  {
61+ 		h .log .Error ().Err (err ).Msg ("failed to render add page template" )
62+ 		http .Error (w , "failed to render page" , http .StatusInternalServerError )
63+ 	}
64+ }
65+ 
66+ func  (h  * UIHandler ) serveSuccessPage (w  http.ResponseWriter , r  * http.Request ) {
67+ 	name  :=  r .URL .Query ().Get ("name" )
68+ 	ip  :=  r .URL .Query ().Get ("ip" )
69+ 
70+ 	text  :=  fmt .Sprintf ("Successfully added server '%s' with IP %s." , name , ip )
71+ 
72+ 	err  :=  templates .SuccessPage (templates.SuccessPageProps {Text : text }).Render (r .Context (), w )
73+ 
74+ 	if  err  !=  nil  {
75+ 		h .log .Error ().Err (err ).Msg ("failed to render success page template" )
76+ 		http .Error (w , "failed to render page" , http .StatusInternalServerError )
77+ 	}
78+ }
0 commit comments