diff --git a/backend/app.py b/backend/app.py index 701c5fa..a41617c 100644 --- a/backend/app.py +++ b/backend/app.py @@ -349,6 +349,10 @@ async def get_school_details(request: Request, urn: int): "local_authority": latest.get("local_authority", ""), "school_type": latest.get("school_type", ""), "address": latest.get("address", ""), + "religious_denomination": latest.get("religious_denomination", ""), + "age_range": latest.get("age_range", ""), + "latitude": latest.get("latitude"), + "longitude": latest.get("longitude"), "phase": "Primary", }, "yearly_data": clean_for_json(school_data), diff --git a/frontend/app.js b/frontend/app.js index 52cfb87..01b30b2 100644 --- a/frontend/app.js +++ b/frontend/app.js @@ -35,6 +35,7 @@ const state = { // Charts let comparisonChart = null; let schoolDetailChart = null; +let modalMap = null; // Chart colors const CHART_COLORS = [ @@ -94,7 +95,10 @@ const elements = { modalClose: document.getElementById("modal-close"), modalSchoolName: document.getElementById("modal-school-name"), modalMeta: document.getElementById("modal-meta"), + modalDetails: document.getElementById("modal-details"), modalStats: document.getElementById("modal-stats"), + modalMapContainer: document.getElementById("modal-map-container"), + modalMap: document.getElementById("modal-map"), schoolDetailChart: document.getElementById("school-detail-chart"), addToCompare: document.getElementById("add-to-compare"), }; @@ -1174,12 +1178,35 @@ async function openSchoolModal(urn) { state.currentSchoolData = data; elements.modalSchoolName.textContent = data.school_info.school_name; + + // Build meta tags including faith if applicable + const faithDenom = data.school_info.religious_denomination; + const showFaith = faithDenom && + faithDenom !== "None" && + faithDenom !== "Does not apply" && + faithDenom !== ""; + const faithTag = showFaith + ? `${escapeHtml(faithDenom)}` + : ""; + elements.modalMeta.innerHTML = ` ${escapeHtml(data.school_info.local_authority || "")} ${escapeHtml(data.school_info.school_type || "")} - Primary + ${faithTag} `; + // Build details section (address and age range) + const ageRange = data.school_info.age_range; + const address = data.school_info.address; + let detailsHtml = ""; + if (address) { + detailsHtml += `