PageSourceSearch

https://mycurriculummate.com.au/static/js/1268.4d67ac76.chunk.js

js mycurriculummate.com.au collected 2026-09-24 14:09:31 UTC 8,451 bytes, 3 lines download raw bytes

1/*! For license information please see 1268.4d67ac76.chunk.js.LICENSE.txt */
2"use strict";(globalThis.webpackChunkfrontend=globalThis.webpackChunkfrontend||[]).push([[1268],{2357(e,s,t){t.d(s,{g:()=>n,h:()=>i});const a="feedback_prompted_session",r=e=>`feedback_prompted_${e}`,i=e=>{if(!e)return!1;try{if(localStorage.getItem(r(e)))return!1;if(sessionStorage.getItem(a))return!1}catch{return!1}return!0},n=e=>{if(e)try{localStorage.setItem(r(e),"1"),sessionStorage.setItem(a,"1")}catch{}}},1268(e,s,t){t.r(s),t.d(s,{default:()=>A});var a=t(5043),r=t(5621),i=t(4980),n=t(6328),l=t(3390),d=t(1140),o=t(5949),c=t(4204),m=t(1351),x=t(7167),h=t(5440),u=t(2357),p=t(2024),g=t(5469),f=t(5244),j=t(7104),v=t(9855),y=t(2754),b=t(7118);const N=(0,t(7784).A)("square-check-big",[["path",{d:"M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.5",key:"1uzm8b"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var w=t(3944),k=t(579);const A=()=>{var e,s,t,A;const{bingoId:R}=(0,r.g)(),C=(0,r.Zp)(),[S,$]=(0,a.useState)(null),[_,D]=(0,a.useState)(!0),[E,P]=(0,a.useState)(!1),[F,B]=(0,a.useState)(!1),[I,Z]=(0,a.useState)(!1);(0,a.useEffect)(()=>{(async()=>{try{const e=await i.A.get(`${i.n}/bingo/${R}`);$(e.data)}catch{n.oR.error("Could not load bingo set."),C("/activity-studio/bingo")}finally{D(!1)}})()},[R,C]);if(_)return(0,k.jsx)(c.A,{children:(0,k.jsx)("div",{className:"flex items-center justify-center h-64",children:(0,k.jsx)(p.A,{className:"w-8 h-8 animate-spin text-primary"})})});const z=(null===S||void 0===S||null===(e=S.content)||void 0===e?void 0:e.terms)||[];return(0,k.jsxs)(c.A,{children:[(0,k.jsx)(h.A,{}),(0,k.jsxs)("div",{className:"p-6 max-w-5xl mx-auto",children:[(0,k.jsxs)("div",{className:"flex items-center gap-3 mb-6",children:[(0,k.jsx)(l.$,{variant:"ghost",size:"sm",onClick:()=>C("/activity-studio/bingo"),children:(0,k.jsx)(g.A,{className:"w-4 h-4"})}),(0,k.jsx)("div",{className:"p-2 rounded-lg bg-primary/10",children:(0,k.jsx)(f.A,{className:"w-5 h-5 text-primary"})}),(0,k.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,k.jsx)("h1",{className:"text-xl font-bold text-foreground truncate",children:null===S||void 0===S?void 0:S.title}),(0,k.jsxs)("p",{className:"text-sm text-muted-foreground",children:[null===S||void 0===S?void 0:S.subject," \xb7 Year ",null===S||void 0===S||null===(s=S.year_levels)||void 0===s?void 0:s.join(", ")," \xb7 ",null===S||void 0===S?void 0:S.num_cards," cards \xb7 ",null===S||void 0===S?void 0:S.num_terms," terms"]})]}),(null===S||void 0===S?void 0:S.difficulty)&&(0,k.jsx)(o.E,{variant:"secondary",className:"capitalize",children:S.difficulty})]}),(0,k.jsxs)("div",{className:"flex flex-wrap gap-2 mb-6",children:[(0,k.jsxs)(l.$,{onClick:async()=>{P(!0);try{const e=await i.A.get(`${i.n}/bingo/${R}/export`,{responseType:"blob",validateStatus:e=>e<500});if(402===e.status&&(B(!0),n.oR.info("Upgrade to Pro to download a clean PDF without watermark.")),200!==e.status&&402!==e.status)return void n.oR.error("PDF export failed. Please try again.");const s=new Blob([e.data],{type:"application/pdf"}),t=URL.createObjectURL(s),a=document.createElement("a");a.href=t,a.download=`${(null===S||void 0===S?void 0:S.title)||"bingo"}_cards.pdf`,a.click(),URL.revokeObjectURL(t),402!==e.status&&(0,u.h)(R)&&((0,u.g)(R),Z(!0))}catch{n.oR.error("PDF export failed. Please try again.")}finally{P(!1)}},disabled:E,size:"sm",children:[E?(0,k.jsx)(p.A,{className:"w-4 h-4 mr-2 animate-spin"}):(0,k.jsx)(j.A,{className:"w-4 h-4 mr-2"}),"Download PDF class set"]}),(0,k.jsxs)(l.$,{onClick:async()=>{if(window.confirm("Delete this bingo set? This cannot be undone."))try{await i.A.delete(`${i.n}/bingo/${R}`),n.oR.success("Bingo set deleted."),C("/activity-studio/bingo")}catch{n.oR.error("Delete failed.")}},variant:"ghost",size:"sm",className:"text-destructive hover:text-destructive ml-auto",children:[(0,k.jsx)(v.A,{className:"w-4 h-4 mr-2"})," Delete"]})]}),(0,k.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,k.jsxs)(d.Zp,{children:[(0,k.jsx)(d.aR,{className:"pb-2",children:(0,k.jsxs)(d.ZB,{className:"text-sm font-medium",children:["Vocabulary pool (",z.length," terms)"]})}),(0,k.jsx)(d.Wu,{children:(0,k.jsx)("div",{className:"flex flex-wrap gap-1.5",children:z.map((e,s)=>(0,k.jsx)(o.E,{variant:"outline",className:"text-xs font-normal",children:e},s))})})]}),(null===S||void 0===S||null===(t=S.content)||void 0===t||null===(A=t.cards)||void 0===A?void 0:A.length)>0&&(0,k.jsxs)(d.Zp,{children:[(0,k.jsx)(d.aR,{className:"pb-2",children:(0,k.jsxs)(d.ZB,{className:"text-sm font-medium",children:["Card 1 preview (of ",S.num_cards,")"]})}),(0,k.jsxs)(d.Wu,{children:[(0,k.jsx)("div",{className:"grid grid-cols-5 ga
2p-0.5 text-center text-xs",children:S.content.cards[0].flat().map((e,s)=>(0,k.jsx)("div",{className:"border rounded px-0.5 py-1 font-medium leading-tight "+(""===e?"bg-primary text-primary-foreground border-primary":"bg-muted/50 border-border text-foreground"),style:{minHeight:"2.5rem",display:"flex",alignItems:"center",justifyContent:"center"},children:""===e?"FREE":e},s))}),(0,k.jsxs)("p",{className:"text-xs text-muted-foreground mt-3 text-center",children:["Each of the ",S.num_cards," cards has a unique random arrangement."]})]})]})]}),(0,k.jsxs)(d.Zp,{className:"mt-6",children:[(0,k.jsx)(d.aR,{className:"pb-3",children:(0,k.jsxs)(d.ZB,{className:"text-sm font-medium flex items-center gap-2",children:[(0,k.jsx)(f.A,{className:"w-4 h-4 text-primary"}),"How to run Bingo in your classroom"]})}),(0,k.jsx)(d.Wu,{children:(0,k.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4",children:[(0,k.jsxs)("div",{className:"flex gap-3",children:[(0,k.jsx)("div",{className:"mt-0.5 p-1.5 rounded-md bg-primary/10 shrink-0 h-fit",children:(0,k.jsx)(y.A,{className:"w-4 h-4 text-primary"})}),(0,k.jsxs)("div",{children:[(0,k.jsx)("p",{className:"text-sm font-medium text-foreground",children:"1. Print & distribute"}),(0,k.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Download the PDF and print one card per student. Every card has a unique random arrangement so students can't copy each other."})]})]}),(0,k.jsxs)("div",{className:"flex gap-3",children:[(0,k.jsx)("div",{className:"mt-0.5 p-1.5 rounded-md bg-primary/10 shrink-0 h-fit",children:(0,k.jsx)(b.A,{className:"w-4 h-4 text-primary"})}),(0,k.jsxs)("div",{children:[(0,k.jsx)("p",{className:"text-sm font-medium text-foreground",children:"2. Call the terms"}),(0,k.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Read out a definition, clue, or question for each term. Students find the matching word on their card and mark it off (counters, crosses, or highlighters work well)."})]})]}),(0,k.jsxs)("div",{className:"flex gap-3",children:[(0,k.jsx)("div",{className:"mt-0.5 p-1.5 rounded-md bg-primary/10 shrink-0 h-fit",children:(0,k.jsx)(N,{className:"w-4 h-4 text-primary"})}),(0,k.jsxs)("div",{children:[(0,k.jsx)("p",{className:"text-sm font-medium text-foreground",children:"3. Win condition"}),(0,k.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:'First student to complete a full row, column, or diagonal calls "Bingo!" Verify by asking them to read back the terms. The FREE space in the centre counts for everyone.'})]})]}),(0,k.jsxs)("div",{className:"flex gap-3",children:[(0,k.jsx)("div",{className:"mt-0.5 p-1.5 rounded-md bg-primary/10 shrink-0 h-fit",children:(0,k.jsx)(w.A,{className:"w-4 h-4 text-primary"})}),(0,k.jsxs)("div",{children:[(0,k.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Tips"}),(0,k.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Keep the vocabulary pool list on the screen or board as a reference. Play multiple rounds by requiring a full card blackout. Use as a warm-up, mid-lesson check, or end-of-unit review."})]})]})]})})]})]}),I&&(0,k.jsx)("div",{className:"max-w-2xl mx-auto px-4 pb-6",children:(0,k.jsx)(x.A,{feature:"bingo",resourceId:null===S||void 0===S?void 0:S.activity_id,onClose:()=>Z(!1)})}),F&&(0,k.jsx)(m.A,{isOpen:!0,onClose:()=>B(!1)})]})}},2754(e,s,t){t.d(s,{A:()=>a});const a=(0,t(7784).A)("printer",[["path",{d:"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2",key:"143wyd"}],["path",{d:"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6",key:"1itne7"}],["rect",{x:"6",y:"14",width:"12",height:"8",rx:"1",key:"1ue0tg"}]])}}]);
3//# sourceMappingURL=1268.4d67ac76.chunk.js.map

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.