require "sidekiq/web"

Rails.application.routes.draw do
  devise_for :users
  root "home#index"

  resources :cities, only: [ :index, :show ] do
    resources :weather_arts, path: "weather", only: [ :show ], param: :slug
  end
  resources :cities do
    member do
      post :generate_weather_art, param: :slug
    end
  end
  resources :arts, only: [ :index ]

  # namespace :admin do
  #  resources :cities
  #  resources :weather_arts
  #  root to: "cities#index"
  # end

  get "weather_arts/show"
  get "cities/index"
  get "cities/show"
  get "home/index"
  get "sitemaps/*path", to: "sitemaps#show", format: false

  devise_for :admin_users, ActiveAdmin::Devise.config
  ActiveAdmin.routes(self)

  # mount Sidekiq::Web => '/sidekiq'
  # authenticate :admin_user do
  authenticate :user, lambda { |u| u.admin? } do
    mount Sidekiq::Web => "/admin/tasks"
  end
  # Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html

  # Reveal health status on /up that returns 200 if the app boots with no exceptions, otherwise 500.
  # Can be used by load balancers and uptime monitors to verify that the app is live.
  get "up" => "rails/health#show", as: :rails_health_check

  # Render dynamic PWA files from app/views/pwa/* (remember to link manifest in application.html.erb)
  # get "manifest" => "rails/pwa#manifest", as: :pwa_manifest
  # get "service-worker" => "rails/pwa#service_worker", as: :pwa_service_worker

  # Defines the root path route ("/")
  # root "posts#index"
end