Extract inline CSS/JS, add EJS templates with shared layout

- 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)
This commit is contained in:
Samuel Enocsson
2026-02-18 22:32:03 +01:00
parent 33a962e6b8
commit 20bbdbbfcf
18 changed files with 2010 additions and 2094 deletions
+31
View File
@@ -0,0 +1,31 @@
<% 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
}) %>