PageSourceSearch

https://sistur.lovable.app/assets/MinhasAtividades-Cbsk0G4t.js

js sistur.lovable.app collected 2026-10-03 03:46:06 UTC 4,684 bytes, 1 lines download raw bytes

1import{j as s,u as h}from"./vendor-react-CO7PoREX.js";import{A as f,t as a,C as v,f as _,g as j,h as N,i as y,B as o,d as w,w as m}from"./index-pTXHG3cO.js";import{S as x}from"./skeleton-Bb3vIg_k.js";import{E as A}from"./empty-state-DCJG-B0E.js";import{u as b,a as C}from"./useStudentAssignments-BRx9C2HT.js";import{a as r,d as k,G as E,D as M,ac as S,W as D,ab as H,K as P}from"./vendor-icons-CbEPf7Uj.js";import{f as p}from"./format-BiRs32QI.js";import"./vendor-query-BrmcFX9b.js";const $={not_yet_open:"Esta atividade ainda não foi liberada.",past_due:"O prazo desta atividade já encerrou.",max_attempts_reached:"Você atingiu o número máximo de tentativas.",not_targeted:"Esta atividade não foi atribuída a você.",not_enrolled:"Você não está matriculado nesta turma.",assignment_not_found:"Atividade não encontrada.",not_authenticated:"Faça login para continuar."};function B({a:e}){const i=h(),n=C(),u=e.assignment_type==="exam"?r:e.assignment_type==="track"?k:e.assignment_type==="training"?E:r,l=!e.is_open||e.is_overdue,d=e.available_from?new Date(e.available_from):null,c=e.due_date?new Date(e.due_date):null,g=async()=>{if(e.assignment_type!=="exam"){e.assignment_type==="track"&&e.track_id?i(`/edu/trilhas/${e.track_id}`):e.assignment_type==="training"&&e.training_id&&i(`/edu/training/${e.training_id}`);return}try{const t=await n.mutateAsync(e.id);if(!t.allowed||!t.exam_id){m.error($[t.reason||""]||"Não é possível iniciar agora");return}m.success(a("Prova iniciada!")),i(`/edu/exam/${t.exam_id}`)}catch(t){m.error((t==null?void 0:t.message)||"Falha ao iniciar a prova")}};return s.jsxs("div",{className:"flex items-start justify-between gap-3 p-4 border rounded-lg",children:[s.jsxs("div",{className:"flex items-start gap-3 min-w-0 flex-1",children:[s.jsx("div",{className:"h-9 w-9 rounded-lg bg-primary/10 flex items-center justify-center shrink-0",children:s.jsx(u,{className:"h-4 w-4 text-primary"})}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsx("p",{className:"font-medium text-sm",children:e.title}),s.jsxs("p",{className:"text-xs text-muted-foreground mt-0.5",children:[e.classroom_name,e.professor_name?` · ${e.professor_name}`:""]}),s.jsxs("div",{className:"flex flex-wrap items-center gap-2 mt-2",children:[s.jsx(o,{variant:"outline",className:"text-xs",children:e.assignment_type==="exam"?"Prova":e.assignment_type==="track"?"Trilha":e.assignment_type==="training"?"Treinamento":"Atividade"}),d&&d>new Date&&s.jsxs("span",{className:"text-xs text-warning flex items-center gap-1",children:[s.jsx(M,{className:"h-3 w-3"})," Abre ",p(d,"dd/MM HH:mm")]}),c&&s.jsxs("span",{className:`text-xs flex items-center gap-1 ${e.is_overdue?"text-destructive":"text-muted-foreground"}`,children:[s.jsx(S,{className:"h-3 w-3"})," Entrega ",p(c,"dd/MM HH:mm")]}),e.assignment_type==="exam"&&s.jsxs("span",{className:"text-xs text-muted-foreground flex items-center gap-1",children:[s.jsx(D,{className:"h-3 w-3"}),a("{{v0}} tentativa(s)",{v0:e.attempts_made})]}),e.last_attempt_result==="passed"&&s.jsxs(o,{variant:"outline",className:"text-xs gap-1",children:[s.jsx(H,{className:"h-3 w-3 text-success"})," ",a("Aprovado")]}),e.last_attempt_result==="failed"&&s.jsxs(o,{variant:"outline",className:"text-xs gap-1",children:[s.jsx(P,{className:"h-3 w-3 text-destructive"})," ",a("Reprovado")]})]})]})]}),s.jsx(w,{size:"sm",variant:l?"outline":"default",disabled:l||n.isPending,onClick:g,children:e.is_overdue?"Encerrada":e.is_open?e.assignment_type==="exam"?"Iniciar":"Acessar":"Aguardando"})]})}function I(){const{data:e,isLoading:i}=b();return s.jsx(f,{title:a("Minhas Atividades"),children:s.jsxs("div",{className:"container max-w-4xl py-8",children:[s.jsxs("div",{className:"mb-6",children:[s.jsx("h1",{className:"text-3xl font-bold tracking-tight",children:a("Minhas Atividades")}),s.jsx("p",{className:"text-muted-foreground mt-1",children:a("Provas, trilhas e treinamentos atribuídos pelos seus professores")})]}),s.jsxs(v,{children:[s.jsxs(_,{children:[s.jsxs(j,{className:"flex items-center gap-2",children:[s.jsx(r,{className:"h-5 w-5 text-primary"}),a("Atribuições")]}),s.jsx(N,{children:a("Atividades aparecem aqui assim que o professor as cria. Provas só podem ser iniciadas dentro da janela de disponibilidade.")})]}),s.jsx(y,{children:i?s.jsxs("div",{className:"space-y-2",children:[s.jsx(x,{className:"h-20"}),s.jsx(x,{className:"h-20"})]}):e!=null&&e.length?s.jsx("div",{className:"space-y-3",children:e.map(n=>s.jsx(B,{a:n},n.id))}):s.jsx(A,{icon:r,title:a("Nenhuma atividade atribuída"),description:a("Quando um professor atribuir provas, trilhas ou treinamentos, eles aparecerão aqui.")})})]})]})})}export{I 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.