PageSourceSearch

https://adeebco-krcgguzr.manus.space/assets/Assignments-lU-EeX8V.js

js adeebco-krcgguzr.manus.space collected 2026-10-03 04:59:53 UTC 14,966 bytes, 6 lines download raw bytes

1import{c as B,k as D,t as l,r as n,j as s,o as S,L as C,A as F,p as U,U as $,C as q,q as E,s as R}from"./index-C9BAOTn9.js";import{p as V}from"./notifications-cE8pUxNj.js";import{S as M}from"./send-ENe3TaPI.js";/**
2 * @license lucide-react v0.453.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const H=B("BookOpenCheck",[["path",{d:"M12 21V7",key:"gj6g52"}],["path",{d:"m16 12 2 2 4-4",key:"mdajum"}],["path",{d:"M22 6V4a1 1 0 0 0-1-1h-5a4 4 0 0 0-4 4 4 4 0 0 0-4-4H3a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h6a3 3 0 0 1 3 3 3 3 0 0 1 3-3h6a1 1 0 0 0 1-1v-1.3",key:"8arnkb"}]]),z={رياضيات:"#78a9ff",لغتي:"#f3a243",علوم:"#72d7ca",إنجليزي:"#b9b7ff",اجتماعيات:"#f38ba8"};function X(){const{user:m,isAuthenticated:r,loading:T}=D(),u=l.useUtils(),t=m?.role==="admin",[d,L]=n.useState("all"),[b,I]=n.useState("رياضيات"),[c,f]=n.useState(void 0),[g,j]=n.useState(""),[A,Q]=n.useState("غداً"),[O,N]=n.useState(!1),[i,w]=n.useState([]),v=l.assignments.listMine.useQuery(void 0,{enabled:r,refetchOnWindowFocus:!1}),p=l.users.directory.useQuery(void 0,{enabled:r&&t,refetchOnWindowFocus:!1}),_=l.classrooms.listMine.useQuery(void 0,{enabled:r&&t,refetchOnWindowFocus:!1}),o=l.assignments.create.useMutation({onSuccess:async()=>{await u.assignments.listMine.invalidate(),j(""),w([]),N(!0),window.setTimeout(()=>N(!1),2500)}}),h=l.assignments.complete.useMutation({onSuccess:async(e,a)=>{await u.assignments.listMine.invalidate(),V({type:"assignment-submitted",title:"تم تسليم واجب",detail:`تم تسليم الواجب رقم ${a.assignmentId} إلى قاعدة البيانات.`})}}),y=v.data??[],k=n.useMemo(()=>y.filter(e=>d==="all"||(d==="done"?e.status==="completed":e.status!=="completed")),[d,y]),P=e=>{e.preventDefault(),!(!g.trim()||!c&&!i.length)&&o.mutate({subject:b,title:g.trim(),due:A.trim()||"غير محدد",duration:"20 دقيقة",classroomId:c,studentIds:c?[]:i})},W=e=>w(a=>a.includes(e)?a.filter(x=>x!==e):[...a,e]);return T?s.jsx("div",{"data-loc":"client/src/pages/Assignments.tsx:26",dir:"rtl",className:"grid min-h-screen place-items-center bg-[#070a12] text-white",children:"جارٍ التحقق من الحساب…"}):r?s.jsxs("div",{"data-loc":"client/src/pages/Assignments.tsx:28",dir:"rtl",className:"min-h-screen bg-[#070a12] px-5 py-8 text-white sm:px-10 sm:py-10",children:[s.jsxs("header",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mx-auto flex max-w-6xl items-center justify-between",children:[s.jsxs(C,{"data-loc":"client/src/pages/Assignments.tsx:28",href:t?"/teacher-home":"/student-home",className:"inline-flex items-center gap-2 text-sm text-slate-400 transition hover:text-white",children:[s.jsx(F,{"data-loc":"client/src/pages/Assignments.tsx:28",className:"h-4 w-4"})," العودة"]}),s.jsxs("div",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"flex items-center gap-3",children:[!t&&s.jsx(U,{"data-loc":"client/src/pages/Assignments.tsx:28"}),s.jsx("div",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"grid h-10 w-10 place-items-center rounded-xl bg-[#78a9ff]/15 text-[#78a9ff]",children:s.jsx(S,{"data-loc":"client/src/pages/Assignments.tsx:28",className:"h-5 w-5"})}),s.jsxs("div",{"data-loc":"client/src/pages/Assignments.tsx:28",children:[s.jsx("p",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"font-display font-bold",children:"الواجبات"}),s.jsx("p",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"text-[10px] text-slate-500",children:t?"قاعدة بيانات الفصل":"واجباتي المشتركة"})]})]})]}),s.jsxs("main",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mx-auto mt-12 max-w-6xl sm:mt-16",children:[s.jsxs("section",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"relative overflow-hidden rounded-[2rem] border border-[#78a9ff]/25 bg-gradient-to-br from-[#1b315b] via-[#142542] to-[#0d1629] p-7 shadow-[0_25px_70px_rgba(0,0,0,0.28)] sm:p-10",children:[s.jsx("p",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"text-sm font-bold text-[#a9c8ff]",children:t?"إدارة الفصل":"مساحة الطالب"}),s.jsx("h1",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mt-3 font-display text-3xl font-extrabold sm:text-5xl",children:t?"أرسل واجباً للطلاب":"واجباتي الدراسية"}),s.jsx("p",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mt-4 max-w-2xl text-base leading-8 text-slate-300",children:t?"أنشئ واجباً وحدد الطلاب، وسيظهر لهم تلقائياً من قاعدة البيانات المشتركة.":"تظهر هنا الواجبات التي حددها لك المعلم تلقائياً."})]}),t&&s.jsxs("section",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mt-7 grid gap-5 lg:grid-cols-[1fr_0.8fr]",children:[s.jsxs("form",{"data-loc":"client/src/pages/Assignments.tsx:28",onSubmit:P,className:"rounded-[1.5rem] border border-[#f3a243]/25 bg-[#0e1422] p-6",children:[s.jsxs("div",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"flex items-center gap-3",children:[s.jsx(M,{"data-loc":"client/src/pages/Assignments.tsx:28",className:"h-5 w-5 text-[#f3a243]"}),s.jsx("h2",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"font-display text-xl font-extrabold",children:"واجب جديد"})]}),s.jsxs("div",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mt-5 grid gap-4 sm:grid-cols-2",children:[s.jsxs("label",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"text-sm font-bold text-slate-300",children:["الفصل",s.jsxs("select",{"data-loc":"client/src/pages/Assignments.tsx:28",value:c??"",onChange:e=>f(e.target.value?Number(e.target.value):void 0),className:"mt-2 h-12 w-full rounded-xl border border-white/10 bg-black/20 px-3 text-white",children:[s.jsx("option",{"data-loc":"client/src/pages/Assignments.tsx:28",value:"",children:"إرسال لطلاب محددين"}),(_.data??[]).map(e=>s.jsxs("option",{"data-loc":"client/src/pages/Assignments.tsx:28",value:e.id,children:[e.name," (",e.memberCount," طالب)"]},e.id))]})]}),s.jsxs("label",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"text-sm font-bold text-slate-300",children:["المادة",s.jsxs("select",{"data-loc":"client/src/pages/Assignments.tsx:28",value:b,onChange:e=>I(e.target.value),className:"mt-2 h-12 w-full rounded-xl border border-white/10 bg-black/20 px-3 text-white",children:[s.jsx("option",{"data-loc":"client/src/pages/Assignments.tsx:28",children:"رياضيات"}),s.jsx("option",{"data-loc":"client/src/pages/Assignments.tsx:28",children:"لغتي"}),s.jsx("option",{"data-loc":"client/src/pages/Assignments.tsx:28",children:"علوم"}),s.jsx("option",{"data-loc":"client/src/pages/Assignments.tsx:28",children:"إنجليزي"}),s.jsx("option",{"data-loc":"client/src/pages/Assignments.tsx:28",children:"اجتماعيات"})]})]}),s.jsxs("label",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"text-sm font-bold text-slate-300",children:["موعد التسليم",s.jsx("input",{"data-loc":"client/src/pages/Assignments.tsx:28",value:A,onChange:e=>Q(e.target.value),className:"mt-2 h-12 w-full rounded-xl border border-white/10 bg-black/20 px-3 text-white"})]})]}),s.jsxs("label",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mt-4 block text-sm font-bold text-slate-300",children:["اسم الواجب",s.jsx("input",{"data-loc":"client/src/pages/Assignments.tsx:28",required:!0,value:g,onChange:e=>j(e.target.value),placeholder:"مثال: مراجعة الوحدة الأولى",className:"mt-2 h-12 w-full rounded-xl border border-white/10 bg-black/20 px-3 text-white placeholder:text-slate-600"})]}),s.jsxs("button",{"data-loc":"client/src/pages/Assignments.tsx:28",disabled:o.isPending||!i.length,type:"submit",className:"mt-5 inline-flex items-center gap-2 rounded-xl bg-[#f3a243] px-5 py-3 text-sm font-bold text-[#101426] transition hover:bg-[#ffd18f] disabled:cursor-not-allowed disabled:opacity-50",children:[s.jsx(M,{"data-loc":"client/src/pages/Assignments.tsx:28",className:"h-4 w-4"})," ",o.isPending?"جارٍ الإرسال…":"إرسال للطلاب المحددين"]}),!i.length&&!c&&s.jsx("p",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mt-3 text-xs text-amber-200",children:"حدد فصلاً أو طالباً واحداً على الأقل قبل الإرسال."}),O&&s.jsx("p",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mt-3 text-sm font-bold text-emerald-300",children:"تم حفظ الواجب وإرساله للطلاب المحددين."}),o.error&&s.jsx("p",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mt-3 text-sm text-rose-200",children:"تعذر حفظ الواجب. حاول مرة أخرى."})]}),s.jsxs("div",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"rounded-[1.5rem] border border-[#72d7ca]/20 bg-[#72d7ca]/[0.06] p-6",children:[s.jsxs("div",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"flex items-center gap-3",children:[s.jsx($,{"data-loc":"client/src/pages/Assignments.tsx:28",className:"h-5 w-5 text-[#72d7ca]"}),s.jsx("h2",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"font-display text-xl font-extrabold",children:"طلاب الحسابات"})]}),s.jsx("p",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mt-3 text-sm leading-7 text-slate-400",children:"اختر الطلاب الذين سيظهر لهم الواجب في لوحاتهم."}),s.jsxs("div",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mt-5 space-y-2",children:[(p.data??[]).filter(e=>e.id!==m.id).map(e=>s.jsxs("label",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"flex cursor-pointer items-center gap-3 rounded-xl border border-white/10 bg-black/15 p-3 text-sm",children:[s.jsx("input",{"data-loc":"client/src/pages/Assignments.tsx:28",type:"checkbox",checked:i.includes(e.id),onChange:()=>{f(void 0),W(e.id)},className:"h-4 w-4 accent-[#72d7ca]"}),s.jsx("span",{"data-loc":"client/src/pages/Assignments.tsx:28",children:e.name||e.email||`حساب رقم ${e.id}`})]},e.id)),!p.isLoading&&!(p.data??[]).some(e=>e.id!==m.id)&&s.jsx("p",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"rounded-xl border border-dashed border-white/15 p-4 text-xs leading-6 text-slate-400",children:"لا توجد حسابات طلاب موثقة بعد. اطلب من الطلاب تسجيل الدخول أولاً."})]})]})]}),s.jsx("section",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mt-7 flex flex-wrap gap-2 rounded-2xl border border-white/10 bg-[#0e1422] p-2",children:[["all","كل الواجبات"],["pending","المتبقية"],["done","المكتملة"]].map(([e,a])=>s.jsx("button",{"data-loc":"client/src/pages/Assignments.tsx:28",type:"button",onClick:()=>L(e),className:`rounded-xl px-4 py-2.5 text-sm font-bold transition ${d===e?"bg-[#78a9ff] text-[#101426]":"text-slate-400 hover:bg-white/[0.06] hover:text-white"}`,children:a},e))}),s.jsx("section",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mt-6 grid gap-5 md:grid-cols-2 lg:grid-cols-3",children:k.map(e=>{const a=z[e.subject]??"#78a9ff",x=e.status==="completed";return s.jsxs("article",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"rounded-[1.5rem] border border-white/10 bg-[#0e1422] p-5",style:{borderTopColor:a,borderTopWidth:3},children:[s.jsxs("div",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{"data-loc":"client/src/pages/Assignments.tsx:28",children:[s.jsx("p",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"text-xs font-bold",style:{color:a},children:e.subject}),s.jsx("h2",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mt-2 font-display text-xl font-extrabold",children:e.title})]}),x?s.jsx(q,{"data-loc":"client/src/pages/Assignments.tsx:28",className:"h-6 w-6 text-emerald-300"}):s.jsx(H,{"data-loc":"client/src/pages/Assignments.tsx:28",className:"h-6 w-6 text-slate-500"})]}),s.jsx("p",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mt-4 text-sm text-slate-400",children:t?"واجب أنشأته":"واجب من معلمك"}),s.jsxs("div",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mt-5 grid grid-cols-2 gap-2 text-xs text-slate-400",children:[s.jsxs("span",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"flex items-center gap-1 rounded-xl bg-white/[0.04] px-3 py-2",children:[s.jsx(E,{"data-loc":"client/src/pages/Assignments.tsx:28",className:"h-4 w-4"})," ",e.due]}),s.jsxs("span",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"flex items-center gap-1 rounded-xl bg-white/[0.04] px-3 py-2",children:[s.jsx(R,{"data-loc":"client/src/pages/Assignments.tsx:28",className:"h-4 w-4"})," ",e.duration]})]}),t||x?s.jsx("p",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mt-5 text-sm font-bold text-emerald-200",children:t?"محفوظ في قاعدة البيانات":"مكتمل"}):s.jsx("button",{"data-loc":"client/src/pages/Assignments.tsx:28",type:"button",disabled:h.isPending,onClick:()=>h.mutate({assignmentId:e.id}),className:"mt-5 w-full rounded-xl bg-[#78a9ff] px-4 py-3 text-sm font-bold text-[#101426] transition hover:bg-[#a9c8ff] disabled:opacity-50",children:h.isPending?"جارٍ الحفظ…":"تحديد كمكتمل"})]},e.id)})}),!v.isLoading&&!k.length&&s.jsx("div",{"data-loc":"client/src/pages/Assignments.tsx:28",className:"mt-6 rounded-2xl border border-dashed border-white/15 px-6 py-12 text-center text-sm text-slate-400",children:"لا توجد واجبات مشتركة لهذا الحساب حتى الآن."})]})]}):s.jsx("div",{"data-loc":"client/src/pages/Assignments.tsx:27",dir:"rtl",className:"grid min-h-screen place-items-center bg-[#070a12] px-6 text-white",children:s.jsxs("div",{"data-loc":"client/src/pages/Assignments.tsx:27",className:"max-w-md rounded-[1.5rem] border border-white/10 bg-[#0e1422] p-8 text-center",children:[s.jsx(S,{"data-loc":"client/src/pages/Assignments.tsx:27",className:"mx-auto h-10 w-10 text-[#78a9ff]"}),s.jsx("h1",{"data-loc":"client/src/pages/Assignments.tsx:27",className:"mt-5 font-display text-2xl font-extrabold",children:"سجّل الدخول للوصول إلى الواجبات"}),s.jsx("p",{"data-loc":"client/src/pages/Assignments.tsx:27",className:"mt-3 text-sm leading-7 text-slate-400",children:"الواجبات محفوظة الآن في قاعدة بيانات مشتركة، لذلك يلزم حساب موثّق لعرضها أو تسليمها."}),s.jsx(C,{"data-loc":"client/src/pages/Assignments.tsx:27",href:"/",className:"mt-6 inline-flex rounded-xl bg-[#78a9ff] px-5 py-3 text-sm font-bold text-[#101426]",children:"العودة لتسجيل الدخول"})]})})}export{X as default};

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.