diff --git a/public/app.html b/public/app.html index fc55e9e..c52ecfd 100644 --- a/public/app.html +++ b/public/app.html @@ -622,6 +622,7 @@ main { .ql-del { position: absolute; top: 3px; right: 4px; font-size: 10px; color: var(--text-subtle); display: none; border: none; background: none; cursor: pointer; line-height: 1; } .ql-item:hover .ql-del { display: block; } .ql-del:hover { color: var(--red); } +.ql-item--soon { opacity: .4; cursor: not-allowed; pointer-events: none; } /* ── EMPTY STATE ─────────────────────────────────────────── */ @@ -1418,8 +1419,12 @@ footer {
- IFB Website - Bibliothek + Notenportal + Quellcode + IFB-Website + Webentwicklerkurs + Pythonentwicklerkurs + KI-Entwicklerkurs
@@ -2978,8 +2983,22 @@ async function delTeacherGrade(id){ async function loadStudentMaterials(){ const mats=await api('GET','teacher/materials/class/info1'); const el=document.getElementById('list-student-materials'); - if(!mats||mats.error||!mats.length){el.innerHTML='
Keine Materialien vorhanden
';return;} - el.innerHTML=mats.map(m=>`
+ const staticItems=`
+
📕
+
+
Stundenplan ab 02.03.26
+
PDF · Allgemein
+
+ ↓ Laden +
+
📕
+
+
Klausurenplan ab 06.03.26
+
PDF · Allgemein
+
+ ↓ Laden +
`; + const dynItems=(!mats||mats.error||!mats.length)?'':mats.map(m=>`
${fileIcon(m.mime_type)}
${esc(m.title)}
@@ -2987,6 +3006,7 @@ async function loadStudentMaterials(){
`).join(''); + el.innerHTML=staticItems+dynItems; } async function loadStudentAnnouncements(){ diff --git a/public/downloads/Klausurenplan_ab_06_03_26.pdf b/public/downloads/Klausurenplan_ab_06_03_26.pdf new file mode 100644 index 0000000..97408f2 Binary files /dev/null and b/public/downloads/Klausurenplan_ab_06_03_26.pdf differ diff --git a/public/downloads/Stundenplan_ab_02_03_26.pdf b/public/downloads/Stundenplan_ab_02_03_26.pdf new file mode 100644 index 0000000..7910e7f Binary files /dev/null and b/public/downloads/Stundenplan_ab_02_03_26.pdf differ diff --git a/public/favicon.svg b/public/favicon.svg index 05d501a..252fdb6 100644 --- a/public/favicon.svg +++ b/public/favicon.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/public/icons/apple-touch-icon.png b/public/icons/apple-touch-icon.png index a7e97b8..d35507f 100644 Binary files a/public/icons/apple-touch-icon.png and b/public/icons/apple-touch-icon.png differ diff --git a/public/icons/icon-192.png b/public/icons/icon-192.png index f159411..d4e253a 100644 Binary files a/public/icons/icon-192.png and b/public/icons/icon-192.png differ diff --git a/public/icons/icon-512.png b/public/icons/icon-512.png index 68a969a..9615c18 100644 Binary files a/public/icons/icon-512.png and b/public/icons/icon-512.png differ diff --git a/public/icons/icon-maskable-192.png b/public/icons/icon-maskable-192.png index 8046e67..58b5bdb 100644 Binary files a/public/icons/icon-maskable-192.png and b/public/icons/icon-maskable-192.png differ diff --git a/public/icons/icon-maskable-512.png b/public/icons/icon-maskable-512.png index 5a5adf2..0b70c9a 100644 Binary files a/public/icons/icon-maskable-512.png and b/public/icons/icon-maskable-512.png differ diff --git a/public/sw.js b/public/sw.js index eb9d653..6bd46ac 100644 --- a/public/sw.js +++ b/public/sw.js @@ -1,4 +1,4 @@ -const CACHE = 'klassenportal-v1'; +const CACHE = 'klassenportal-v2'; const PRECACHE = [ '/', '/login.html',