<nav id="sidebar" class="sidebar js-sidebar">
  <div class="sidebar-content js-simplebar">
    <a class="sidebar-brand" href="/">
      <span class="align-middle">AdminKit</span>
    </a>
    <ul class="sidebar-nav">
      <li class="sidebar-item">
        <a class="sidebar-link" href="/">
          <i class="align-middle" data-feather="home"></i> <span class="align-middle">Home</span>
        </a>
      </li>

      <li class="sidebar-item">
        <a class="sidebar-link" href="/list">
          <i class="align-middle" data-feather="list"></i> <span class="align-middle">銘柄リスト</span>
        </a>
      </li>

      {% for stock in stocks_all %}
      <li class="sidebar-item">
        <a class="sidebar-link" href="{{ url_for('stock_detail', code=stock.code) }}">
          <i class="align-middle" data-feather="activity"></i> <span class="align-middle">{{ stock.name }}</span>
        </a>
      </li>
      {% endfor %}

    </ul>
  </div>
</nav>

<script>
  document.addEventListener('DOMContentLoaded', function () {
    // 現在のページのURLを取得
    const currentPath = window.location.pathname;

    // サイドバーのリンクを全て取得
    const sidebarLinks = document.querySelectorAll('.sidebar .sidebar-link');
    sidebarLinks.forEach(link => {
      let linkPath;
      try {
        // 完全なURL（絶対パス）を取得
        linkPath = new URL(link.href).pathname;
      } catch (e) {
        // 相対URLの場合、現在のドメインを基準に完全なURLを構築
        linkPath = new URL(link.getAttribute('href'), window.location.origin).pathname;
      }
      // リンクのhrefが現在のURLと一致する場合
      if (linkPath === currentPath) {
        // 該当のリンクにactiveクラスを追加
        link.classList.add('active');

        // 上層のli要素を取得してactiveクラスを追加
        const parentLi = link.closest('li');
        if (parentLi) {
          parentLi.classList.add('active');
        }

        // 親要素のアコーディオンがある場合は開く
        const parentAccordion = link.closest('.collapse');
        if (parentAccordion) {
          parentAccordion.classList.add('show'); // アコーディオンを開く
        }

        // 親のnav-itemにactiveクラスを追加
        const parentNavItem = link.closest('.nav-item');
        if (parentNavItem) {
          parentNavItem.classList.add('active');
        }
      }
    });
  });
</script>