<% content_for :title, "Background jobs" %>

<div class="min-h-content w-full my-5">
  <h1 class="text-3xl font-bold mb-6">Background jobs</h1>
  <%= render 'settings/navigation' %>

  <div role="alert" class="alert m-5">
    <svg
      xmlns="http://www.w3.org/2000/svg"
      fill="none"
      viewBox="0 0 24 24"
      class="stroke-info h-6 w-6 shrink-0">
      <path
        stroke-linecap="round"
        stroke-linejoin="round"
        stroke-width="2"
        d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
    </svg>
    <span>Spamming many new jobs at once is a bad idea. Let them work or clear the queue beforehand.</span>
  </div>

  <div class='flex flex-wrap'>
    <div class="card bg-base-300 w-96 shadow-xl m-5">
      <div class="card-body">
        <h2 class="card-title">Start Reverse Geocoding</h2>
        <p>This job will re-run reverse geocoding process for all the points in your database. Might take a few days or even weeks based on the amount of points you have!</p>
        <div class="card-actions justify-end">
          <%= link_to 'Start Job', settings_background_jobs_path(job_name: 'start_reverse_geocoding'), method: :post, data: { turbo_confirm: 'Are you sure?', turbo_method: :post }, class: 'btn btn-primary' %>
        </div>
      </div>
    </div>

    <div class="card bg-base-300 w-96 shadow-xl m-5">
      <div class="card-body">
        <h2 class="card-title">Continue Reverse Geocoding</h2>
        <p>This job will process reverse geocoding for all points that don't have geocoding data yet.</p>
        <div class="card-actions justify-end">
          <%= link_to 'Start Job', settings_background_jobs_path(job_name: 'continue_reverse_geocoding'), method: :post, data: { turbo_confirm: 'Are you sure?', turbo_method: :post }, class: 'btn btn-primary' %>
        </div>
      </div>
    </div>

    <div class="card bg-base-300 w-96 shadow-xl m-5">
      <div class="card-body">
        <h2 class="card-title">Background Jobs Dashboard</h2>
        <p>This will open the background jobs dashboard in a new tab.</p>
        <div class="card-actions justify-end">
          <%= link_to 'Open Dashboard', '/sidekiq', target: '_blank', class: 'btn btn-primary' %>
        </div>
      </div>
    </div>

    <div class="card bg-base-300 w-96 shadow-xl m-5">
      <div class="card-body">
        <h2 class="card-title">Visits suggestions</h2>
        <p>Enable or disable visits suggestions. It's a background task that runs every day at midnight. Disabling it might be useful if you don't want to receive visits suggestions or if you're using the Dawarich iOS app, which has its own visits suggestions.</p>
        <div class="card-actions justify-end">
          <% if current_user.safe_settings.visits_suggestions_enabled? %>
            <%= link_to 'Disable', settings_path(settings: { 'visits_suggestions_enabled' => 'false' }), method: :patch, data: { turbo_confirm: 'Are you sure?', turbo_method: :patch }, class: 'btn btn-error' %>
          <% else %>
            <%= link_to 'Enable', settings_path(settings: { 'visits_suggestions_enabled' => 'true' }), method: :patch, data: { turbo_confirm: 'Are you sure?', turbo_method: :patch }, class: 'btn btn-success' %>
          <% end %>
        </div>
      </div>
    </div>
  </div>
</div>
