Compare commits
2 Commits
0aafdfa382
...
73971a43f0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
73971a43f0 | ||
|
|
39d0de751b |
@@ -67,7 +67,7 @@ class SecurityHeadersMiddleware(BaseHTTPMiddleware):
|
||||
response.headers["Content-Security-Policy"] = (
|
||||
"default-src 'self'; "
|
||||
"script-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net; "
|
||||
"style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; "
|
||||
"style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://cdn.jsdelivr.net; "
|
||||
"font-src 'self' https://fonts.gstatic.com; "
|
||||
"img-src 'self' data:; "
|
||||
"connect-src 'self' https://cdn.jsdelivr.net; "
|
||||
@@ -589,6 +589,12 @@ async def reload_data(
|
||||
# =============================================================================
|
||||
|
||||
|
||||
@app.get("/favicon.svg")
|
||||
async def favicon():
|
||||
"""Serve favicon."""
|
||||
return FileResponse(settings.frontend_dir / "favicon.svg", media_type="image/svg+xml")
|
||||
|
||||
|
||||
@app.get("/robots.txt")
|
||||
async def robots_txt():
|
||||
"""Serve robots.txt for search engine crawlers."""
|
||||
|
||||
6
frontend/favicon.svg
Normal file
6
frontend/favicon.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="40" height="40" rx="8" fill="#1a1612"/>
|
||||
<circle cx="20" cy="20" r="14" stroke="#e07256" stroke-width="2"/>
|
||||
<path d="M20 8L20 32M12 14L28 14M10 20L30 20M12 26L28 26" stroke="#e07256" stroke-width="1.5" stroke-linecap="round"/>
|
||||
<circle cx="20" cy="20" r="3" fill="#e07256"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 374 B |
@@ -11,6 +11,9 @@
|
||||
<meta name="author" content="SchoolCompare">
|
||||
<meta name="robots" content="index, follow">
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
||||
|
||||
<!-- Canonical -->
|
||||
<link rel="canonical" href="https://schoolcompare.co.uk/">
|
||||
|
||||
@@ -55,6 +58,8 @@
|
||||
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&family=Playfair+Display:wght@600;700&display=swap" rel="stylesheet">
|
||||
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
||||
<link rel="stylesheet" href="/static/styles.css">
|
||||
<!-- Cookie Consent Banner -->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/silktide/consent-manager@main/silktide-consent-manager.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="noise-overlay"></div>
|
||||
@@ -340,6 +345,28 @@
|
||||
</footer>
|
||||
|
||||
<script src="/static/app.js"></script>
|
||||
<!-- Cookie Consent Banner -->
|
||||
<script src="https://cdn.jsdelivr.net/gh/silktide/consent-manager@main/silktide-consent-manager.js"></script>
|
||||
<script>
|
||||
window.silktideConsentManager.init({
|
||||
consentTypes: [
|
||||
{
|
||||
id: 'necessary',
|
||||
label: 'Necessary',
|
||||
description: 'Essential cookies required for the website to function properly.',
|
||||
required: true,
|
||||
defaultValue: true
|
||||
}
|
||||
],
|
||||
text: {
|
||||
title: 'Cookie Preferences',
|
||||
description: 'This website does not use tracking cookies. We only use essential cookies required for the site to function.',
|
||||
acceptAll: 'Accept',
|
||||
rejectAll: 'Reject All',
|
||||
save: 'Save Preferences'
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user