Files
PowderCoatingLogix/src/PowderCoating.Web/Controllers/ThemeController.cs
T
2026-04-23 21:38:24 -04:00

26 lines
765 B
C#

using Microsoft.AspNetCore.Mvc;
namespace PowderCoating.Web.Controllers;
/// <summary>
/// Sets the surface theme preference cookie server-side so it survives page navigation reliably.
/// Client-side document.cookie writes can silently fail on some browser/HTTPS configurations.
/// </summary>
public class ThemeController : Controller
{
[HttpPost]
[IgnoreAntiforgeryToken]
public IActionResult Set([FromForm] string surface)
{
var value = surface == "ink" ? "ink" : "paper";
Response.Cookies.Append("pcl_surface", value, new CookieOptions
{
Path = "/",
MaxAge = TimeSpan.FromDays(365),
SameSite = SameSiteMode.Lax,
HttpOnly = false
});
return Ok();
}
}