---
import BaseLayout from "../layouts/BaseLayout.astro";
---

<BaseLayout
  title="Tools"
  description="MCP servers and developer tools for GitHub Copilot"
  activeNav="tools"
>
  <main id="main-content">
    <div class="page-header">
      <div class="container">
        <h1>🔧 Tools</h1>
        <p>MCP servers and developer tools for GitHub Copilot</p>
      </div>
    </div>

    <div class="page-content">
      <div class="container">
        <div class="search-section">
          <div class="search-bar">
            <label for="search-input" class="sr-only">Search tools</label>
            <input
              type="text"
              id="search-input"
              placeholder="Search tools..."
              class="search-input"
            />
          </div>
          <div class="filters">
            <label for="filter-category" class="sr-only">Filter by category</label>
            <select id="filter-category" class="filter-select" aria-label="Filter by category">
              <option value="">All Categories</option>
            </select>
            <button id="clear-filters" class="btn btn-secondary btn-small"
              >Clear</button
            >
          </div>
          <div id="results-count" class="results-count" aria-live="polite"></div>
        </div>

        <div id="tools-list" role="list"></div>

        <div class="coming-soon">
          <h2>More Tools Coming Soon</h2>
          <p>
            We're working on additional tools to enhance your GitHub Copilot
            experience. Check back soon!
          </p>
        </div>
      </div>
    </div>
  </main>

  <style is:global>
    .search-section {
      margin-bottom: 24px;
    }

    .search-bar {
      margin-bottom: 16px;
    }

    .search-input {
      width: 100%;
      padding: 12px 16px;
      border: 1px solid var(--color-border);
      border-radius: var(--border-radius);
      background-color: var(--color-card-bg);
      color: var(--color-text-primary);
      font-size: 16px;
    }

    .search-input:focus {
      outline: none;
      border-color: var(--color-primary);
      box-shadow: 0 0 0 3px rgba(133, 52, 243, 0.1);
    }

    .filters {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
      align-items: center;
    }

    .filter-select {
      padding: 8px 12px;
      border: 1px solid var(--color-border);
      border-radius: var(--border-radius);
      background-color: var(--color-card-bg);
      color: var(--color-text-primary);
      font-size: 14px;
      min-width: 180px;
    }

    .results-count {
      margin-top: 12px;
      font-size: 14px;
      color: var(--color-text-muted);
    }

    .loading {
      text-align: center;
      padding: 48px;
      color: var(--color-text-muted);
    }

    .empty-state {
      text-align: center;
      padding: 48px;
      background-color: var(--color-bg-secondary);
      border-radius: var(--border-radius-lg);
    }

    .empty-state h3 {
      color: var(--color-text-muted);
      margin-bottom: 8px;
    }

    .empty-state p {
      color: var(--color-text-muted);
    }

    .tool-card {
      background-color: var(--color-card-bg);
      border: 1px solid var(--color-border);
      border-radius: var(--border-radius-lg);
      padding: 32px;
      margin-bottom: 24px;
    }

    .tool-header {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 16px;
      flex-wrap: wrap;
    }

    .tool-header h2 {
      margin: 0;
      font-size: 24px;
      color: var(--color-text-emphasis);
    }

    .tool-badges {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }

    .tool-badge {
      padding: 4px 12px;
      border-radius: 4px;
      font-size: 12px;
      font-weight: 500;
    }

    .tool-badge.featured {
      background-color: var(--color-primary);
      color: white;
    }

    .tool-badge.category {
      background-color: var(--color-purple-light);
      color: var(--color-purple-dark);
    }

    .tool-description {
      color: var(--color-text-secondary);
      font-size: 16px;
      line-height: 1.6;
      margin-bottom: 24px;
    }

    .tool-section {
      margin-top: 24px;
    }

    .tool-section h3 {
      margin-bottom: 12px;
      font-size: 16px;
      font-weight: 600;
      color: var(--color-text-emphasis);
    }

    .tool-section ul {
      margin: 0;
      padding-left: 24px;
      color: var(--color-text-muted);
    }

    .tool-section li {
      margin-bottom: 8px;
    }

    .tool-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 20px;
    }

    .tool-tag {
      background-color: var(--color-bg-secondary);
      color: var(--color-text-muted);
      padding: 4px 12px;
      border-radius: 16px;
      font-size: 12px;
      border: 1px solid var(--color-border);
    }

    .tool-config {
      margin-top: 24px;
    }

    .tool-config h3 {
      margin-bottom: 12px;
      font-size: 16px;
      font-weight: 600;
      color: var(--color-text-emphasis);
    }

    .tool-config-wrapper {
      position: relative;
    }

    .tool-config pre {
      background-color: var(--color-bg-secondary);
      border: 1px solid var(--color-border);
      border-radius: var(--border-radius);
      padding: 16px;
      overflow-x: auto;
      margin: 0;
    }

    .tool-config code {
      font-family: var(--font-mono);
      font-size: 13px;
      color: var(--color-text-primary);
      white-space: pre;
    }

    .tool-actions {
      margin-top: 24px;
      padding-top: 24px;
      border-top: 1px solid var(--color-border);
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
    }

    .coming-soon {
      text-align: center;
      padding: 48px;
      background-color: var(--color-bg-secondary);
      border: 1px dashed var(--color-border);
      border-radius: var(--border-radius-lg);
    }

    .coming-soon h2 {
      color: var(--color-text-muted);
      margin-bottom: 8px;
    }

    .coming-soon p {
      color: var(--color-text-muted);
    }

    .copy-config-btn {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 8px 14px;
      font-size: 13px;
      background-color: var(--color-bg-primary);
      border: 1px solid var(--color-border);
      border-radius: var(--border-radius);
      color: var(--color-text-secondary);
      cursor: pointer;
      margin-top: 12px;
      transition: all 0.2s;
    }

    .copy-config-btn:hover {
      background-color: var(--color-bg-secondary);
      color: var(--color-text-primary);
      border-color: var(--color-text-muted);
    }

    .copy-config-btn.copied {
      background-color: var(--color-success);
      color: white;
      border-color: var(--color-success);
    }

    /* Search highlight */
    .search-highlight {
      background-color: var(--color-warning);
      color: var(--color-text-emphasis);
      padding: 0 2px;
      border-radius: 2px;
    }
  </style>

  <script>
    import { initToolsPage } from "../scripts/pages/tools";
    initToolsPage();
  </script>
</BaseLayout>
