<div class="space-y-4">
  <div>
    <h2 class="font-medium mb-1"><%= t(".title") %></h2>
    <% if ENV["TWELVE_DATA_API_KEY"].present? %>
      <p class="text-sm text-secondary"><%= t(".env_configured_message") %></p>
    <% else %>
      <div class="text-secondary text-sm mb-4">
        <span><%= t(".description") %></span>
        <details class="inline">
          <summary class="cursor-pointer font-medium text-secondary underline inline"> <%= t(".show_details") %></summary>
          <ol class="text-sm text-secondary mt-2 list-decimal ml-6 space-y-2">
            <li><%= t(".step_1_html") %></li>
            <li><%= t(".step_2_html") %></li>
            <li><%= t(".step_3") %></li>
          </ol>
        </details>
      </div>
    <% end %>
  </div>

  <%= styled_form_with model: Setting.new,
                       url: settings_hosting_path,
                       method: :patch,
                       data: {
                         controller: "auto-submit-form",
                         "auto-submit-form-trigger-event-value": "blur"
                       } do |form| %>
    <% has_key = ENV["TWELVE_DATA_API_KEY"].present? || Setting.twelve_data_api_key.present? %>
    <%= form.text_field :twelve_data_api_key,
                        label: t(".label"),
                        type: "password",
                        placeholder: t(".placeholder"),
                        value: has_key ? "********" : "",
                        disabled: ENV["TWELVE_DATA_API_KEY"].present?,
                        container_class: @twelve_data_usage.present? && !@twelve_data_usage.success? ? "border-red-500" : "",
                        data: { "auto-submit-form-target": "auto" } %>
  <% end %>

  <% if @twelve_data_usage.present? && @twelve_data_usage.success? %>
    <div class="space-y-4">
      <div class="space-y-2">
        <p class="text-sm text-secondary">
          <%= t(".api_calls_used",
                used: number_with_delimiter(@twelve_data_usage.data.used),
                limit: number_with_delimiter(@twelve_data_usage.data.limit),
                percentage: number_to_percentage(@twelve_data_usage.data.utilization, precision: 1)) %>
        </p>
        <div class="w-52 h-1.5 bg-surface-inset rounded-2xl">
          <div class="h-full bg-green-500 rounded-2xl"
               style="width: <%= [@twelve_data_usage.data.utilization, 2].max %>%;"></div>
        </div>
      </div>
      <div class="bg-surface-inset rounded-md px-1.5 py-0.5 w-fit">
        <p class="text-xs font-medium text-secondary uppercase">
          <%= t(".plan", plan: @twelve_data_usage.data.plan) %>
        </p>
      </div>

      <% if @plan_restricted_securities.present? %>
        <div class="mt-4">
          <%= render DS::Alert.new(title: t(".plan_upgrade_warning_title"), variant: :warning) do %>
            <p><%= t(".plan_upgrade_warning_description") %></p>
            <ul class="space-y-1">
              <% @plan_restricted_securities.each do |security| %>
                <li>
                  <span class="font-medium text-primary"><%= security[:ticker] %></span>
                  <% if security[:name].present? %>
                    <span class="text-secondary">(<%= security[:name] %>)</span>
                  <% end %>
                  <span class="text-secondary">— <%= t(".requires_plan", plan: security[:required_plan]) %></span>
                </li>
              <% end %>
            </ul>
            <p>
              <a href="https://twelvedata.com/pricing" target="_blank" rel="noopener noreferrer" class="text-link underline font-medium">
                <%= t(".view_pricing") %>
              </a>
            </p>
          <% end %>
        </div>
      <% end %>
    </div>
  <% end %>
</div>
