diff --git a/assets/img/logo.png b/assets/img/logo.png new file mode 100644 index 0000000..1dbe6db Binary files /dev/null and b/assets/img/logo.png differ diff --git a/internal/server/handle_public.go b/internal/server/handle_public.go index 6254a9b..9848a87 100644 --- a/internal/server/handle_public.go +++ b/internal/server/handle_public.go @@ -4,11 +4,20 @@ import ( "net/http" "github.com/labstack/echo/v4" + + "github.com/rjNemo/rentease/config" "github.com/rjNemo/rentease/internal/views" ) -func handleHomePage() echo.HandlerFunc { +func handleHomePage(hc *config.Host) echo.HandlerFunc { return func(ctx echo.Context) error { - return renderTempl(ctx, http.StatusOK, views.Index()) + return renderTempl(ctx, http.StatusOK, views.Index(&views.HostViewModel{ + Name: hc.Name, + Address: hc.Address, + ZipCode: hc.ZipCode, + City: hc.City, + PhoneNumber: hc.PhoneNumber, + Email: hc.Email, + })) } } diff --git a/internal/server/routes.go b/internal/server/routes.go index d8241b9..5c8ac9b 100644 --- a/internal/server/routes.go +++ b/internal/server/routes.go @@ -1,7 +1,7 @@ package server func (s Server) MountHandlers() { - s.Router.GET("/", handleHomePage()) + s.Router.GET("/", handleHomePage(s.hc)) s.Router.GET("/bookings", handleListBookingPage(s.bs, s.hc)) s.Router.GET("/bookings/new", handleNewBookingPage()) s.Router.POST("/bookings/new", handleCreateBooking(s.bs)) diff --git a/internal/views/index.templ b/internal/views/index.templ index 0a9f5d9..58213c7 100644 --- a/internal/views/index.templ +++ b/internal/views/index.templ @@ -1,7 +1,27 @@ package views -templ Index() { +type HostViewModel struct { + Name string + Address string + ZipCode string + City string + PhoneNumber string + Email string +} + +templ Index(host *HostViewModel) { @BaseLayout() { - New Booking +
+
{ host.Name }
+
+ + +
+
} } diff --git a/internal/views/index_templ.go b/internal/views/index_templ.go index eb3e3bf..37226dc 100644 --- a/internal/views/index_templ.go +++ b/internal/views/index_templ.go @@ -10,7 +10,16 @@ import "context" import "io" import "bytes" -func Index() templ.Component { +type HostViewModel struct { + Name string + Address string + ZipCode string + City string + PhoneNumber string + Email string +} + +func Index(host *HostViewModel) templ.Component { return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) if !templ_7745c5c3_IsBuffer { @@ -29,7 +38,85 @@ func Index() templ.Component { templ_7745c5c3_Buffer = templ.GetBuffer() defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("New Booking ") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var3 string + templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(host.Name) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/views/index.templ`, Line: 14, Col: 22} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err }