# frozen_string_literal: true

class LinkCategoriesController < ApplicationController
  include BackofficeMenu

  before_action :set_link_category, only: %i[show edit update destroy]

  # GET /link_categories
  def index
    @link_categories = LinkCategory.all
  end

  # GET /link_categories/1
  def show; end

  # GET /link_categories/new
  def new
    @link_category = LinkCategory.new
  end

  # GET /link_categories/1/edit
  def edit; end

  # POST /link_categories
  def create
    @link_category = LinkCategory.new(link_category_params)

    if @link_category.save
      redirect_to @link_category, notice: "Link category was successfully created."
    else
      render :new, status: :unprocessable_entity
    end
  end

  # PATCH/PUT /link_categories/1
  def update
    if @link_category.update(link_category_params)
      redirect_to @link_category, notice: "Link category was successfully updated.", status: :see_other
    else
      render :edit, status: :unprocessable_entity
    end
  end

  # DELETE /link_categories/1
  def destroy
    @link_category.destroy!
    redirect_to link_categories_url, notice: "Link category was successfully destroyed.", status: :see_other
  end

  private

  # Use callbacks to share common setup or constraints between actions.
  def set_link_category
    @link_category = LinkCategory.find(params[:id])
  end

  # Only allow a list of trusted parameters through.
  def link_category_params
    params.require(:link_category).permit(:name, :description, :rich_text)
  end
end
