Files

50 lines
2.4 KiB
Plaintext

<% if (!courses || courses.length === 0) { %>
<p style="text-align: center; color: var(--ink-3); padding: 40px 0;">No courses found. Use "Import from Tjing" or scrape courses from PDGA.</p>
<% } else { %>
<div class="course-grid" data-total-count="<%= courses.length %>">
<div class="course-row course-row--header" role="row">
<div class="course-header-cell">Course</div>
<div class="course-header-cell">City</div>
<div class="course-header-cell">Last updated</div>
<div class="course-header-cell"></div>
</div>
<% courses.forEach(function(course) {
var layoutCount = course.layoutCount || 0;
var activeLayoutCount = course.activeLayoutCount || 0;
%>
<div class="course-row expandable-row" data-course-id="<%= course.id %>" data-course-name="<%= (course.name || '').toLowerCase() %>" data-course-city="<%= (course.city || '').toLowerCase() %>" onclick="toggleCourseLayouts(<%= course.id %>)">
<div class="course-cell">
<span class="course-name"><%= course.name %></span>
<span class="course-meta">
<% if (layoutCount > 0) { %>
<% if (activeLayoutCount !== layoutCount) { %>
<%= layoutCount %> layouts &middot; <%= activeLayoutCount %> active
<% } else { %>
<%= layoutCount %> layouts
<% } %>
<% } else { %>
No layouts
<% } %>
</span>
</div>
<div class="course-city"><%= course.city || '—' %></div>
<div class="course-updated"><%= course.last_updated ? new Date(course.last_updated).toISOString().slice(0,10) : '—' %></div>
<div class="course-actions">
<button class="icon-btn refresh-icon" onclick="event.stopPropagation(); scrapeLayouts(<%= course.id %>, this)" title="Refresh layouts" aria-label="Refresh layouts">
<i class="fas fa-sync-alt"></i>
</button>
<button class="icon-btn icon-chev" onclick="event.stopPropagation(); toggleCourseLayouts(<%= course.id %>)" title="Expand row" aria-label="Expand">
<i class="fas fa-chevron-down"></i>
</button>
</div>
</div>
<div class="expanded-content" id="course-layouts-<%= course.id %>">
<div class="expanded-cell">
<div class="loading">Loading layouts…</div>
</div>
</div>
<% }); %>
</div>
<%- include('course-cards', { courses: courses, total: courses.length }) %>
<% } %>