20bbdbbfcf
- Extract CSS into public/css/{shared,players,courses}.css
- Extract JS into public/js/{chart,tooltips,progress,players,courses}.js
- Consolidate 5 duplicated tooltip blocks into setupTooltip() helper
- Add EJS view engine with layout partial and nav partial
- Convert HTML pages to EJS templates (index.ejs, courses.ejs)
- Add /courses route with redirect from /courses.html
- Remove old monolithic HTML files (1478 + 612 lines)
31 lines
986 B
Plaintext
31 lines
986 B
Plaintext
<% var body = `
|
|
<div class="search-container">
|
|
<input
|
|
type="text"
|
|
class="search-input"
|
|
id="course-search"
|
|
placeholder="Search courses by name or city..."
|
|
oninput="searchCourses()"
|
|
/>
|
|
</div>
|
|
<div id="search-results-info" class="search-results-info"></div>
|
|
|
|
<div class="controls">
|
|
<button class="btn" onclick="scrapeCourses()" id="scrape-courses-btn">
|
|
<i class="fas fa-sync-alt"></i> Scrape Courses
|
|
</button>
|
|
</div>
|
|
|
|
<div id="loading" class="loading" style="display: none;">Loading courses...</div>
|
|
<div id="courses-table"></div>
|
|
`; %>
|
|
|
|
<%- include('../partials/layout', {
|
|
title: 'PDGA Courses - Sweden',
|
|
heading: 'PDGA Courses - Sweden',
|
|
activePage: 'courses',
|
|
cssFiles: ['courses.css'],
|
|
jsFiles: ['courses.js'],
|
|
initScript: 'loadCourses();',
|
|
body: body
|
|
}) %> |