PageSourceSearch

https://paideia-heureka-demo.web.app/assets/Morgenliste-CKDy63Ew.js

js paideia-heureka-demo.web.app collected 2026-10-04 12:34:44 UTC 9,791 bytes, 1 lines download raw bytes

1import{r as c,j as e}from"./react-C_oDh_9Q.js";import{dr as M,dh as A,aP as E,t as R,i as G,aD as _,aE as $,aY as k}from"./index-D4wjbVLh.js";import{l as L,k as F}from"./morgenlisteApi-DNakfvLU.js";import{A as T}from"./AufzeigeReihe-C_m49TrB.js";import"./_commonjsHelpers-CqkleIqs.js";import"./vorlade-helfer-BXl3LOEh.js";import"./firebase-CZ1-EOTx.js";import"./medien-freigaben-DbcdxLi9.js";import"./lernzeit-Bnybxxln.js";import"./curriculum-oberstufe-CIJBim-N.js";import"./aufgaben-CPrx1W14.js";import"./ahsOberstufeMathematik-CiN81bI9.js";import"./App-Dv4rCDEq.js";import"./Bausteine-C84TUHfM.js";import"./curriculum-grundstufe-extra-BAWbnOGF.js";import"./curriculum-englisch-DYuxcRuz.js";import"./dekodierung-CVi5RZBu.js";import"./vorleseText-B0dd3Qkr.js";import"./curriculum-mathematik-pq8rPHRH.js";import"./curriculum-lesen-CRJcn6IE.js";import"./curriculum-sprache-E2iDaEPK.js";import"./curriculum-sachwissen-BHlJs3nn.js";import"./curriculum-lektionen-B_GDlKiN.js";const C={krank:"krank",familiaer:"familiär",termin:"Termin",sonstiges:"entschuldigt"};function w(t){return C[t]??"entschuldigt"}function o(t){const r=Date.parse(`${t}T12:00:00.000Z`);return Number.isFinite(r)?new Date(r).toLocaleDateString("de-AT",{day:"numeric",month:"numeric"}):t}function S(t){const r=w(t.grund);return t.vonDatum===t.bisDatum?`${r}, ${o(t.vonDatum)}`:`${r}, ${o(t.vonDatum)} bis ${o(t.bisDatum)}`}function B(t){return t.istHeute?`wird heute ${t.alter}`:t.inTagen===1?`wird morgen ${t.alter}`:`wird ${t.alter} am ${o(t.datum)}`}function z(t){return t==="da"?"da":t==="fehlt"?"fehlt":"offen"}function I(t,r){return r?t.filter(l=>l.mentorUids.includes(r)):[...t]}function Z(t,r){const l=r.trim().toLowerCase();return l?t.filter(n=>`${n.vorname} ${n.nachname}`.toLowerCase().includes(l)):[...t]}function P(t){const r=t.filter(u=>u.geburtstag?.istHeute),l=t.filter(u=>u.entschuldigtHeute),n=[];return r.length===1?n.push(`${r[0].vorname} hat heute Geburtstag`):r.length>1&&n.push(`${r.map(u=>u.vorname).join(" und ")} haben heute Geburtstag`),l.length===1?n.push(`${l[0].vorname} ist entschuldigt`):l.length>1&&n.push(`${l.length} sind entschuldigt`),n.join(". ")+(n.length?".":"")}const V=1e4;function K(t){const[r,l]=c.useState({reihe:[],jetzt:Date.now()}),n=c.useRef(!1);return c.useEffect(()=>{if(!t)return;let u=!0;const a=async()=>{if(!(!u||n.current)){n.current=!0;try{const d=await M();u&&l({reihe:A(d.punkte),jetzt:d.jetzt})}catch{}finally{n.current=!1}}};a();const m=window.setInterval(()=>{a()},V),i=()=>{document.visibilityState==="visible"&&a()};return document.addEventListener("visibilitychange",i),()=>{u=!1,window.clearInterval(m),document.removeEventListener("visibilitychange",i)}},[t]),r}const O=[["nachname","Nachname"],["vorname","Vorname"],["geburtstag","Geburtstag"],["mentor","Begleitung"]];function U({kind:t,stand:r,heute:l}){const[n,u]=c.useState(!1),a=n?F(r,l):null,m=t.geburtstag?.istHeute;return e.jsxs("li",{className:`morgenzeile ${m?"morgenzeile--geburtstag":""}`.trimEnd(),children:[e.jsxs("button",{className:"morgenzeile__kopf",type:"button","aria-expanded":n,onClick:()=>u(i=>!i),children:[e.jsxs("span",{className:"morgenzeile__name",children:[e.jsx("strong",{children:t.nachname||t.vorname}),t.nachname?e.jsx("span",{className:"morgenzeile__vorname",children:t.vorname}):null]}),e.jsxs("span",{className:"morgenzeile__marken",children:[t.geburtstag?e.jsx("span",{className:`marke marke--geburtstag ${t.geburtstag.istHeute?"marke--heute":""}`.trimEnd(),children:t.geburtstag.istHeute?"Geburtstag":`${t.geburtstag.alter} am ${o(t.geburtstag.datum)}`}):null,t.entschuldigtHeute?e.jsx("span",{className:"marke marke--entschuldigt",children:w(t.entschuldigtHeute.grund)}):null,!t.entschuldigtHeute&&t.kommendeAbwesenheiten.length>0?e.jsxs("span",{className:"marke marke--kommt",children:["ab ",o(t.kommendeAbwesenheiten[0].vonDatum)," weg"]}):null,t.status!=="offen"?e.jsx("span",{className:`marke marke--${t.status}`,children:z(t.status)}):null]}),e.jsx("span",{className:"morgenzeile__begleitung",children:t.mentorName||"ohne Begleitung"}),e.jsx("span",{className:"morgenzeile__pfeil","aria-hidden":"true",children:n?"▾":"▸"})]}),n?e.jsx("div",{className:"morgenzeile__mehr",children:e.jsxs("dl",{children:[e.jsxs("div",{children:[e.jsx("dt",{children:"Name"}),e.jsx("dd",{children:t.anzeigename})]}),t.schulbesuchsjahr?e.jsxs("div",{children:[e.jsx("dt",{children:"Schulbesuchsjahr"}),e.jsx("dd",{children:t.schulbesuchsjahr})]}):null,e.jsxs("div",{children:[e.jsx("dt",{children:"Begleitung"}),e.jsx("dd",{children:t.mentorName||"noch niemandem zugeordnet"})]}),e.jsxs("div",{children:[e.jsx("dt",{children:"Heute"}),e.jsx("dd",{children:t.entschuldigtHeute?S(t.entschuldigtHeute):z(t.status)==="offen"?"noch nicht abgehakt":z(t.status)})]}),t.geburtstag?e.jsxs("div",{children:[e.jsx("dt",{children:"Geburtstag"}),e.jsx("dd",{children:B(t.geburtstag)})]}):null,a?e.jsxs(e.Fragment,{children:[e.jsxs("div",{children:[e.jsx("dt",{children:"Heute auf Heureka"}),e.jsx("dd",{children:a.runden.length===0?a.zuletztGelerntAm?`noch nichts; zuletzt am ${o(a.zuletztGelerntAm)}`:"noch nichts":`${k(a.aktiveMinuten,"Minute","Minuten")} in ${k(a.runden.length,"Runde","Runden")}`})]}),a.runden.length>0?e.jsxs("div",{children:[e.jsx("dt",{children:"Runden"}),e.jsx("dd",{children:e.jsx("ul",{className:"morgenzeile__liste",children:a.runden.map((i,d)=>e.jsxs("li",{children:[i.fach," · ",i.titel,i.gemeistert?" ★":"",i.gemeinsam?" · gemeinsam geführt":""]},`${i.titel}-${d}`))})})]}):null,e.jsxs("div",{children:[e.jsx("dt",{children:"Sterne und Stufe"}),e.jsxs("dd",{children:[a.sterne," ★ · ",a.reifestufe]})]}),a.letzteBeobachtung?e.jsxs("div",{children:[e.jsx("dt",{children:"Letzte Beobachtung"}),e.jsxs("dd",{children:[o(a.letzteBeobachtung.datum),": ",a.letzteBeobachtung.text]})]}):null]}):n?e.jsxs("div",{children:[e.jsx("dt",{children:"Heute auf Heureka"}),e.jsx("dd",{children:"Lernstand ist in dieser Ansicht nicht geladen."})]}):null,t.kommendeAbwesenheiten.length?e.jsxs("div",{children:[e.jsx("dt",{children:"Kommt nicht"}),e.jsx("dd",{children:e.jsx("ul",{className:"morgenzeile__liste",children:t.kommendeAbwesenheiten.map(i=>e.jsx("li",{children:S(i)},`${i.vonDatum}-${i.bisDatum}`))})})]}):null,t.medienFreigegeben?null:e.jsxs("div",{children:[e.jsx("dt",{children:"Fotos"}),e.jsx("dd",{children:"keine Medien-Einwilligung der Familie"})]})]})}):null]})}function xe(){const t=E(),r=R(),l=G(),[n,u]=c.useState(null),[a,m]=c.useState(""),[i,d]=c.useState("morgenkreis"),[j,y]=c.useState("nachname"),[g,v]=c.useState(""),[x,D]=c.useState("");c.useEffect(()=>{if(l.lokal)return;let s=!0;return m(""),(async()=>{try{const f=await L(j);s&&u(f)}catch(f){s&&m(f instanceof Error?f.message:"Die Morgenliste ist gerade nicht erreichbar.")}})(),()=>{s=!1}},[l.lokal,j]);const p=c.useMemo(()=>Z(I(n?.kinder??[],g),x),[x,n?.kinder,g]),N=c.useMemo(()=>P(n?.kinder??[]),[n?.kinder]),b=K(i==="hzeit"&&!l.lokal),H=c.useMemo(()=>{const s=new Map((n?.kinder??[]).map(h=>
1[h.kindId,h.anzeigename]));return h=>s.get(h)??"Lernprofil"},[n?.kinder]);return l.lokal?e.jsxs(_,{className:"morgenliste",children:[e.jsx($,{eyebrow:"Morgenkreis",title:"Morgenliste",intro:e.jsx("p",{children:"Alle Kinder der Schule, für den Morgenkreis."}),compact:!0}),e.jsx("p",{className:"datenschutz-hinweis",children:"Die Morgenliste zeigt die echten Kinder der Schule und steht deshalb nur im Schulzugang."})]}):e.jsxs(_,{className:"morgenliste",children:[e.jsx($,{eyebrow:n?new Date(`${n.datum}T12:00:00.000Z`).toLocaleDateString("de-AT",{weekday:"long",day:"numeric",month:"long"}):"Morgenkreis",title:"Morgenliste",intro:N?e.jsx("p",{children:N}):void 0,compact:!0}),a?e.jsx("p",{className:"feedback-falsch",role:"alert",children:a}):null,e.jsxs("div",{className:"morgenliste__modus",role:"group","aria-label":"Ansicht",children:[e.jsx("button",{type:"button",className:i==="morgenkreis"?"ist-gewaehlt":"","aria-pressed":i==="morgenkreis",onClick:()=>d("morgenkreis"),children:"Morgenkreis"}),e.jsx("button",{type:"button",className:i==="hzeit"?"ist-gewaehlt":"","aria-pressed":i==="hzeit",onClick:()=>d("hzeit"),children:"H-Zeit"})]}),i==="hzeit"?e.jsxs(e.Fragment,{children:[e.jsx(T,{reihe:b.reihe,jetzt:b.jetzt,nameVon:H}),b.reihe.length===0?e.jsx("p",{className:"morgenliste__ruhig",children:"Gerade zeigt niemand auf."}):null]}):null,e.jsxs("div",{className:"morgenliste__steuerung",children:[e.jsxs("label",{className:"morgenliste__suche",children:[e.jsx("span",{className:"visually-hidden",children:"Nach einem Namen suchen"}),e.jsx("input",{type:"search",value:x,placeholder:"Name suchen",onChange:s=>D(s.target.value)})]}),e.jsx("div",{className:"morgenliste__knopfreihe",role:"group","aria-label":"Sortieren nach",children:O.map(([s,h])=>e.jsx("button",{type:"button",className:j===s?"ist-gewaehlt":"","aria-pressed":j===s,onClick:()=>y(s),children:h},s))}),e.jsxs("div",{className:"morgenliste__knopfreihe",role:"group","aria-label":"Gruppe",children:[e.jsx("button",{type:"button",className:g===""?"ist-gewaehlt":"","aria-pressed":g==="",onClick:()=>v(""),children:"Alle"}),(n?.begleitungen??[]).map(s=>e.jsxs("button",{type:"button",className:g===s.uid?"ist-gewaehlt":"","aria-pressed":g===s.uid,onClick:()=>v(s.uid),children:[s.name.split(" ")[0]," ",e.jsx("span",{className:"morgenliste__anzahl",children:s.anzahl})]},s.uid))]})]}),n?e.jsxs(e.Fragment,{children:[e.jsxs("p",{className:"morgenliste__zahl",children:[p.length," von ",n.kinder.length]}),e.jsx("ul",{className:"morgenliste__liste",children:p.map(s=>e.jsx(U,{kind:s,stand:t[s.kindId],heute:r},s.kindId))}),p.length===0?e.jsx("p",{className:"morgenliste__leer",children:"Hier steht gerade niemand."}):null]}):e.jsx("p",{role:"status",children:"Die Liste wird geladen …"})]})}export{xe as Morgenliste};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.