@@ -2,112 +2,32 @@ import { toast } from 'sonner'
22import { ButtonGridCard } from '@/components/ButtonGridCard'
33import { NAVIGATION } from '@/config'
44import { useUser } from '@/hooks/useUser'
5- import type { DocumentRequest } from '@/types/documentRequest '
5+ import type { DashboardLink } from '@/types/dashboardLink '
66import type { GuardianProps } from '@/types/guardian'
77import { RolePanelCardLayout } from './RolePanelCardLayout'
88
9- const guardianActions : DocumentRequest [ ] = [
10- { id : 1 , title : 'Acompanhar Boletim' , type : 'MONITOR_BULLETIN' } ,
11- { id : 2 , title : 'Ver Frequência' , type : 'CHECK_ATTENDANCE' } ,
12- { id : 3 , title : 'Comunicados da Escola' , type : 'SCHOOL_COMMUNICATIONS' } ,
13- { id : 4 , title : 'Relatório do Aluno' , type : 'STUDENT_REPORT' } ,
14- {
15- id : 5 ,
16- title : 'Acompanhar Desempenho do Aluno' ,
17- type : 'MONITOR_PERFORMANCE' ,
18- } ,
19- {
20- id : 6 ,
21- title : 'Consultar Frequência do Aluno' ,
22- type : 'CHECK_CHILD_ATTENDANCE' ,
23- } ,
24- { id : 7 , title : 'Receber Notificações' , type : 'MANAGE_NOTIFICATIONS' } ,
25- { id : 8 , title : 'Solicitar Documentos' , type : 'REQUEST_DOCUMENTS' } ,
26- { id : 9 , title : 'Contatar Professor' , type : 'CONTACT_TEACHER' } ,
27- { id : 10 , title : 'Ver Calendário Escolar' , type : 'VIEW_CALENDAR' } ,
28- { id : 11 , title : 'Acompanhar Tarefas Escolares' , type : 'MONITOR_HOMEWORK' } ,
29- { id : 12 , title : 'Gerenciar Dados de Contato' , type : 'UPDATE_CONTACT' } ,
9+ const guardianActions : DashboardLink [ ] = [
10+ { title : 'Crianças Matriculadas' , url : NAVIGATION . PROFILE } ,
11+ { title : 'Notas das Crianças' , url : NAVIGATION . AGENDA } ,
12+ { title : 'Frequência das Crianças' , url : NAVIGATION . AGENDA } ,
13+ { title : 'Aulas das Crianças' , url : NAVIGATION . AGENDA } ,
14+ { title : 'Comunicados' , url : NAVIGATION . EVENTS } ,
15+ { title : 'Recursos de Aprendizagem' , url : NAVIGATION . RESOURCES_LEARNING } ,
16+ { title : 'Contatos dos Professores' , url : NAVIGATION . INBOX } ,
17+ { title : 'Agenda Acadêmica' , url : NAVIGATION . ACADEMIC_SCHEDULE } ,
18+ { title : 'Mensagens Recebidas' , url : NAVIGATION . INBOX } ,
3019]
3120
3221export function GuardianPanelCard ( ) {
3322 const { data : userInfo } = useUser ( )
3423 const profile = userInfo ?. profile_details as GuardianProps | undefined
3524
36- const handleClick = ( item : DocumentRequest ) => {
25+ const handleClick = ( item : DashboardLink ) => {
3726 if ( ! userInfo ) {
3827 toast . error ( 'Não foi possível acessar as informações do usuário' )
3928 return
4029 }
41-
42- if ( userInfo . is_staff || userInfo . is_superuser ) {
43- switch ( item . type ) {
44- case 'MONITOR_BULLETIN' :
45- window . location . href = NAVIGATION . ADMIN_STUDENTS_GRADE
46- break
47- case 'CHECK_ATTENDANCE' :
48- window . location . href = NAVIGATION . ADMIN_STUDENTS_ATTENDANCE
49- break
50- case 'SCHOOL_COMMUNICATIONS' :
51- window . location . href = NAVIGATION . ADMIN_SCHOOL_ANNOUNCEMENT
52- break
53- case 'STUDENT_REPORT' :
54- window . location . href = NAVIGATION . ADMIN_STUDENTS_STUDENT
55- break
56- case 'MONITOR_PERFORMANCE' :
57- case 'CHECK_CHILD_ATTENDANCE' :
58- case 'MANAGE_NOTIFICATIONS' :
59- case 'REQUEST_DOCUMENTS' :
60- case 'CONTACT_TEACHER' :
61- case 'VIEW_CALENDAR' :
62- case 'MONITOR_HOMEWORK' :
63- case 'UPDATE_CONTACT' :
64- window . location . href = NAVIGATION . ADMIN
65- break
66- default :
67- toast . success ( `Ação selecionada: ${ item . title } ` )
68- }
69- } else {
70- switch ( item . type ) {
71- case 'MONITOR_BULLETIN' :
72- window . location . href = NAVIGATION . STUDENT_GRADES
73- break
74- case 'CHECK_ATTENDANCE' :
75- window . location . href = NAVIGATION . STUDENT_ATTENDANCE
76- break
77- case 'SCHOOL_COMMUNICATIONS' :
78- window . location . href = NAVIGATION . EVENTS
79- break
80- case 'STUDENT_REPORT' :
81- window . location . href = NAVIGATION . PROFILE
82- break
83- case 'MONITOR_PERFORMANCE' :
84- window . location . href = NAVIGATION . STUDENT_GRADES
85- break
86- case 'CHECK_CHILD_ATTENDANCE' :
87- window . location . href = NAVIGATION . STUDENT_ATTENDANCE
88- break
89- case 'MANAGE_NOTIFICATIONS' :
90- window . location . href = NAVIGATION . INBOX
91- break
92- case 'REQUEST_DOCUMENTS' :
93- window . location . href = NAVIGATION . PROFILE
94- break
95- case 'CONTACT_TEACHER' :
96- window . location . href = NAVIGATION . PROFESSOR_COMMUNICATION
97- break
98- case 'VIEW_CALENDAR' :
99- window . location . href = NAVIGATION . CALENDAR
100- break
101- case 'MONITOR_HOMEWORK' :
102- window . location . href = NAVIGATION . GUARDIAN_HOMEWORK
103- break
104- case 'UPDATE_CONTACT' :
105- window . location . href = NAVIGATION . PROFILE
106- break
107- default :
108- toast . success ( `Ação selecionada: ${ item . title } ` )
109- }
110- }
30+ window . location . href = item . url
11131 }
11232
11333 if ( ! profile ) {
0 commit comments