diff --git a/internal/app/handlers/page_handler.go b/internal/app/handlers/page_handler.go
index 99a2bca..3d3a39b 100644
--- a/internal/app/handlers/page_handler.go
+++ b/internal/app/handlers/page_handler.go
@@ -66,3 +66,10 @@ func ListPage(ctx *gin.Context) {
ctx.HTML(200, "", layouts.AppLayout(title, page))
}
+
+func RecipePage(ctx *gin.Context) {
+ title := "Potion - View Recipe"
+ page := pages.RecipePage()
+
+ ctx.HTML(200, "", layouts.AppLayout(title, page))
+}
diff --git a/internal/app/server/server.go b/internal/app/server/server.go
index da6a782..a234450 100644
--- a/internal/app/server/server.go
+++ b/internal/app/server/server.go
@@ -164,6 +164,7 @@ func (s *Server) Setup() *Server {
router_web.GET("/create", handlers.CreatePage)
router_web.GET("/profile", handlers.ProfilePage)
router_web.GET("/list", handlers.ListPage)
+ router_web.GET("/recipe/:id", handlers.RecipePage)
// WEB state endpoints
router_state.POST("/tags", handlers.NewTag)
diff --git a/internal/templates/components/banner_templ.go b/internal/templates/components/banner_templ.go
index 44042cb..bf8cab0 100644
--- a/internal/templates/components/banner_templ.go
+++ b/internal/templates/components/banner_templ.go
@@ -1,6 +1,6 @@
// Code generated by templ - DO NOT EDIT.
-// templ: version: v0.3.898
+// templ: version: v0.3.865
package components
//lint:file-ignore SA4006 This context is only used if a nested component is present.
diff --git a/internal/templates/components/cards_templ.go b/internal/templates/components/cards_templ.go
index 72add43..c90fc10 100644
--- a/internal/templates/components/cards_templ.go
+++ b/internal/templates/components/cards_templ.go
@@ -1,6 +1,6 @@
// Code generated by templ - DO NOT EDIT.
-// templ: version: v0.3.898
+// templ: version: v0.3.865
package components
//lint:file-ignore SA4006 This context is only used if a nested component is present.
diff --git a/internal/templates/components/dropdowns_templ.go b/internal/templates/components/dropdowns_templ.go
index 1a3d6e9..dde6499 100644
--- a/internal/templates/components/dropdowns_templ.go
+++ b/internal/templates/components/dropdowns_templ.go
@@ -1,6 +1,6 @@
// Code generated by templ - DO NOT EDIT.
-// templ: version: v0.3.898
+// templ: version: v0.3.865
package components
//lint:file-ignore SA4006 This context is only used if a nested component is present.
diff --git a/internal/templates/components/navbar_templ.go b/internal/templates/components/navbar_templ.go
index d2a2eef..6e0c2f8 100644
--- a/internal/templates/components/navbar_templ.go
+++ b/internal/templates/components/navbar_templ.go
@@ -1,6 +1,6 @@
// Code generated by templ - DO NOT EDIT.
-// templ: version: v0.3.898
+// templ: version: v0.3.865
package components
//lint:file-ignore SA4006 This context is only used if a nested component is present.
@@ -89,12 +89,8 @@ func navLink(current, name, url string) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var3 templ.SafeURL
- templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(url))
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/templates/components/navbar.templ`, Line: 39, Col: 28}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
+ var templ_7745c5c3_Var3 templ.SafeURL = templ.SafeURL(url)
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var3)))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -159,12 +155,8 @@ func dropdownLink(name, url string) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var6 templ.SafeURL
- templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(url))
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/templates/components/navbar.templ`, Line: 47, Col: 41}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
+ var templ_7745c5c3_Var6 templ.SafeURL = templ.SafeURL(url)
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var6)))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -214,12 +206,8 @@ func listIcon(current, name, url string) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var9 templ.SafeURL
- templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(url))
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/templates/components/navbar.templ`, Line: 53, Col: 28}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
+ var templ_7745c5c3_Var9 templ.SafeURL = templ.SafeURL(url)
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var9)))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
diff --git a/internal/templates/layouts/app_layout_templ.go b/internal/templates/layouts/app_layout_templ.go
index 44af2bc..e87c188 100644
--- a/internal/templates/layouts/app_layout_templ.go
+++ b/internal/templates/layouts/app_layout_templ.go
@@ -1,6 +1,6 @@
// Code generated by templ - DO NOT EDIT.
-// templ: version: v0.3.898
+// templ: version: v0.3.865
package templates
//lint:file-ignore SA4006 This context is only used if a nested component is present.
diff --git a/internal/templates/pages/create_templ.go b/internal/templates/pages/create_templ.go
index aa8fe7b..9f01ee6 100644
--- a/internal/templates/pages/create_templ.go
+++ b/internal/templates/pages/create_templ.go
@@ -1,6 +1,6 @@
// Code generated by templ - DO NOT EDIT.
-// templ: version: v0.3.898
+// templ: version: v0.3.865
package templates
//lint:file-ignore SA4006 This context is only used if a nested component is present.
@@ -76,7 +76,7 @@ func Page() templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "
Welcome to the Recipe Creation Wizard! Simply fill in the details about your culinary creation, including the recipe's name, a description, and other specifics like its category, duration, and difficulty. Don't forget to dynamically add all your ingredients and instructions using the dedicated buttons, and feel free to upload an appealing image. All required fields are marked with an *. Once everything looks perfect, just hit the \"Create Recipe\" button to share your masterpiece!
Welcome to the Recipe Creation Wizard! Simply fill in the details about your culinary creation, including the recipe's name, a description, and other specifics like its category, duration, and difficulty. Don't forget to dynamically add all your ingredients and instructions using the dedicated buttons, and feel free to upload an appealing image. All required fields are marked with an *. Once everything looks perfect, just hit the \"Create Recipe\" button to share your masterpiece!
")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
diff --git a/internal/templates/pages/favorites_templ.go b/internal/templates/pages/favorites_templ.go
index ed0d24f..f2d6abe 100644
--- a/internal/templates/pages/favorites_templ.go
+++ b/internal/templates/pages/favorites_templ.go
@@ -1,6 +1,6 @@
// Code generated by templ - DO NOT EDIT.
-// templ: version: v0.3.898
+// templ: version: v0.3.865
package templates
//lint:file-ignore SA4006 This context is only used if a nested component is present.
diff --git a/internal/templates/pages/home_templ.go b/internal/templates/pages/home_templ.go
index fc5fac4..5e3d5de 100644
--- a/internal/templates/pages/home_templ.go
+++ b/internal/templates/pages/home_templ.go
@@ -1,6 +1,6 @@
// Code generated by templ - DO NOT EDIT.
-// templ: version: v0.3.898
+// templ: version: v0.3.865
package templates
//lint:file-ignore SA4006 This context is only used if a nested component is present.
@@ -318,12 +318,8 @@ func ctaSection() templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var8 templ.SafeURL
- templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinURLErrs(domain.WEB_CREATE)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/templates/pages/home.templ`, Line: 148, Col: 27}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
+ var templ_7745c5c3_Var8 templ.SafeURL = domain.WEB_CREATE
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var8)))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
diff --git a/internal/templates/pages/list_templ.go b/internal/templates/pages/list_templ.go
index f5b8500..2d6b0ed 100644
--- a/internal/templates/pages/list_templ.go
+++ b/internal/templates/pages/list_templ.go
@@ -1,6 +1,6 @@
// Code generated by templ - DO NOT EDIT.
-// templ: version: v0.3.898
+// templ: version: v0.3.865
package templates
//lint:file-ignore SA4006 This context is only used if a nested component is present.
diff --git a/internal/templates/pages/login_templ.go b/internal/templates/pages/login_templ.go
index 3c5be60..7adc048 100644
--- a/internal/templates/pages/login_templ.go
+++ b/internal/templates/pages/login_templ.go
@@ -1,6 +1,6 @@
// Code generated by templ - DO NOT EDIT.
-// templ: version: v0.3.898
+// templ: version: v0.3.865
package templates
//lint:file-ignore SA4006 This context is only used if a nested component is present.
@@ -35,12 +35,8 @@ func LoginPage() templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var2 templ.SafeURL
- templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinURLErrs(domain.API_AUTH_LOGIN)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/templates/pages/login.templ`, Line: 20, Col: 33}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
+ var templ_7745c5c3_Var2 templ.SafeURL = domain.API_AUTH_LOGIN
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var2)))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
diff --git a/internal/templates/pages/profile_templ.go b/internal/templates/pages/profile_templ.go
index 8d9a680..845c66e 100644
--- a/internal/templates/pages/profile_templ.go
+++ b/internal/templates/pages/profile_templ.go
@@ -1,6 +1,6 @@
// Code generated by templ - DO NOT EDIT.
-// templ: version: v0.3.898
+// templ: version: v0.3.865
package templates
//lint:file-ignore SA4006 This context is only used if a nested component is present.
@@ -105,12 +105,8 @@ func logoutSection() templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var6 templ.SafeURL
- templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinURLErrs(domain.API_AUTH_LOGOUT)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/templates/pages/profile.templ`, Line: 25, Col: 31}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
+ var templ_7745c5c3_Var6 templ.SafeURL = domain.API_AUTH_LOGOUT
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var6)))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
diff --git a/internal/templates/pages/recipe.templ b/internal/templates/pages/recipe.templ
index 1a905a9..0191569 100644
--- a/internal/templates/pages/recipe.templ
+++ b/internal/templates/pages/recipe.templ
@@ -1,7 +1,217 @@
package templates
-templ RecipePage() {
-
+ A rich and creamy Classic Chicken Curry that's perfect for a comforting weeknight meal.
+ Tender chicken pieces are simmered in a luscious, spiced sauce with a hint of coconut, making
+ it an irresistible dish for the whole family. This recipe is designed to be straightforward,
+ delivering authentic flavors without requiring extensive culinary expertise. Enjoy it with
+ fluffy basmati rice or warm naan bread!
+
+ @instructionListItem(`
+ Heat vegetable oil in a large skillet or Dutch oven over medium heat. Add chopped onion
+ and cook until softened, about 5 minutes.
+ `, 1)
+ @instructionListItem(`
+ Stir in minced garlic and grated ginger, cooking for another minute until fragrant. Add the curry paste and cook
+ for 2-3 minutes, stirring constantly, to toast the spices.
+ `, 2)
+ @instructionListItem(`
+ Add the chicken cubes to the pan and cook until lightly browned on all sides.
+ `, 3)
+ @instructionListItem(`
+ Pour in the coconut milk, stirring to combine everything. Bring to a gentle simmer, then reduce heat to low,
+ cover, and cook for 20-25 minutes, or until chicken is cooked through and tender.
+ `, 4)
+ @instructionListItem(`
+ Taste and adjust seasonings if necessary. Garnish with fresh cilantro before serving. Serve hot with basmati
+ rice or naan bread.
+ `, 5)
+
A rich and creamy Classic Chicken Curry that's perfect for a comforting weeknight meal. Tender chicken pieces are simmered in a luscious, spiced sauce with a hint of coconut, making it an irresistible dish for the whole family. This recipe is designed to be straightforward, delivering authentic flavors without requiring extensive culinary expertise. Enjoy it with fluffy basmati rice or warm naan bread!
")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = instructionListItem(`
+ Heat vegetable oil in a large skillet or Dutch oven over medium heat. Add chopped onion
+ and cook until softened, about 5 minutes.
+ `, 1).Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = instructionListItem(`
+ Stir in minced garlic and grated ginger, cooking for another minute until fragrant. Add the curry paste and cook
+ for 2-3 minutes, stirring constantly, to toast the spices.
+ `, 2).Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = instructionListItem(`
+ Add the chicken cubes to the pan and cook until lightly browned on all sides.
+ `, 3).Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = instructionListItem(`
+ Pour in the coconut milk, stirring to combine everything. Bring to a gentle simmer, then reduce heat to low,
+ cover, and cook for 20-25 minutes, or until chicken is cooked through and tender.
+ `, 4).Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = instructionListItem(`
+ Taste and adjust seasonings if necessary. Garnish with fresh cilantro before serving. Serve hot with basmati
+ rice or naan bread.
+ `, 5).Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "