@hed-hog/lms 0.0.330 → 0.0.331
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/hedhog/frontend/app/_components/course-form-sheet.tsx.ejs +3 -3
- package/hedhog/frontend/app/certificates/models/page.tsx.ejs +1 -1
- package/hedhog/frontend/app/classes/[id]/page.tsx.ejs +17 -17
- package/hedhog/frontend/app/courses/[id]/_components/CourseMultiEntityPicker.tsx.ejs +2 -2
- package/hedhog/frontend/app/courses/[id]/page.tsx.ejs +3 -3
- package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree-dnd.tsx.ejs +1 -1
- package/hedhog/frontend/app/courses/[id]/structure/_components/editor-lesson.tsx.ejs +228 -152
- package/hedhog/frontend/app/courses/[id]/structure/_components/shortcuts-help.tsx.ejs +71 -31
- package/hedhog/frontend/app/enterprise/[id]/page.tsx.ejs +37 -41
- package/hedhog/frontend/app/evaluations/_components/evaluation-topic-form-sheet.tsx.ejs +1 -1
- package/hedhog/frontend/app/exams/page.tsx.ejs +6 -2
- package/hedhog/frontend/app/instructors/_components/instructor-form-sheet.tsx.ejs +145 -119
- package/hedhog/frontend/app/instructors/page.tsx.ejs +71 -52
- package/hedhog/frontend/app/paths/page.tsx.ejs +11 -7
- package/hedhog/frontend/app/reports/courses/page.tsx.ejs +5 -5
- package/hedhog/frontend/app/reports/dashboard/page.tsx.ejs +8 -8
- package/hedhog/frontend/app/reports/page.tsx.ejs +7 -7
- package/hedhog/frontend/app/reports/students/page.tsx.ejs +6 -6
- package/hedhog/frontend/app/training/page.tsx.ejs +5 -5
- package/hedhog/frontend/messages/en.json +294 -46
- package/hedhog/frontend/messages/pt.json +289 -39
- package/hedhog/frontend/widgets/active-classes-kpi.tsx.ejs +1 -1
- package/hedhog/frontend/widgets/active-courses-kpi.tsx.ejs +1 -1
- package/hedhog/frontend/widgets/approval-rate-kpi.tsx.ejs +1 -1
- package/hedhog/frontend/widgets/class-calendar.tsx.ejs +2 -2
- package/hedhog/frontend/widgets/completion-rate-kpi.tsx.ejs +1 -1
- package/hedhog/frontend/widgets/issued-certificates-kpi.tsx.ejs +1 -1
- package/hedhog/frontend/widgets/total-students-kpi.tsx.ejs +1 -1
- package/hedhog/table/instructor_qualification.yaml +1 -1
- package/hedhog/table/instructor_skill.yaml +1 -1
- package/package.json +7 -7
|
@@ -732,6 +732,36 @@
|
|
|
732
732
|
"footer": "Atalhos são desativados quando o foco está em inputs, exceto Ctrl+S, Ctrl+F e Ctrl+/ que funcionam em qualquer contexto.",
|
|
733
733
|
"triggerTitle": "Atalhos de teclado (Ctrl+/)",
|
|
734
734
|
"triggerLabel": "Atalhos",
|
|
735
|
+
"groups": {
|
|
736
|
+
"navigation": {
|
|
737
|
+
"heading": "Navegação",
|
|
738
|
+
"items": {
|
|
739
|
+
"navigate": "Navegar entre itens",
|
|
740
|
+
"expand": "Expandir sessão selecionada",
|
|
741
|
+
"collapse": "Recolher sessão / ir para pai",
|
|
742
|
+
"focusEditor": "Focar primeiro campo do editor"
|
|
743
|
+
}
|
|
744
|
+
},
|
|
745
|
+
"actions": {
|
|
746
|
+
"heading": "Ações",
|
|
747
|
+
"items": {
|
|
748
|
+
"savePanel": "Salvar formulário do painel",
|
|
749
|
+
"createItem": "Criar nova sessão ou aula",
|
|
750
|
+
"copyItem": "Copiar item selecionado",
|
|
751
|
+
"pasteItem": "Colar no contexto atual",
|
|
752
|
+
"duplicateItem": "Duplicar item",
|
|
753
|
+
"deleteItems": "Excluir item(ns) selecionado(s)"
|
|
754
|
+
}
|
|
755
|
+
},
|
|
756
|
+
"search": {
|
|
757
|
+
"heading": "Busca e Interface",
|
|
758
|
+
"items": {
|
|
759
|
+
"focusSearch": "Focar campo de busca",
|
|
760
|
+
"openHelp": "Abrir ajuda de atalhos",
|
|
761
|
+
"clearState": "Limpar busca / seleção / foco"
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
},
|
|
735
765
|
"deleteTitle": "Excluir {label}?",
|
|
736
766
|
"deleteDescription": "Esta ação não pode ser desfeita.",
|
|
737
767
|
"items": "itens",
|
|
@@ -942,6 +972,73 @@
|
|
|
942
972
|
"providers": {
|
|
943
973
|
"custom": "Personalizado"
|
|
944
974
|
},
|
|
975
|
+
"questionEditor": {
|
|
976
|
+
"identification": "Identificação",
|
|
977
|
+
"publication": "Publicação",
|
|
978
|
+
"productionStatus": "Status de produção",
|
|
979
|
+
"visibility": "Visibilidade",
|
|
980
|
+
"restricted": "Restrito",
|
|
981
|
+
"addInstructor": "Adicionar instrutor...",
|
|
982
|
+
"searchInstructor": "Buscar instrutor...",
|
|
983
|
+
"noInstructorsAvailable": "Nenhum instrutor disponível",
|
|
984
|
+
"instructorEntity": "Instrutor",
|
|
985
|
+
"removeInstructor": "Remover {name}",
|
|
986
|
+
"uploading": "Enviando...",
|
|
987
|
+
"dropFile": "Solte o arquivo aqui",
|
|
988
|
+
"clickToSelect": "ou clique para selecionar",
|
|
989
|
+
"noLinkedResources": "Nenhum recurso vinculado.",
|
|
990
|
+
"openInNewTab": "Abrir {name} em nova aba",
|
|
991
|
+
"downloadResource": "Baixar {name}",
|
|
992
|
+
"removeResource": "Remover {name}",
|
|
993
|
+
"resourceUploadFailed": "{count} arquivo(s) não puderam ser enviados",
|
|
994
|
+
"resourceRemoveError": "Erro ao remover arquivo",
|
|
995
|
+
"resourceDownloadSoon": "Download de {name} em breve",
|
|
996
|
+
"newQuestion": "Nova questão",
|
|
997
|
+
"editQuestion": "Editar questão",
|
|
998
|
+
"selectQuestion": "Selecionar questão...",
|
|
999
|
+
"searchQuestion": "Buscar questão...",
|
|
1000
|
+
"noQuestionsFound": "Nenhuma questão encontrada",
|
|
1001
|
+
"questionEntity": "Questão",
|
|
1002
|
+
"pointsSuffix": "pt",
|
|
1003
|
+
"statement": "Enunciado",
|
|
1004
|
+
"type": "Tipo",
|
|
1005
|
+
"points": "Pontuação",
|
|
1006
|
+
"alternatives": "Alternativas",
|
|
1007
|
+
"add": "Adicionar",
|
|
1008
|
+
"dragAlternative": "Arrastar alternativa",
|
|
1009
|
+
"alternativeTextPlaceholder": "Texto da alternativa...",
|
|
1010
|
+
"markAsIncorrect": "Marcar como incorreta",
|
|
1011
|
+
"markAsCorrect": "Marcar como correta",
|
|
1012
|
+
"removeAlternative": "Remover alternativa",
|
|
1013
|
+
"correctAnswer": "Resposta correta",
|
|
1014
|
+
"blanks": "Lacunas",
|
|
1015
|
+
"blankLabel": "Lacuna {count}",
|
|
1016
|
+
"removeBlank": "Remover lacuna",
|
|
1017
|
+
"correctAnswerPlaceholder": "Resposta correta",
|
|
1018
|
+
"alternativesPlaceholder": "Alternativas separadas por vírgula (opcional)",
|
|
1019
|
+
"matchingPairs": "Pares de associação",
|
|
1020
|
+
"left": "Esquerda",
|
|
1021
|
+
"right": "Direita",
|
|
1022
|
+
"removePair": "Remover par",
|
|
1023
|
+
"essayHelp": "Questão dissertativa — o aluno responderá em texto livre.",
|
|
1024
|
+
"saveChanges": "Salvar alterações",
|
|
1025
|
+
"createQuestion": "Criar questão",
|
|
1026
|
+
"created": "Questão criada",
|
|
1027
|
+
"updated": "Questão atualizada",
|
|
1028
|
+
"validation": {
|
|
1029
|
+
"codeRequired": "Código obrigatório",
|
|
1030
|
+
"titleRequired": "Título obrigatório",
|
|
1031
|
+
"statementRequired": "Enunciado obrigatório",
|
|
1032
|
+
"correctAnswerRequired": "Selecione pelo menos uma resposta correta"
|
|
1033
|
+
},
|
|
1034
|
+
"types": {
|
|
1035
|
+
"multipleChoice": "Múltipla escolha",
|
|
1036
|
+
"trueFalse": "Verdadeiro / Falso",
|
|
1037
|
+
"essay": "Dissertativa",
|
|
1038
|
+
"fillBlank": "Lacuna",
|
|
1039
|
+
"matching": "Associação"
|
|
1040
|
+
}
|
|
1041
|
+
},
|
|
945
1042
|
"mockExams": {
|
|
946
1043
|
"hooksBasic": "Avaliação: Hooks Básicos",
|
|
947
1044
|
"hooksAdvanced": "Avaliação: Hooks Avançados",
|
|
@@ -1154,6 +1251,16 @@
|
|
|
1154
1251
|
"description": "Em minutos",
|
|
1155
1252
|
"required": true
|
|
1156
1253
|
},
|
|
1254
|
+
"primaryColor": {
|
|
1255
|
+
"label": "Cor Primária",
|
|
1256
|
+
"placeholder": "#1D4ED8",
|
|
1257
|
+
"required": true
|
|
1258
|
+
},
|
|
1259
|
+
"secondaryColor": {
|
|
1260
|
+
"label": "Cor Secundária",
|
|
1261
|
+
"placeholder": "#111827",
|
|
1262
|
+
"required": true
|
|
1263
|
+
},
|
|
1157
1264
|
"status": {
|
|
1158
1265
|
"label": "Status",
|
|
1159
1266
|
"placeholder": "Selecione o status",
|
|
@@ -1434,7 +1541,7 @@
|
|
|
1434
1541
|
"placeholder": "Full Stack Developer",
|
|
1435
1542
|
"required": true
|
|
1436
1543
|
},
|
|
1437
|
-
"
|
|
1544
|
+
"description": {
|
|
1438
1545
|
"label": "Descrição",
|
|
1439
1546
|
"placeholder": "Descreva a formação...",
|
|
1440
1547
|
"required": true
|
|
@@ -1461,6 +1568,16 @@
|
|
|
1461
1568
|
"label": "Pré-requisitos",
|
|
1462
1569
|
"placeholder": "Ex: JavaScript básico"
|
|
1463
1570
|
},
|
|
1571
|
+
"primaryColor": {
|
|
1572
|
+
"label": "Cor Primária",
|
|
1573
|
+
"placeholder": "#1D4ED8",
|
|
1574
|
+
"required": true
|
|
1575
|
+
},
|
|
1576
|
+
"secondaryColor": {
|
|
1577
|
+
"label": "Cor Secundária",
|
|
1578
|
+
"placeholder": "#111827",
|
|
1579
|
+
"required": true
|
|
1580
|
+
},
|
|
1464
1581
|
"cursos": {
|
|
1465
1582
|
"label": "Cursos da Trilha",
|
|
1466
1583
|
"description": "Selecione os cursos para a trilha",
|
|
@@ -1502,7 +1619,7 @@
|
|
|
1502
1619
|
"label": "Nome",
|
|
1503
1620
|
"placeholder": "Ex: React para Iniciantes"
|
|
1504
1621
|
},
|
|
1505
|
-
"
|
|
1622
|
+
"description": {
|
|
1506
1623
|
"label": "Descrição",
|
|
1507
1624
|
"placeholder": "Descreva o conteúdo do curso..."
|
|
1508
1625
|
},
|
|
@@ -2389,7 +2506,7 @@
|
|
|
2389
2506
|
},
|
|
2390
2507
|
"placeholders": {
|
|
2391
2508
|
"name": "Ex.: Certificado Corporativo",
|
|
2392
|
-
"description": "Breve
|
|
2509
|
+
"description": "Breve descrição para identificar o template"
|
|
2393
2510
|
},
|
|
2394
2511
|
"status": {
|
|
2395
2512
|
"draft": "Rascunho",
|
|
@@ -2767,6 +2884,16 @@
|
|
|
2767
2884
|
"classSaveError": "Não foi possível salvar a turma.",
|
|
2768
2885
|
"classDeleteError": "Não foi possível excluir a turma."
|
|
2769
2886
|
},
|
|
2887
|
+
"sheet": {
|
|
2888
|
+
"lessonForm": {
|
|
2889
|
+
"createInstructor": "Cadastrar professor",
|
|
2890
|
+
"createInstructorTitle": "Cadastrar Professor",
|
|
2891
|
+
"createInstructorDescription": "Crie um novo professor para selecionar nesta aula.",
|
|
2892
|
+
"createInstructorSubmit": "Cadastrar",
|
|
2893
|
+
"createInstructorSuccess": "Professor cadastrado com sucesso.",
|
|
2894
|
+
"createInstructorError": "Não foi possível cadastrar o professor."
|
|
2895
|
+
}
|
|
2896
|
+
},
|
|
2770
2897
|
"DetailPage": {
|
|
2771
2898
|
"breadcrumbs": {
|
|
2772
2899
|
"home": "Home",
|
|
@@ -2776,7 +2903,31 @@
|
|
|
2776
2903
|
},
|
|
2777
2904
|
"actions": {
|
|
2778
2905
|
"viewCourse": "Ver Curso",
|
|
2779
|
-
"newLesson": "Nova Aula"
|
|
2906
|
+
"newLesson": "Nova Aula",
|
|
2907
|
+
"editClass": "Editar turma"
|
|
2908
|
+
},
|
|
2909
|
+
"kpis": {
|
|
2910
|
+
"enrolledStudents": {
|
|
2911
|
+
"label": "Alunos Matriculados",
|
|
2912
|
+
"sub": "de {vagas} vagas"
|
|
2913
|
+
},
|
|
2914
|
+
"occupancyRate": {
|
|
2915
|
+
"label": "Taxa de Ocupação",
|
|
2916
|
+
"subFree": "{count} vagas livres",
|
|
2917
|
+
"subFull": "Lotada"
|
|
2918
|
+
},
|
|
2919
|
+
"avgAttendance": {
|
|
2920
|
+
"label": "Presença Média",
|
|
2921
|
+
"sub": "frequência geral"
|
|
2922
|
+
},
|
|
2923
|
+
"completedLessons": {
|
|
2924
|
+
"label": "Aulas Realizadas",
|
|
2925
|
+
"sub": "de {total} total"
|
|
2926
|
+
}
|
|
2927
|
+
},
|
|
2928
|
+
"links": {
|
|
2929
|
+
"studyRefPlaceholder": "Ex: Referência de estudo",
|
|
2930
|
+
"lessonSlidesPlaceholder": "Ex: Slides da aula"
|
|
2780
2931
|
},
|
|
2781
2932
|
"calendar": {
|
|
2782
2933
|
"today": "Hoje",
|
|
@@ -3011,25 +3162,6 @@
|
|
|
3011
3162
|
"save": "Salvar Presença"
|
|
3012
3163
|
}
|
|
3013
3164
|
},
|
|
3014
|
-
"kpis": {
|
|
3015
|
-
"enrolledStudents": {
|
|
3016
|
-
"label": "Alunos Matriculados",
|
|
3017
|
-
"sub": "de {vagas} vagas"
|
|
3018
|
-
},
|
|
3019
|
-
"occupancyRate": {
|
|
3020
|
-
"label": "Taxa de Ocupação",
|
|
3021
|
-
"subFree": "{count} vagas livres",
|
|
3022
|
-
"subFull": "Lotada"
|
|
3023
|
-
},
|
|
3024
|
-
"avgAttendance": {
|
|
3025
|
-
"label": "Presença Média",
|
|
3026
|
-
"sub": "frequência geral"
|
|
3027
|
-
},
|
|
3028
|
-
"completedLessons": {
|
|
3029
|
-
"label": "Aulas Realizadas",
|
|
3030
|
-
"sub": "de {total} total"
|
|
3031
|
-
}
|
|
3032
|
-
},
|
|
3033
3165
|
"quickCreate": {
|
|
3034
3166
|
"title": "Nova Aula",
|
|
3035
3167
|
"titlePlaceholder": "Título da aula",
|
|
@@ -3112,6 +3244,18 @@
|
|
|
3112
3244
|
"lessonRemovedSuccess": "Aula removida com sucesso.",
|
|
3113
3245
|
"classCourseNotFound": "Não foi possível localizar o curso desta turma."
|
|
3114
3246
|
}
|
|
3247
|
+
},
|
|
3248
|
+
"components": {
|
|
3249
|
+
"entityPicker": {
|
|
3250
|
+
"courses": {
|
|
3251
|
+
"empty": "Nenhum curso encontrado.",
|
|
3252
|
+
"loading": "Carregando cursos..."
|
|
3253
|
+
},
|
|
3254
|
+
"instructors": {
|
|
3255
|
+
"empty": "Nenhum professor encontrado.",
|
|
3256
|
+
"loading": "Carregando professores..."
|
|
3257
|
+
}
|
|
3258
|
+
}
|
|
3115
3259
|
}
|
|
3116
3260
|
},
|
|
3117
3261
|
"EvaluationTopicsPage": {
|
|
@@ -3410,6 +3554,69 @@
|
|
|
3410
3554
|
}
|
|
3411
3555
|
},
|
|
3412
3556
|
"InstructorsPage": {
|
|
3557
|
+
"breadcrumbs": {
|
|
3558
|
+
"home": "Home",
|
|
3559
|
+
"lms": "LMS",
|
|
3560
|
+
"instructors": "Instrutores"
|
|
3561
|
+
},
|
|
3562
|
+
"header": {
|
|
3563
|
+
"title": "Instrutores",
|
|
3564
|
+
"description": "Gerencie os perfis de instrutores da plataforma."
|
|
3565
|
+
},
|
|
3566
|
+
"kpis": {
|
|
3567
|
+
"total": "Total de instrutores",
|
|
3568
|
+
"active": "Ativos",
|
|
3569
|
+
"inactive": "Inativos"
|
|
3570
|
+
},
|
|
3571
|
+
"search": {
|
|
3572
|
+
"placeholder": "Buscar por nome ou e-mail..."
|
|
3573
|
+
},
|
|
3574
|
+
"filters": {
|
|
3575
|
+
"statusPlaceholder": "Filtrar por status",
|
|
3576
|
+
"allStatuses": "Todos os status",
|
|
3577
|
+
"qualificationPlaceholder": "Filtrar por qualificação",
|
|
3578
|
+
"allQualifications": "Todas as qualificações"
|
|
3579
|
+
},
|
|
3580
|
+
"viewMode": {
|
|
3581
|
+
"label": "Visualização",
|
|
3582
|
+
"ariaLabel": "Modo de visualização",
|
|
3583
|
+
"table": "Tabela",
|
|
3584
|
+
"tableAriaLabel": "Tabela",
|
|
3585
|
+
"cards": "Cards",
|
|
3586
|
+
"cardsAriaLabel": "Cards"
|
|
3587
|
+
},
|
|
3588
|
+
"table": {
|
|
3589
|
+
"instructor": "Instrutor",
|
|
3590
|
+
"email": "E-mail",
|
|
3591
|
+
"phone": "Telefone",
|
|
3592
|
+
"qualifications": "Qualificações",
|
|
3593
|
+
"skills": "Skills",
|
|
3594
|
+
"hourlyRate": "Valor/hora",
|
|
3595
|
+
"training": "Training",
|
|
3596
|
+
"status": "Status"
|
|
3597
|
+
},
|
|
3598
|
+
"emptyState": {
|
|
3599
|
+
"title": "Nenhum instrutor encontrado",
|
|
3600
|
+
"description": "Crie um novo instrutor ou ajuste os filtros de busca."
|
|
3601
|
+
},
|
|
3602
|
+
"qualificationLabels": {
|
|
3603
|
+
"courseLessons": "Aulas de curso",
|
|
3604
|
+
"classSessions": "Sessões de turma"
|
|
3605
|
+
},
|
|
3606
|
+
"actions": {
|
|
3607
|
+
"edit": "Editar",
|
|
3608
|
+
"delete": "Excluir",
|
|
3609
|
+
"cancel": "Cancelar",
|
|
3610
|
+
"deleting": "Excluindo..."
|
|
3611
|
+
},
|
|
3612
|
+
"training": {
|
|
3613
|
+
"active": "Ativo",
|
|
3614
|
+
"disabled": "Desabilitado"
|
|
3615
|
+
},
|
|
3616
|
+
"deleteDialog": {
|
|
3617
|
+
"title": "Excluir instrutor",
|
|
3618
|
+
"description": "Tem certeza que deseja excluir o instrutor {name}? Esta ação não pode ser desfeita."
|
|
3619
|
+
},
|
|
3413
3620
|
"messages": {
|
|
3414
3621
|
"instructorRemovedSuccess": "Instrutor removido com sucesso.",
|
|
3415
3622
|
"instructorRemoveError": "Erro ao remover instrutor. Tente novamente."
|
|
@@ -3426,6 +3633,7 @@
|
|
|
3426
3633
|
"fields": {
|
|
3427
3634
|
"person": "Pessoa",
|
|
3428
3635
|
"personRequired": "Selecione uma pessoa",
|
|
3636
|
+
"qualificationsRequired": "Selecione pelo menos uma qualificação",
|
|
3429
3637
|
"searchPerson": "Buscar ou selecionar pessoa...",
|
|
3430
3638
|
"editPerson": "Editar cadastro da pessoa",
|
|
3431
3639
|
"status": "Status",
|
|
@@ -3440,6 +3648,27 @@
|
|
|
3440
3648
|
"noUserLinked": "Nenhum usuário vinculado a este cadastro. Vincule um usuário para habilitar.",
|
|
3441
3649
|
"qualifications": "Qualificações"
|
|
3442
3650
|
},
|
|
3651
|
+
"qualificationDescriptions": {
|
|
3652
|
+
"courseLessons": "Pode atuar em aulas gravadas e estrutura de curso.",
|
|
3653
|
+
"classSessions": "Pode atuar em contextos ao vivo e turmas."
|
|
3654
|
+
},
|
|
3655
|
+
"classStatuses": {
|
|
3656
|
+
"inProgress": "Em andamento",
|
|
3657
|
+
"upcoming": "Futuro",
|
|
3658
|
+
"completed": "Concluído",
|
|
3659
|
+
"cancelled": "Cancelado"
|
|
3660
|
+
},
|
|
3661
|
+
"classes": {
|
|
3662
|
+
"emptyTitle": "Nenhuma turma encontrada",
|
|
3663
|
+
"emptyDescription": "Este instrutor ainda não está vinculado a nenhuma turma.",
|
|
3664
|
+
"start": "Início:",
|
|
3665
|
+
"end": "Fim:",
|
|
3666
|
+
"students": "{count} aluno(s)"
|
|
3667
|
+
},
|
|
3668
|
+
"evaluations": {
|
|
3669
|
+
"comingSoonTitle": "Avaliações — funcionalidade em breve",
|
|
3670
|
+
"comingSoonDescription": "Em breve você poderá visualizar as avaliações recebidas pelos alunos."
|
|
3671
|
+
},
|
|
3443
3672
|
"skills": {
|
|
3444
3673
|
"title": "Gerenciar Skills",
|
|
3445
3674
|
"description": "Gerencie as skills associadas a este instrutor.",
|
|
@@ -3448,11 +3677,19 @@
|
|
|
3448
3677
|
"noSkills": "Nenhuma skill disponível",
|
|
3449
3678
|
"newSkill": "Nova skill",
|
|
3450
3679
|
"newSkillDescription": "Cadastre uma nova skill para vincular ao instrutor.",
|
|
3451
|
-
"removeSkill": "Remover skill {skill}"
|
|
3680
|
+
"removeSkill": "Remover skill {skill}",
|
|
3681
|
+
"createFields": {
|
|
3682
|
+
"name": "Nome",
|
|
3683
|
+
"namePlaceholder": "Ex: JavaScript",
|
|
3684
|
+
"slug": "Slug (opcional)",
|
|
3685
|
+
"slugPlaceholder": "Ex: javascript"
|
|
3686
|
+
}
|
|
3452
3687
|
},
|
|
3453
3688
|
"buttons": {
|
|
3454
3689
|
"cancel": "Cancelar",
|
|
3455
|
-
"save": "Salvar alterações"
|
|
3690
|
+
"save": "Salvar alterações",
|
|
3691
|
+
"create": "Criar instrutor",
|
|
3692
|
+
"saveSkills": "Salvar skills"
|
|
3456
3693
|
},
|
|
3457
3694
|
"toasts": {
|
|
3458
3695
|
"skillsSaved": "Skills atualizadas com sucesso.",
|
|
@@ -3567,8 +3804,18 @@
|
|
|
3567
3804
|
"contractedClasses": {
|
|
3568
3805
|
"label": "Turmas",
|
|
3569
3806
|
"description": "Turmas contratadas"
|
|
3807
|
+
},
|
|
3808
|
+
"users": {
|
|
3809
|
+
"label": "Usuários",
|
|
3810
|
+
"description": "Total de usuários vinculados"
|
|
3570
3811
|
}
|
|
3571
3812
|
},
|
|
3813
|
+
"status": {
|
|
3814
|
+
"active": "Ativo",
|
|
3815
|
+
"trial": "Avaliação",
|
|
3816
|
+
"inactive": "Inativo",
|
|
3817
|
+
"suspended": "Suspenso"
|
|
3818
|
+
},
|
|
3572
3819
|
"tabs": {
|
|
3573
3820
|
"overview": "Visão Geral",
|
|
3574
3821
|
"users": "Usuários",
|
|
@@ -3577,12 +3824,27 @@
|
|
|
3577
3824
|
"billing": "Faturamento",
|
|
3578
3825
|
"students": "Alunos",
|
|
3579
3826
|
"administrators": "Administradores",
|
|
3580
|
-
"empresa": "Empresa"
|
|
3827
|
+
"empresa": "Empresa",
|
|
3828
|
+
"crm": "CRM"
|
|
3581
3829
|
},
|
|
3582
3830
|
"overview": {
|
|
3583
3831
|
"accountInfo": "Informações da Conta",
|
|
3584
3832
|
"contactDetails": "Dados de Contato",
|
|
3585
|
-
"crmAccount": "Conta CRM"
|
|
3833
|
+
"crmAccount": "Conta CRM",
|
|
3834
|
+
"slug": "Slug:",
|
|
3835
|
+
"created": "Criado:",
|
|
3836
|
+
"updated": "Atualizado:",
|
|
3837
|
+
"portalEnabled": "Portal habilitado"
|
|
3838
|
+
},
|
|
3839
|
+
"crm": {
|
|
3840
|
+
"noLinked": "Nenhuma conta CRM vinculada",
|
|
3841
|
+
"noLinkedDesc": "Esta conta enterprise ainda não está associada a uma conta comercial do CRM. Vincule uma para manter ambos os registros sincronizados.",
|
|
3842
|
+
"linkButton": "Vincular conta CRM",
|
|
3843
|
+
"openButton": "Abrir no CRM",
|
|
3844
|
+
"accountRef": "Conta CRM #{id}",
|
|
3845
|
+
"accountNameLabel": "Nome da conta",
|
|
3846
|
+
"crmIdLabel": "ID do CRM",
|
|
3847
|
+
"readNote": "Os dados são lidos do CRM. Use Abrir no CRM para gerenciar a conta comercial diretamente."
|
|
3586
3848
|
},
|
|
3587
3849
|
"users": {
|
|
3588
3850
|
"title": "Usuários Matriculados",
|
|
@@ -3699,18 +3961,6 @@
|
|
|
3699
3961
|
}
|
|
3700
3962
|
}
|
|
3701
3963
|
},
|
|
3702
|
-
"components": {
|
|
3703
|
-
"entityPicker": {
|
|
3704
|
-
"courses": {
|
|
3705
|
-
"empty": "Nenhum curso encontrado.",
|
|
3706
|
-
"loading": "Carregando cursos..."
|
|
3707
|
-
},
|
|
3708
|
-
"instructors": {
|
|
3709
|
-
"empty": "Nenhum professor encontrado.",
|
|
3710
|
-
"loading": "Carregando professores..."
|
|
3711
|
-
}
|
|
3712
|
-
}
|
|
3713
|
-
},
|
|
3714
3964
|
"courseStructure": {
|
|
3715
3965
|
"contextMenu": {
|
|
3716
3966
|
"expandedAll": "Tudo expandido",
|
|
@@ -43,7 +43,7 @@ export default function ActiveClassesKpi({ widget, onRemove }: Props) {
|
|
|
43
43
|
onRemove={onRemove}
|
|
44
44
|
>
|
|
45
45
|
<Card className="h-full overflow-hidden border-border/70">
|
|
46
|
-
<div className="h-1 w-full bg-
|
|
46
|
+
<div className="h-1 w-full bg-linear-to-r from-emerald-500/60 via-emerald-400/30 to-transparent" />
|
|
47
47
|
<CardContent className="flex h-full flex-col justify-between p-5">
|
|
48
48
|
<div className="flex items-start justify-between gap-2">
|
|
49
49
|
<p className="text-sm font-medium text-muted-foreground">
|
|
@@ -43,7 +43,7 @@ export default function ActiveCoursesKpi({ widget, onRemove }: Props) {
|
|
|
43
43
|
onRemove={onRemove}
|
|
44
44
|
>
|
|
45
45
|
<Card className="h-full overflow-hidden border-border/70">
|
|
46
|
-
<div className="h-1 w-full bg-
|
|
46
|
+
<div className="h-1 w-full bg-linear-to-r from-sky-500/60 via-blue-500/30 to-transparent" />
|
|
47
47
|
<CardContent className="flex h-full flex-col justify-between p-5">
|
|
48
48
|
<div className="flex items-start justify-between gap-2">
|
|
49
49
|
<p className="text-sm font-medium text-muted-foreground">
|
|
@@ -50,7 +50,7 @@ export default function ApprovalRateKpi({ widget, onRemove }: Props) {
|
|
|
50
50
|
onRemove={onRemove}
|
|
51
51
|
>
|
|
52
52
|
<Card className="h-full overflow-hidden border-border/70">
|
|
53
|
-
<div className="h-1 w-full bg-
|
|
53
|
+
<div className="h-1 w-full bg-linear-to-r from-rose-500/60 via-rose-400/30 to-transparent" />
|
|
54
54
|
<CardContent className="flex h-full flex-col justify-between p-5">
|
|
55
55
|
<div className="flex items-start justify-between gap-2">
|
|
56
56
|
<p className="text-sm font-medium text-muted-foreground">
|
|
@@ -395,11 +395,11 @@ export default function ClassCalendar({ widget, onRemove }: Props) {
|
|
|
395
395
|
<div className="space-y-4 px-4">
|
|
396
396
|
<h4 className="text-sm font-semibold text-foreground">{t('sheet.classInfo')}</h4>
|
|
397
397
|
<div className="grid grid-cols-2 gap-3">
|
|
398
|
-
<div className="rounded-lg border bg-
|
|
398
|
+
<div className="rounded-lg border bg-linear-to-br from-blue-50/50 to-blue-100/30 p-3 text-center">
|
|
399
399
|
<p className="text-2xl font-bold text-blue-700">{selectedEvent.resource.matriculados}</p>
|
|
400
400
|
<p className="text-xs text-muted-foreground">{t('sheet.enrolledStudents')}</p>
|
|
401
401
|
</div>
|
|
402
|
-
<div className="rounded-lg border bg-
|
|
402
|
+
<div className="rounded-lg border bg-linear-to-br from-emerald-50/50 to-emerald-100/30 p-3 text-center">
|
|
403
403
|
<p className="text-2xl font-bold text-emerald-700">{selectedEvent.resource.vagas - selectedEvent.resource.matriculados}</p>
|
|
404
404
|
<p className="text-xs text-muted-foreground">{t('sheet.availableSeats')}</p>
|
|
405
405
|
</div>
|
|
@@ -50,7 +50,7 @@ export default function CompletionRateKpi({ widget, onRemove }: Props) {
|
|
|
50
50
|
onRemove={onRemove}
|
|
51
51
|
>
|
|
52
52
|
<Card className="h-full overflow-hidden border-border/70">
|
|
53
|
-
<div className="h-1 w-full bg-
|
|
53
|
+
<div className="h-1 w-full bg-linear-to-r from-pink-500/60 via-pink-400/30 to-transparent" />
|
|
54
54
|
<CardContent className="flex h-full flex-col justify-between p-5">
|
|
55
55
|
<div className="flex items-start justify-between gap-2">
|
|
56
56
|
<p className="text-sm font-medium text-muted-foreground">
|
|
@@ -43,7 +43,7 @@ export default function IssuedCertificatesKpi({ widget, onRemove }: Props) {
|
|
|
43
43
|
onRemove={onRemove}
|
|
44
44
|
>
|
|
45
45
|
<Card className="h-full overflow-hidden border-border/70">
|
|
46
|
-
<div className="h-1 w-full bg-
|
|
46
|
+
<div className="h-1 w-full bg-linear-to-r from-amber-500/60 via-yellow-400/30 to-transparent" />
|
|
47
47
|
<CardContent className="flex h-full flex-col justify-between p-5">
|
|
48
48
|
<div className="flex items-start justify-between gap-2">
|
|
49
49
|
<p className="text-sm font-medium text-muted-foreground">
|
|
@@ -47,7 +47,7 @@ export default function TotalStudentsKpi({ widget, onRemove }: Props) {
|
|
|
47
47
|
onRemove={onRemove}
|
|
48
48
|
>
|
|
49
49
|
<Card className="h-full overflow-hidden border-border/70">
|
|
50
|
-
<div className="h-1 w-full bg-
|
|
50
|
+
<div className="h-1 w-full bg-linear-to-r from-orange-500/60 via-amber-500/30 to-transparent" />
|
|
51
51
|
<CardContent className="flex h-full flex-col justify-between p-5">
|
|
52
52
|
<div className="flex items-start justify-between gap-2">
|
|
53
53
|
<p className="text-sm font-medium text-muted-foreground">
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hed-hog/lms",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.331",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"dependencies": {
|
|
@@ -9,15 +9,15 @@
|
|
|
9
9
|
"@nestjs/core": "^11",
|
|
10
10
|
"@nestjs/jwt": "^11",
|
|
11
11
|
"@nestjs/mapped-types": "*",
|
|
12
|
-
"@hed-hog/api": "0.0.8",
|
|
13
|
-
"@hed-hog/category": "0.0.330",
|
|
14
12
|
"@hed-hog/api-types": "0.0.1",
|
|
15
|
-
"@hed-hog/finance": "0.0.330",
|
|
16
|
-
"@hed-hog/core": "0.0.330",
|
|
17
13
|
"@hed-hog/api-locale": "0.0.14",
|
|
14
|
+
"@hed-hog/api": "0.0.8",
|
|
18
15
|
"@hed-hog/api-prisma": "0.0.6",
|
|
19
|
-
"@hed-hog/contact": "0.0.
|
|
20
|
-
"@hed-hog/api-pagination": "0.0.7"
|
|
16
|
+
"@hed-hog/contact": "0.0.331",
|
|
17
|
+
"@hed-hog/api-pagination": "0.0.7",
|
|
18
|
+
"@hed-hog/category": "0.0.331",
|
|
19
|
+
"@hed-hog/finance": "0.0.331",
|
|
20
|
+
"@hed-hog/core": "0.0.331"
|
|
21
21
|
},
|
|
22
22
|
"exports": {
|
|
23
23
|
".": {
|