Add school name and logo to home screen and admin header
- School name now appears on the student home screen and updates the page title - Logo can be uploaded in Settings (PNG/JPG/GIF/WebP/SVG, max 2 MB); stored in the data volume so it persists across container restarts - When a logo is uploaded the text school name is hidden in favour of the logo - Admin header shows the school name instead of hardcoded "Homeschool", updates live when saved - New server endpoints: GET /api/logo, POST /api/admin/upload-logo, DELETE /api/admin/logo - /api/public-settings now includes school_name and has_logo Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
1eedfc7715
commit
6b7baf7297
6 files changed
+135
-5
No files matched your search
+18
-2
@@ -22,7 +22,7 @@
|
||||
|
||||
<div id="console" hidden>
|
||||
<header class="admin-header">
|
||||
<a href="index.html" class="admin-logo">🎓 Homeschool</a>
|
||||
<a href="index.html" class="admin-logo" id="admin-school-name">🎓 Homeschool</a>
|
||||
<nav class="admin-nav">
|
||||
<button class="nav-pill active" data-panel="kids">🧒 Kids</button>
|
||||
<button class="nav-pill" data-panel="courses">📚 Courses</button>
|
||||
@@ -516,10 +516,26 @@
|
||||
<h2>School</h2>
|
||||
<form id="app-settings-form">
|
||||
<div class="field-group">
|
||||
<label for="setting-school-name">School / family name <span class="hint">(appears on printed reports)</span></label>
|
||||
<label for="setting-school-name">School / family name <span class="hint">(appears on home screen and printed reports)</span></label>
|
||||
<input id="setting-school-name" type="text" placeholder="e.g. Emmert Academy" style="max-width:22rem;display:block;margin-top:.35rem">
|
||||
</div>
|
||||
|
||||
<div class="field-group" style="margin-top:1rem">
|
||||
<label>School logo <span class="hint">(shown on the student home screen)</span></label>
|
||||
<div id="logo-preview-wrap" style="margin:.4rem 0 .6rem">
|
||||
<img id="logo-preview" src="" alt="School logo" hidden style="max-height:80px;max-width:240px;border-radius:6px;display:block;margin-bottom:.4rem">
|
||||
<p id="logo-none-msg" class="hint" style="margin:0">No logo uploaded.</p>
|
||||
</div>
|
||||
<div class="inline-form" style="gap:.5rem;flex-wrap:wrap">
|
||||
<label class="btn" style="cursor:pointer;display:inline-flex;align-items:center;gap:.3rem">
|
||||
📁 Choose logo
|
||||
<input id="logo-file-input" type="file" accept="image/png,image/jpeg,image/gif,image/webp,image/svg+xml" style="display:none">
|
||||
</label>
|
||||
<button type="button" id="logo-remove-btn" hidden>Remove logo</button>
|
||||
</div>
|
||||
<p class="hint" style="margin-top:.3rem">PNG, JPG, GIF, WebP, or SVG · max 2 MB</p>
|
||||
</div>
|
||||
|
||||
<div class="field-group" style="margin-top:1rem">
|
||||
<label for="setting-passing-pct">Passing grade threshold</label>
|
||||
<div class="inline-form" style="margin-top:.35rem">
|
||||
|
||||
Reference in new issue
Block a user