@learnpack/learnpack 5.0.272 → 5.0.275
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/lib/commands/serve.js +133 -61
- package/lib/creatorDist/assets/{index-C1pv1wUb.js → index-BfLyIQVh.js} +7 -2
- package/lib/creatorDist/assets/{index-B4khtb0r.css → index-C39zeF3W.css} +3 -3
- package/lib/creatorDist/index.html +2 -2
- package/lib/models/creator.d.ts +7 -0
- package/lib/utils/api.d.ts +1 -0
- package/lib/utils/api.js +3 -1
- package/package.json +1 -1
- package/src/commands/serve.ts +165 -100
- package/src/creator/src/components/syllabus/ContentIndex.tsx +312 -312
- package/src/creator/src/locales/en.json +126 -125
- package/src/creator/src/locales/es.json +126 -125
- package/src/creator/src/utils/rigo.ts +26 -26
- package/src/creatorDist/assets/{index-C1pv1wUb.js → index-BfLyIQVh.js} +7 -2
- package/src/creatorDist/assets/{index-B4khtb0r.css → index-C39zeF3W.css} +3 -3
- package/src/creatorDist/index.html +2 -2
- package/src/models/creator.ts +7 -0
- package/src/ui/_app/app.css +1 -1
- package/src/ui/_app/app.js +435 -414
- package/src/ui/_app/learnpack.svg +7 -7
- package/src/ui/app.tar.gz +0 -0
- package/src/utils/api.ts +2 -0
@@ -1,126 +1,127 @@
|
|
1
|
-
{
|
2
|
-
"contentIndexHeader": {
|
3
|
-
"firstMessage": "I've created a detailed structure for your course: {{title}}",
|
4
|
-
"secondMessage": "I've updated the structure based on your feedback."
|
5
|
-
},
|
6
|
-
"stepWizard": {
|
7
|
-
"requiredFields": "Please fill out all required fields!",
|
8
|
-
"invalidFields": "Please fill out all fields correctly!",
|
9
|
-
"subtitle": "Setting up your tutorial",
|
10
|
-
"back": "Back",
|
11
|
-
"next": "Next",
|
12
|
-
"finish": "Finish 🚀",
|
13
|
-
"description": "What do you want to learn?",
|
14
|
-
"descriptionPlaceholder": "Describe your course",
|
15
|
-
"duration": "What is the estimated duration for this tutorial?",
|
16
|
-
"durationCard": {
|
17
|
-
"30": "Around 30 minutes",
|
18
|
-
"60": "Around 1 hour",
|
19
|
-
"120": "Around 2 hours"
|
20
|
-
},
|
21
|
-
"purpose": "What’s your primary learning goal for this tutorial?",
|
22
|
-
"verifyHuman": "Please verify you are a human",
|
23
|
-
"humanSuccess": "You are a human! 👌🏻",
|
24
|
-
"hasContentIndex": "Any materials to get this course started?",
|
25
|
-
"hasContentIndexCard": {
|
26
|
-
"no": "❌ No, help me create one",
|
27
|
-
"yes": "✅ Yes"
|
28
|
-
},
|
29
|
-
"contentIndex": "Any materials to get this course started?",
|
30
|
-
"contentIndexHelpText": "It could be just text, paste an URL or even upload a document."
|
31
|
-
},
|
32
|
-
"purposeSelector": {
|
33
|
-
"learnpack-lesson-writer": {
|
34
|
-
"label": "Understand a new topic",
|
35
|
-
"description": "Learn about a new concept (e.g., What is compound interest?)."
|
36
|
-
},
|
37
|
-
"homework-and-exam-preparation-aid": {
|
38
|
-
"label": "Practice for an exam or homework",
|
39
|
-
"description": "Timed problems with instant feedback in math, STEM or any other topic"
|
40
|
-
},
|
41
|
-
"skill-building-facilitator": {
|
42
|
-
"label": "Build real-world skills",
|
43
|
-
"description": "Step-by-step projects that mirror real tasks (data-science notebooks, security audits…)"
|
44
|
-
},
|
45
|
-
"certification-preparation-specialist": {
|
46
|
-
"label": "Prepare for a certification",
|
47
|
-
"description": "Full mock exams for standard certifications & study sheets. E.g: TOEFL®, CompTIA, etc"
|
48
|
-
}
|
49
|
-
},
|
50
|
-
"uploader": {
|
51
|
-
"text": {
|
52
|
-
"description": "Write or paste a content table",
|
53
|
-
"placeholder": "Add your text here...",
|
54
|
-
"finish": "Finish"
|
55
|
-
},
|
56
|
-
"files": {
|
57
|
-
"description": "Upload files",
|
58
|
-
"descriptionLong": "Upload a PDF file or drag it here",
|
59
|
-
"processing": "Processing...",
|
60
|
-
"drop": "Drop it here",
|
61
|
-
"finish": "🚀 Finish",
|
62
|
-
"maxImagesPerPDFWarning": "⚠️ Only 15 images per PDF are supported in LearnPack beta. You can select what to do if the PDF exceeds this limit.",
|
63
|
-
"useOnlyFirstImages": "Use only the first 15 images",
|
64
|
-
"cancelAndUploadAnother": "Cancel and upload another PDF",
|
65
|
-
"maxImagesPerPDFError": "❌ Only 15 images per PDF are supported in LearnPack beta and this PDF exceeds the limit.",
|
66
|
-
"errorProcessingPDF": "❌ Error processing PDF, please try again, if the problem persists, try with a different file."
|
67
|
-
},
|
68
|
-
"youtube": {
|
69
|
-
"description": "Share a Youtube link",
|
70
|
-
"placeholder": "Paste your link here…"
|
71
|
-
}
|
72
|
-
},
|
73
|
-
"loader": {
|
74
|
-
"text": "Learnpack is setting up your tutorial. It may take a moment...",
|
75
|
-
"thinking": "Thinking..."
|
76
|
-
},
|
77
|
-
"sidebar": {
|
78
|
-
"chatWithMe": "Chat with me to update the course content",
|
79
|
-
"howCanLearnPackHelpYou": "How can LearnPack help you?"
|
80
|
-
},
|
81
|
-
"contentIndex": {
|
82
|
-
"subText": {
|
83
|
-
"first": "It includes a mix of reading, coding exercises, and quizzes. Give it a look and let me know if it aligns with your expectations or if there are any changes you'd like to make.",
|
84
|
-
"second": "Based on your input, here is the new syllabus, updates are highlighted in yellow",
|
85
|
-
"noLessons": "The content could not be generated, please talk with Rigobot to give it more context."
|
86
|
-
},
|
87
|
-
"revertChanges": "Revert changes",
|
88
|
-
"changesReverted": "Changes reverted!",
|
89
|
-
"readyToCreate": "I'm ready. Create the course for me!",
|
90
|
-
"creatingCourseAs": "Creating the course as {{name}}",
|
91
|
-
"loginAsSomeoneElse": "Login as someone else",
|
92
|
-
"continueScrolling": "Continue scrolling",
|
93
|
-
"
|
94
|
-
"
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
"
|
99
|
-
"
|
100
|
-
"
|
101
|
-
"
|
102
|
-
"
|
103
|
-
"
|
104
|
-
"
|
105
|
-
"
|
106
|
-
"
|
107
|
-
"
|
108
|
-
"
|
109
|
-
"
|
110
|
-
"
|
111
|
-
"
|
112
|
-
"
|
113
|
-
"
|
114
|
-
"
|
115
|
-
"
|
116
|
-
"
|
117
|
-
"
|
118
|
-
"
|
119
|
-
"
|
120
|
-
"
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
"
|
125
|
-
|
1
|
+
{
|
2
|
+
"contentIndexHeader": {
|
3
|
+
"firstMessage": "I've created a detailed structure for your course: {{title}}",
|
4
|
+
"secondMessage": "I've updated the structure based on your feedback."
|
5
|
+
},
|
6
|
+
"stepWizard": {
|
7
|
+
"requiredFields": "Please fill out all required fields!",
|
8
|
+
"invalidFields": "Please fill out all fields correctly!",
|
9
|
+
"subtitle": "Setting up your tutorial",
|
10
|
+
"back": "Back",
|
11
|
+
"next": "Next",
|
12
|
+
"finish": "Finish 🚀",
|
13
|
+
"description": "What do you want to learn?",
|
14
|
+
"descriptionPlaceholder": "Describe your course",
|
15
|
+
"duration": "What is the estimated duration for this tutorial?",
|
16
|
+
"durationCard": {
|
17
|
+
"30": "Around 30 minutes",
|
18
|
+
"60": "Around 1 hour",
|
19
|
+
"120": "Around 2 hours"
|
20
|
+
},
|
21
|
+
"purpose": "What’s your primary learning goal for this tutorial?",
|
22
|
+
"verifyHuman": "Please verify you are a human",
|
23
|
+
"humanSuccess": "You are a human! 👌🏻",
|
24
|
+
"hasContentIndex": "Any materials to get this course started?",
|
25
|
+
"hasContentIndexCard": {
|
26
|
+
"no": "❌ No, help me create one",
|
27
|
+
"yes": "✅ Yes"
|
28
|
+
},
|
29
|
+
"contentIndex": "Any materials to get this course started?",
|
30
|
+
"contentIndexHelpText": "It could be just text, paste an URL or even upload a document."
|
31
|
+
},
|
32
|
+
"purposeSelector": {
|
33
|
+
"learnpack-lesson-writer": {
|
34
|
+
"label": "Understand a new topic",
|
35
|
+
"description": "Learn about a new concept (e.g., What is compound interest?)."
|
36
|
+
},
|
37
|
+
"homework-and-exam-preparation-aid": {
|
38
|
+
"label": "Practice for an exam or homework",
|
39
|
+
"description": "Timed problems with instant feedback in math, STEM or any other topic"
|
40
|
+
},
|
41
|
+
"skill-building-facilitator": {
|
42
|
+
"label": "Build real-world skills",
|
43
|
+
"description": "Step-by-step projects that mirror real tasks (data-science notebooks, security audits…)"
|
44
|
+
},
|
45
|
+
"certification-preparation-specialist": {
|
46
|
+
"label": "Prepare for a certification",
|
47
|
+
"description": "Full mock exams for standard certifications & study sheets. E.g: TOEFL®, CompTIA, etc"
|
48
|
+
}
|
49
|
+
},
|
50
|
+
"uploader": {
|
51
|
+
"text": {
|
52
|
+
"description": "Write or paste a content table",
|
53
|
+
"placeholder": "Add your text here...",
|
54
|
+
"finish": "Finish"
|
55
|
+
},
|
56
|
+
"files": {
|
57
|
+
"description": "Upload files",
|
58
|
+
"descriptionLong": "Upload a PDF file or drag it here",
|
59
|
+
"processing": "Processing...",
|
60
|
+
"drop": "Drop it here",
|
61
|
+
"finish": "🚀 Finish",
|
62
|
+
"maxImagesPerPDFWarning": "⚠️ Only 15 images per PDF are supported in LearnPack beta. You can select what to do if the PDF exceeds this limit.",
|
63
|
+
"useOnlyFirstImages": "Use only the first 15 images",
|
64
|
+
"cancelAndUploadAnother": "Cancel and upload another PDF",
|
65
|
+
"maxImagesPerPDFError": "❌ Only 15 images per PDF are supported in LearnPack beta and this PDF exceeds the limit.",
|
66
|
+
"errorProcessingPDF": "❌ Error processing PDF, please try again, if the problem persists, try with a different file."
|
67
|
+
},
|
68
|
+
"youtube": {
|
69
|
+
"description": "Share a Youtube link",
|
70
|
+
"placeholder": "Paste your link here…"
|
71
|
+
}
|
72
|
+
},
|
73
|
+
"loader": {
|
74
|
+
"text": "Learnpack is setting up your tutorial. It may take a moment...",
|
75
|
+
"thinking": "Thinking..."
|
76
|
+
},
|
77
|
+
"sidebar": {
|
78
|
+
"chatWithMe": "Chat with me to update the course content",
|
79
|
+
"howCanLearnPackHelpYou": "How can LearnPack help you?"
|
80
|
+
},
|
81
|
+
"contentIndex": {
|
82
|
+
"subText": {
|
83
|
+
"first": "It includes a mix of reading, coding exercises, and quizzes. Give it a look and let me know if it aligns with your expectations or if there are any changes you'd like to make.",
|
84
|
+
"second": "Based on your input, here is the new syllabus, updates are highlighted in yellow",
|
85
|
+
"noLessons": "The content could not be generated, please talk with Rigobot to give it more context."
|
86
|
+
},
|
87
|
+
"revertChanges": "Revert changes",
|
88
|
+
"changesReverted": "Changes reverted!",
|
89
|
+
"readyToCreate": "I'm ready. Create the course for me!",
|
90
|
+
"creatingCourseAs": "Creating the course as {{name}}",
|
91
|
+
"loginAsSomeoneElse": "Login as someone else",
|
92
|
+
"continueScrolling": "Continue scrolling",
|
93
|
+
"noLessons": "The content could not be generated, please talk with Rigobot to give it more context.",
|
94
|
+
"okMessage": "If you're satisfied, type 'OK' in the chat.",
|
95
|
+
"instructionsMessage": "If not, what would you like me to change? You can say things like:\n - Add more exercises\n - Make it more difficult\n - Remove step 1.1 and replace it with a new step that explains the concept of X "
|
96
|
+
},
|
97
|
+
"login": {
|
98
|
+
"creatingAccount": "Creating account…",
|
99
|
+
"loggedInSuccessfully": "Logged in successfully",
|
100
|
+
"invalidCredentials": "Invalid credentials",
|
101
|
+
"pleaseFillAllFields": "Please fill all fields",
|
102
|
+
"loggingIn": "Logging in…",
|
103
|
+
"accountCreated": "Account created! Check your email.",
|
104
|
+
"registrationFailed": "Registration failed. Try again.",
|
105
|
+
"createYourAccount": "Create your account",
|
106
|
+
"firstName": "First name",
|
107
|
+
"lastName": "Last name",
|
108
|
+
"alreadyHaveAnAccount": "Already have an account?",
|
109
|
+
"logInHere": "Log in here",
|
110
|
+
"youNeedToHaveAnAccount": "You need to have a 4Geeks account with a creator plan to create a tutorial.",
|
111
|
+
"loginWithGithub": "LOGIN WITH GITHUB",
|
112
|
+
"loginWithGoogle": "LOGIN WITH GOOGLE",
|
113
|
+
"or": "or",
|
114
|
+
"password": "Password",
|
115
|
+
"logIn": "Log in",
|
116
|
+
"skip": "Skip",
|
117
|
+
"forgotPassword": "Forgot your password?",
|
118
|
+
"recoverItHere": "Recover it here",
|
119
|
+
"loginWithEmail": "Login with Email",
|
120
|
+
"youDontHaveAnAccount": "You don't have an account?",
|
121
|
+
"registerHere": "Register here."
|
122
|
+
},
|
123
|
+
"turnstileModal": {
|
124
|
+
"title": "We need to verify you are a human, wait a moment...",
|
125
|
+
"error": "Error verifying you are a human, please try again, if the problem persists, use a different browser."
|
126
|
+
}
|
126
127
|
}
|
@@ -1,126 +1,127 @@
|
|
1
|
-
{
|
2
|
-
"contentIndexHeader": {
|
3
|
-
"firstMessage": "He creado una estructura detallada para tu curso: {{title}}",
|
4
|
-
"secondMessage": "He actualizado la estructura según tu feedback."
|
5
|
-
},
|
6
|
-
"stepWizard": {
|
7
|
-
"requiredFields": "Por favor, completa todos los campos requeridos.",
|
8
|
-
"invalidFields": "Por favor, completa todos los campos correctamente.",
|
9
|
-
"subtitle": "Configurando tu tutorial",
|
10
|
-
"back": "Atrás",
|
11
|
-
"next": "Siguiente",
|
12
|
-
"finish": "Finalizar 🚀",
|
13
|
-
"description": "¿Qué quieres aprender?",
|
14
|
-
"descriptionPlaceholder": "Describe tu curso",
|
15
|
-
"duration": "¿Cuál es la duración estimada para este tutorial?",
|
16
|
-
"durationCard": {
|
17
|
-
"30": "Alrededor de 30 minutos",
|
18
|
-
"60": "Alrededor de 1 hora",
|
19
|
-
"120": "Alrededor de 2 horas"
|
20
|
-
},
|
21
|
-
"purpose": "¿Cómo te gustaría usar learnpack?",
|
22
|
-
"verifyHuman": "Por favor, verifica que eres un humano",
|
23
|
-
"humanSuccess": "¡Eres un humano! 👌🏻",
|
24
|
-
"hasContentIndex": "¿Hay algún material para empezar este curso?",
|
25
|
-
"hasContentIndexCard": {
|
26
|
-
"no": "❌ No, ayúdame a crear uno",
|
27
|
-
"yes": "✅ Sí"
|
28
|
-
},
|
29
|
-
"contentIndex": "¿Hay algún material para empezar este curso?",
|
30
|
-
"contentIndexHelpText": "Puede ser solo texto, pegar una URL o incluso subir un documento."
|
31
|
-
},
|
32
|
-
"purposeSelector": {
|
33
|
-
"learnpack-lesson-writer": {
|
34
|
-
"label": "Entender un nuevo tema",
|
35
|
-
"description": "Aprender sobre un nuevo concepto (ej. ISO 27001 o decaimiento exponencial)."
|
36
|
-
},
|
37
|
-
"homework-and-exam-preparation-aid": {
|
38
|
-
"label": "Practicar para un examen o tarea",
|
39
|
-
"description": "Resolver problemas matemáticos o preguntas de certificación."
|
40
|
-
},
|
41
|
-
"skill-building-facilitator": {
|
42
|
-
"label": "Construir habilidades reales",
|
43
|
-
"description": "Aplicar conceptos a proyectos, ciencia de datos o auditorías de seguridad."
|
44
|
-
},
|
45
|
-
"certification-preparation-specialist": {
|
46
|
-
"label": "Prepararse para una certificación",
|
47
|
-
"description": "Prepararse para exámenes como ISO 27001 Lead Auditor."
|
48
|
-
}
|
49
|
-
},
|
50
|
-
"uploader": {
|
51
|
-
"text": {
|
52
|
-
"description": "Escribir o pegar una tabla de contenido",
|
53
|
-
"placeholder": "Agrega tu texto aquí...",
|
54
|
-
"finish": "Finalizar"
|
55
|
-
},
|
56
|
-
"files": {
|
57
|
-
"description": "Subir archivos",
|
58
|
-
"descriptionLong": "Subir un archivo PDF o arrastralo aquí",
|
59
|
-
"processing": "Procesando...",
|
60
|
-
"drop": "Arrastra el archivo aquí",
|
61
|
-
"finish": "🚀 Finalizar",
|
62
|
-
"maxImagesPerPDFWarning": "⚠️ Solo se admiten 15 imágenes por PDF en LearnPack beta. Puedes seleccionar qué hacer si el PDF excede este límite.",
|
63
|
-
"useOnlyFirstImages": "Usar solo las primeras 15 imágenes",
|
64
|
-
"cancelAndUploadAnother": "Cancelar y subir otro PDF",
|
65
|
-
"maxImagesPerPDFError": "❌ Solo se admiten 15 imágenes por PDF en LearnPack beta y este PDF excede el límite.",
|
66
|
-
"errorProcessingPDF": "❌ Error procesando PDF, por favor intenta de nuevo, si el problema persiste, intenta con un archivo diferente."
|
67
|
-
},
|
68
|
-
"youtube": {
|
69
|
-
"description": "Compartir un enlace de Youtube",
|
70
|
-
"placeholder": "Pega tu enlace aquí…"
|
71
|
-
}
|
72
|
-
},
|
73
|
-
"loader": {
|
74
|
-
"text": "Learnpack está configurando tu tutorial. Puede que tarde un momento...",
|
75
|
-
"thinking": "Pensando..."
|
76
|
-
},
|
77
|
-
"sidebar": {
|
78
|
-
"chatWithMe": "Chatea conmigo para actualizar el contenido del curso",
|
79
|
-
"howCanLearnPackHelpYou": "¿Cómo puede LearnPack ayudarte?"
|
80
|
-
},
|
81
|
-
"contentIndex": {
|
82
|
-
"subText": {
|
83
|
-
"first": "Incluye una mezcla de lectura, ejercicios de codificación y cuestionarios. Dále un vistazo y dímelo si coincide con tus expectativas o si hay algún cambio que te gustaría hacer.",
|
84
|
-
"second": "Basado en tu entrada, aquí está el nuevo plan de estudios, los cambios se resaltan en amarillo",
|
85
|
-
"noLessons": "El contenido no pudo ser generado, por favor habla con Rigobot para darle más contexto."
|
86
|
-
},
|
87
|
-
"revertChanges": "Revertir cambios",
|
88
|
-
"changesReverted": "Cambios revertidos!",
|
89
|
-
"readyToCreate": "Estoy listo. ¡Crea el curso por mí!",
|
90
|
-
"creatingCourseAs": "Creando el curso como {{name}}",
|
91
|
-
"loginAsSomeoneElse": "Iniciar sesión como alguien más",
|
92
|
-
"continueScrolling": "Continuar desplazando",
|
93
|
-
"
|
94
|
-
"
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
"
|
99
|
-
"
|
100
|
-
"
|
101
|
-
"
|
102
|
-
"
|
103
|
-
"
|
104
|
-
"
|
105
|
-
"
|
106
|
-
"
|
107
|
-
"
|
108
|
-
"
|
109
|
-
"
|
110
|
-
"
|
111
|
-
"
|
112
|
-
"
|
113
|
-
"
|
114
|
-
"
|
115
|
-
"
|
116
|
-
"
|
117
|
-
"
|
118
|
-
"
|
119
|
-
"
|
120
|
-
"
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
"
|
125
|
-
|
1
|
+
{
|
2
|
+
"contentIndexHeader": {
|
3
|
+
"firstMessage": "He creado una estructura detallada para tu curso: {{title}}",
|
4
|
+
"secondMessage": "He actualizado la estructura según tu feedback."
|
5
|
+
},
|
6
|
+
"stepWizard": {
|
7
|
+
"requiredFields": "Por favor, completa todos los campos requeridos.",
|
8
|
+
"invalidFields": "Por favor, completa todos los campos correctamente.",
|
9
|
+
"subtitle": "Configurando tu tutorial",
|
10
|
+
"back": "Atrás",
|
11
|
+
"next": "Siguiente",
|
12
|
+
"finish": "Finalizar 🚀",
|
13
|
+
"description": "¿Qué quieres aprender?",
|
14
|
+
"descriptionPlaceholder": "Describe tu curso",
|
15
|
+
"duration": "¿Cuál es la duración estimada para este tutorial?",
|
16
|
+
"durationCard": {
|
17
|
+
"30": "Alrededor de 30 minutos",
|
18
|
+
"60": "Alrededor de 1 hora",
|
19
|
+
"120": "Alrededor de 2 horas"
|
20
|
+
},
|
21
|
+
"purpose": "¿Cómo te gustaría usar learnpack?",
|
22
|
+
"verifyHuman": "Por favor, verifica que eres un humano",
|
23
|
+
"humanSuccess": "¡Eres un humano! 👌🏻",
|
24
|
+
"hasContentIndex": "¿Hay algún material para empezar este curso?",
|
25
|
+
"hasContentIndexCard": {
|
26
|
+
"no": "❌ No, ayúdame a crear uno",
|
27
|
+
"yes": "✅ Sí"
|
28
|
+
},
|
29
|
+
"contentIndex": "¿Hay algún material para empezar este curso?",
|
30
|
+
"contentIndexHelpText": "Puede ser solo texto, pegar una URL o incluso subir un documento."
|
31
|
+
},
|
32
|
+
"purposeSelector": {
|
33
|
+
"learnpack-lesson-writer": {
|
34
|
+
"label": "Entender un nuevo tema",
|
35
|
+
"description": "Aprender sobre un nuevo concepto (ej. ISO 27001 o decaimiento exponencial)."
|
36
|
+
},
|
37
|
+
"homework-and-exam-preparation-aid": {
|
38
|
+
"label": "Practicar para un examen o tarea",
|
39
|
+
"description": "Resolver problemas matemáticos o preguntas de certificación."
|
40
|
+
},
|
41
|
+
"skill-building-facilitator": {
|
42
|
+
"label": "Construir habilidades reales",
|
43
|
+
"description": "Aplicar conceptos a proyectos, ciencia de datos o auditorías de seguridad."
|
44
|
+
},
|
45
|
+
"certification-preparation-specialist": {
|
46
|
+
"label": "Prepararse para una certificación",
|
47
|
+
"description": "Prepararse para exámenes como ISO 27001 Lead Auditor."
|
48
|
+
}
|
49
|
+
},
|
50
|
+
"uploader": {
|
51
|
+
"text": {
|
52
|
+
"description": "Escribir o pegar una tabla de contenido",
|
53
|
+
"placeholder": "Agrega tu texto aquí...",
|
54
|
+
"finish": "Finalizar"
|
55
|
+
},
|
56
|
+
"files": {
|
57
|
+
"description": "Subir archivos",
|
58
|
+
"descriptionLong": "Subir un archivo PDF o arrastralo aquí",
|
59
|
+
"processing": "Procesando...",
|
60
|
+
"drop": "Arrastra el archivo aquí",
|
61
|
+
"finish": "🚀 Finalizar",
|
62
|
+
"maxImagesPerPDFWarning": "⚠️ Solo se admiten 15 imágenes por PDF en LearnPack beta. Puedes seleccionar qué hacer si el PDF excede este límite.",
|
63
|
+
"useOnlyFirstImages": "Usar solo las primeras 15 imágenes",
|
64
|
+
"cancelAndUploadAnother": "Cancelar y subir otro PDF",
|
65
|
+
"maxImagesPerPDFError": "❌ Solo se admiten 15 imágenes por PDF en LearnPack beta y este PDF excede el límite.",
|
66
|
+
"errorProcessingPDF": "❌ Error procesando PDF, por favor intenta de nuevo, si el problema persiste, intenta con un archivo diferente."
|
67
|
+
},
|
68
|
+
"youtube": {
|
69
|
+
"description": "Compartir un enlace de Youtube",
|
70
|
+
"placeholder": "Pega tu enlace aquí…"
|
71
|
+
}
|
72
|
+
},
|
73
|
+
"loader": {
|
74
|
+
"text": "Learnpack está configurando tu tutorial. Puede que tarde un momento...",
|
75
|
+
"thinking": "Pensando..."
|
76
|
+
},
|
77
|
+
"sidebar": {
|
78
|
+
"chatWithMe": "Chatea conmigo para actualizar el contenido del curso",
|
79
|
+
"howCanLearnPackHelpYou": "¿Cómo puede LearnPack ayudarte?"
|
80
|
+
},
|
81
|
+
"contentIndex": {
|
82
|
+
"subText": {
|
83
|
+
"first": "Incluye una mezcla de lectura, ejercicios de codificación y cuestionarios. Dále un vistazo y dímelo si coincide con tus expectativas o si hay algún cambio que te gustaría hacer.",
|
84
|
+
"second": "Basado en tu entrada, aquí está el nuevo plan de estudios, los cambios se resaltan en amarillo",
|
85
|
+
"noLessons": "El contenido no pudo ser generado, por favor habla con Rigobot para darle más contexto."
|
86
|
+
},
|
87
|
+
"revertChanges": "Revertir cambios",
|
88
|
+
"changesReverted": "Cambios revertidos!",
|
89
|
+
"readyToCreate": "Estoy listo. ¡Crea el curso por mí!",
|
90
|
+
"creatingCourseAs": "Creando el curso como {{name}}",
|
91
|
+
"loginAsSomeoneElse": "Iniciar sesión como alguien más",
|
92
|
+
"continueScrolling": "Continuar desplazando",
|
93
|
+
"noLessons": "El contenido no pudo ser generado, por favor habla con Rigobot para darle más contexto.",
|
94
|
+
"okMessage": "Si estás satisfecho, escribe 'OK' en el chat.",
|
95
|
+
"instructionsMessage": "Si no, ¿qué te gustaría que cambiara? Puedes decir cosas como:\n - Añadir más ejercicios\n - Hacerlo más difícil\n - Eliminar el paso 1.1 y reemplazarlo con un nuevo paso que explique el concepto de X "
|
96
|
+
},
|
97
|
+
"login": {
|
98
|
+
"creatingAccount": "Creando cuenta…",
|
99
|
+
"loggedInSuccessfully": "Inicio de sesión exitoso",
|
100
|
+
"invalidCredentials": "Credenciales inválidas",
|
101
|
+
"pleaseFillAllFields": "Por favor, completa todos los campos",
|
102
|
+
"loggingIn": "Iniciando sesión…",
|
103
|
+
"accountCreated": "Cuenta creada! Revisa tu correo.",
|
104
|
+
"registrationFailed": "Registro fallido. Intenta de nuevo.",
|
105
|
+
"createYourAccount": "Crear tu cuenta",
|
106
|
+
"firstName": "Nombre",
|
107
|
+
"lastName": "Apellido",
|
108
|
+
"alreadyHaveAnAccount": "¿Ya tienes una cuenta?",
|
109
|
+
"logInHere": "Iniciar sesión aquí",
|
110
|
+
"youNeedToHaveAnAccount": "Necesitas tener una cuenta en 4Geeks con un plan de creador para crear un tutorial.",
|
111
|
+
"loginWithGithub": "INICIAR SESIÓN CON GITHUB",
|
112
|
+
"loginWithGoogle": "INICIAR SESIÓN CON GOOGLE",
|
113
|
+
"or": "o",
|
114
|
+
"password": "Contraseña",
|
115
|
+
"logIn": "Iniciar sesión",
|
116
|
+
"skip": "Saltar",
|
117
|
+
"forgotPassword": "¿Olvidaste tu contraseña?",
|
118
|
+
"recoverItHere": "Recuperarla aquí",
|
119
|
+
"loginWithEmail": "Iniciar sesión con Email",
|
120
|
+
"youDontHaveAnAccount": "¿No tienes una cuenta?",
|
121
|
+
"registerHere": "Regístrate aquí."
|
122
|
+
},
|
123
|
+
"turnstileModal": {
|
124
|
+
"title": "Necesitamos verificar que eres un humano, espera un momento...",
|
125
|
+
"error": "Error al verificar que eres un humano, por favor intenta de nuevo, si el problema persiste, usa un navegador diferente."
|
126
|
+
}
|
126
127
|
}
|
@@ -1,12 +1,12 @@
|
|
1
|
-
import toast from "react-hot-toast"
|
2
|
-
import { RIGOBOT_HOST, DEV_MODE } from "./constants"
|
3
|
-
import axios, { AxiosError } from "axios"
|
4
|
-
import { randomUUID } from "./creatorUtils"
|
1
|
+
import toast from "react-hot-toast";
|
2
|
+
import { RIGOBOT_HOST, DEV_MODE } from "./constants";
|
3
|
+
import axios, { AxiosError } from "axios";
|
4
|
+
import { randomUUID } from "./creatorUtils";
|
5
5
|
|
6
6
|
type TInteractiveCreationInputs = {
|
7
|
-
courseInfo: string
|
8
|
-
prevInteractions: string
|
9
|
-
}
|
7
|
+
courseInfo: string;
|
8
|
+
prevInteractions: string;
|
9
|
+
};
|
10
10
|
|
11
11
|
export const publicInteractiveCreation = async (
|
12
12
|
inputs: TInteractiveCreationInputs,
|
@@ -15,15 +15,15 @@ export const publicInteractiveCreation = async (
|
|
15
15
|
publicRequest: boolean = true
|
16
16
|
): Promise<any | null> => {
|
17
17
|
try {
|
18
|
-
const randomUID = randomUUID(15)
|
18
|
+
const randomUID = randomUUID(15);
|
19
19
|
const webhookUrl = `${
|
20
20
|
DEV_MODE
|
21
|
-
? "https://
|
21
|
+
? "https://1gm40gnb-3000.use2.devtunnels.ms"
|
22
22
|
: window.location.origin
|
23
|
-
// "https://
|
24
|
-
}/notifications/${randomUID}
|
23
|
+
// : "https://1gm40gnb-3000.use2.devtunnels.ms"
|
24
|
+
}/notifications/${randomUID}`;
|
25
25
|
|
26
|
-
console.log("WEBHOOK URL to send to Rigo", webhookUrl)
|
26
|
+
console.log("WEBHOOK URL to send to Rigo", webhookUrl);
|
27
27
|
|
28
28
|
const response = await axios.post(
|
29
29
|
`${RIGOBOT_HOST}/v1/prompting${
|
@@ -41,28 +41,28 @@ export const publicInteractiveCreation = async (
|
|
41
41
|
Authorization: `Token ${token}`,
|
42
42
|
},
|
43
43
|
}
|
44
|
-
)
|
44
|
+
);
|
45
45
|
|
46
|
-
return { res: response.data, notificationId: randomUID }
|
46
|
+
return { res: response.data, notificationId: randomUID };
|
47
47
|
} catch (error: unknown) {
|
48
|
-
const err = error as AxiosError
|
49
|
-
console.log("error trying to create course", err)
|
48
|
+
const err = error as AxiosError;
|
49
|
+
console.log("error trying to create course", err);
|
50
50
|
|
51
51
|
if (err.response?.status === 403) {
|
52
|
-
toast.error("You've reached the limit. Please log in to continue.")
|
52
|
+
toast.error("You've reached the limit. Please log in to continue.");
|
53
53
|
} else {
|
54
|
-
toast.error("Something went wrong while generating the course.")
|
54
|
+
toast.error("Something went wrong while generating the course.");
|
55
55
|
}
|
56
56
|
|
57
|
-
return null
|
57
|
+
return null;
|
58
58
|
}
|
59
|
-
}
|
59
|
+
};
|
60
60
|
|
61
61
|
export const isHuman = async (token: string) => {
|
62
62
|
try {
|
63
63
|
const body = {
|
64
64
|
access_token: token,
|
65
|
-
}
|
65
|
+
};
|
66
66
|
const response = await axios.post(
|
67
67
|
`${RIGOBOT_HOST}/v1/auth/verify/humanity`,
|
68
68
|
body,
|
@@ -71,15 +71,15 @@ export const isHuman = async (token: string) => {
|
|
71
71
|
"Content-Type": "application/json",
|
72
72
|
},
|
73
73
|
}
|
74
|
-
)
|
74
|
+
);
|
75
75
|
|
76
76
|
return {
|
77
77
|
human: response.status === 200,
|
78
78
|
message: response.data.message,
|
79
79
|
token: response.data.public_access_token,
|
80
|
-
}
|
80
|
+
};
|
81
81
|
} catch (error) {
|
82
|
-
console.error(error)
|
83
|
-
return { human: false, message: error, token: null }
|
82
|
+
console.error(error);
|
83
|
+
return { human: false, message: error, token: null };
|
84
84
|
}
|
85
|
-
}
|
85
|
+
};
|