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: Routes.channel_path(conn, :index))
  end

  def delete(conn, _params) do
    conn
    |> set_cookie("chan_nsfw", "false")
    |> put_flash(:info, "Successfully updated channel visibility.")
    |> redirect(to: Routes.channel_path(conn, :index))
  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