philomena/lib/philomena_web/controllers/channel/nsfw_controller.ex

29 lines
772 B
Elixir

defmodule PhilomenaWeb.Channel.NsfwController do
use PhilomenaWeb, :controller
alias Plug.Conn
def create(conn, _params) do
conn
|> set_cookie("chan_nsfw", "true")
|> put_flash(:info, "Successfully updated channel visibility.")
|> redirect(to: ~p"/channels")
end
def delete(conn, _params) do
conn
|> set_cookie("chan_nsfw", "false")
|> put_flash(:info, "Successfully updated channel visibility.")
|> redirect(to: ~p"/channels")
end
# Duplicated from setting controller
defp set_cookie(conn, cookie_name, value) do
# JS wants access; max-age is set to 25 years from now
Conn.put_resp_cookie(conn, cookie_name, value,
max_age: 788_923_800,
http_only: false,
extra: "SameSite=Lax"
)
end
end