package handlers

// DEPRECATED: As of September 4th, 2025.
// func EngagementViewRecipe(ctx *gin.Context) {
// 	deps := ctx.MustGet("deps").(*domain.InjectedDependencies)
// 	recipeId, _ := strconv.Atoi(ctx.Param("id"))
//
// 	// Ensure user is logged in with a valid account
// 	user := deps.UserService.GetAuthenicatedUser(ctx)
// 	if user == nil {
// 		// Log (stale) user out
// 		domain.SetCookie(ctx, "jwt_token", "", -1)
// 		domain.SetCookie(ctx, "search-filters", "", -1)
// 	}
//
// 	if !domain.IsLoggedIn(ctx) || user == nil {
// 		if _, err := deps.EngagementService.ViewRecipe(recipeId); err != nil {
// 			components.RenderErrorBanner(ctx, err.Error())
// 			ctx.JSON(http.StatusInternalServerError, gin.H{
// 				"status":  http.StatusInternalServerError,
// 				"message": err.Error(),
// 			})
// 		} else {
// 			ctx.Header("HX-Redirect", fmt.Sprintf(domain.WEB_RECIPE, recipeId))
// 			ctx.Status(http.StatusOK)
// 		}
// 		return
// 	}
//
// 	// We caught nil already, we can assume the user exists
// 	if _, err := deps.EngagementService.UserViewRecipe(user.Id, recipeId); err != nil {
// 		components.RenderErrorBanner(ctx, err.Error())
// 		ctx.JSON(http.StatusInternalServerError, gin.H{
// 			"status":  http.StatusInternalServerError,
// 			"message": err.Error(),
// 		})
// 	} else {
// 		ctx.Header("HX-Redirect", fmt.Sprintf(domain.WEB_RECIPE, recipeId))
// 		ctx.Status(http.StatusOK)
// 	}
// }

// DEPRECATED: As of September 4th, 2025.
// func EngagementShareRecipe(ctx *gin.Context) {
// 	deps := ctx.MustGet("deps").(*domain.InjectedDependencies)
// 	recipeId, _ := strconv.Atoi(ctx.Param("id"))
//
// 	// Ensure user is logged in with a valid account
// 	user := deps.UserService.GetAuthenicatedUser(ctx)
// 	if user == nil {
// 		// Log (stale) user out
// 		domain.SetCookie(ctx, "jwt_token", "", -1)
// 		domain.SetCookie(ctx, "search-filters", "", -1)
// 	}
//
// 	if !domain.IsLoggedIn(ctx) || user == nil {
// 		if _, err := deps.EngagementService.ShareRecipe(recipeId); err != nil {
// 			components.RenderErrorBanner(ctx, err.Error())
// 			ctx.JSON(http.StatusInternalServerError, gin.H{
// 				"status":  http.StatusInternalServerError,
// 				"message": err.Error(),
// 			})
// 		} else {
// 			ctx.Status(http.StatusNoContent)
// 		}
// 		return
// 	}
//
// 	if _, err := deps.EngagementService.UserShareRecipe(user.Id, recipeId); err != nil {
// 		components.RenderErrorBanner(ctx, err.Error())
// 		ctx.JSON(http.StatusInternalServerError, gin.H{
// 			"status":  http.StatusInternalServerError,
// 			"message": err.Error(),
// 		})
// 	} else {
// 		ctx.Status(http.StatusNoContent)
// 	}
// }

// DEPRECATED: As of September 4th, 2025.
// func EngagementFavoriteRecipe(ctx *gin.Context) {
// 	deps := ctx.MustGet("deps").(*domain.InjectedDependencies)
//
// 	// Ensure user is logged in with a valid account
// 	user := deps.UserService.GetAuthenicatedUser(ctx)
// 	if user == nil {
// 		// Log (stale) user out
// 		domain.SetCookie(ctx, "jwt_token", "", -1)
// 		domain.SetCookie(ctx, "search-filters", "", -1)
// 	}
//
// 	if !domain.IsLoggedIn(ctx) || user == nil {
// 		ctx.Header("HX-Redirect", domain.WEB_LOGIN)
// 		ctx.Status(http.StatusOK)
// 		return
// 	}
//
// 	id := ctx.Param("id")
// 	recipeId, _ := strconv.Atoi(id)
//
// 	if _, err := deps.EngagementService.UserFavoriteRecipe(user.Id, recipeId); err != nil {
// 		components.RenderErrorBanner(ctx, fmt.Sprintf("Something went wrong. %s.", err.Error()))
// 		ctx.JSON(http.StatusInternalServerError, gin.H{
// 			"status":  http.StatusInternalServerError,
// 			"message": err.Error(),
// 		})
// 	} else {
// 		ctx.Status(http.StatusNoContent)
// 	}
// }

// DEPRECATED: As of September 4th, 2025.
// func EngagementMakeRecipe(ctx *gin.Context) {
// 	deps := ctx.MustGet("deps").(*domain.InjectedDependencies)
//
// 	// Ensure user is logged in with a valid account
// 	user := deps.UserService.GetAuthenicatedUser(ctx)
// 	if user == nil {
// 		// Log (stale) user out
// 		domain.SetCookie(ctx, "jwt_token", "", -1)
// 		domain.SetCookie(ctx, "search-filters", "", -1)
// 	}
//
// 	if !domain.IsLoggedIn(ctx) || user == nil {
// 		ctx.Header("HX-Redirect", domain.WEB_LOGIN)
// 		ctx.Status(http.StatusOK)
// 		return
// 	}
//
// 	id := ctx.Param("id")
// 	recipeId, _ := strconv.Atoi(id)
//
// 	if _, err := deps.EngagementService.UserMakeRecipe(user.Id, recipeId); err != nil {
// 		components.RenderErrorBanner(ctx, err.Error())
// 		ctx.JSON(http.StatusInternalServerError, gin.H{
// 			"status":  http.StatusInternalServerError,
// 			"message": err.Error(),
// 		})
// 	} else {
// 		ctx.Status(http.StatusNoContent)
// 	}
// }
