50 lines
2.4 KiB
Plaintext
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 · <%= 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 }) %>
|
|
<% } %>
|