@hed-hog/lms 0.0.338 → 0.0.349
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/dist/class-group/class-group.controller.d.ts +8 -8
- package/dist/class-group/class-group.service.d.ts +8 -8
- package/dist/course/course.controller.d.ts +6 -1
- package/dist/course/course.controller.d.ts.map +1 -1
- package/dist/course/course.controller.js +19 -2
- package/dist/course/course.controller.js.map +1 -1
- package/dist/course/course.service.d.ts +6 -0
- package/dist/course/course.service.d.ts.map +1 -1
- package/dist/course/course.service.js +51 -8
- package/dist/course/course.service.js.map +1 -1
- package/dist/course/dto/create-course.dto.d.ts +1 -0
- package/dist/course/dto/create-course.dto.d.ts.map +1 -1
- package/dist/course/dto/create-course.dto.js +5 -0
- package/dist/course/dto/create-course.dto.js.map +1 -1
- package/dist/enterprise/enterprise.controller.d.ts +12 -12
- package/dist/enterprise/enterprise.service.d.ts +12 -12
- package/dist/enterprise/training/training-admin.controller.d.ts +5 -5
- package/dist/enterprise/training/training-admin.service.d.ts +5 -5
- package/dist/evaluation/evaluation.controller.d.ts +2 -2
- package/dist/evaluation/evaluation.service.d.ts +2 -2
- package/dist/instructor/instructor.controller.d.ts +1 -0
- package/dist/instructor/instructor.controller.d.ts.map +1 -1
- package/dist/instructor/instructor.service.d.ts +2 -0
- package/dist/instructor/instructor.service.d.ts.map +1 -1
- package/dist/instructor/instructor.service.js +9 -7
- package/dist/instructor/instructor.service.js.map +1 -1
- package/dist/training/dto/create-training.dto.d.ts +1 -0
- package/dist/training/dto/create-training.dto.d.ts.map +1 -1
- package/dist/training/dto/create-training.dto.js +5 -0
- package/dist/training/dto/create-training.dto.js.map +1 -1
- package/dist/training/training.controller.d.ts +4 -0
- package/dist/training/training.controller.d.ts.map +1 -1
- package/dist/training/training.service.d.ts +8 -0
- package/dist/training/training.service.d.ts.map +1 -1
- package/dist/training/training.service.js +71 -6
- package/dist/training/training.service.js.map +1 -1
- package/hedhog/frontend/app/_components/class-form-sheet.tsx.ejs +38 -9
- package/hedhog/frontend/app/certificates/models/page.tsx.ejs +33 -6
- package/hedhog/frontend/app/classes/[id]/page.tsx.ejs +1 -3
- package/hedhog/frontend/app/classes/page.tsx.ejs +28 -6
- package/hedhog/frontend/app/courses/[id]/structure/_components/editor-course.tsx.ejs +1 -1
- package/hedhog/frontend/app/exams/[id]/questions/page.tsx.ejs +25 -18
- package/hedhog/frontend/app/paths/page.tsx.ejs +68 -5
- package/hedhog/frontend/app/training/page.tsx.ejs +70 -6
- package/hedhog/frontend/messages/pt.json +14 -1
- package/hedhog/table/learning_path.yaml +4 -0
- package/package.json +8 -8
- package/src/course/course.controller.ts +18 -0
- package/src/course/course.service.ts +73 -2
- package/src/course/dto/create-course.dto.ts +4 -0
- package/src/instructor/instructor.service.ts +2 -0
- package/src/training/dto/create-training.dto.ts +4 -0
- package/src/training/training.service.ts +104 -5
|
@@ -39,6 +39,7 @@ export declare class TrainingController {
|
|
|
39
39
|
isRequired: boolean;
|
|
40
40
|
durationHours?: undefined;
|
|
41
41
|
})[];
|
|
42
|
+
progressionMode: string;
|
|
42
43
|
cargaTotal: any;
|
|
43
44
|
alunos: any;
|
|
44
45
|
status: string;
|
|
@@ -89,6 +90,7 @@ export declare class TrainingController {
|
|
|
89
90
|
isRequired: boolean;
|
|
90
91
|
durationHours?: undefined;
|
|
91
92
|
})[];
|
|
93
|
+
progressionMode: string;
|
|
92
94
|
cargaTotal: any;
|
|
93
95
|
alunos: any;
|
|
94
96
|
status: string;
|
|
@@ -132,6 +134,7 @@ export declare class TrainingController {
|
|
|
132
134
|
isRequired: boolean;
|
|
133
135
|
durationHours?: undefined;
|
|
134
136
|
})[];
|
|
137
|
+
progressionMode: string;
|
|
135
138
|
cargaTotal: any;
|
|
136
139
|
alunos: any;
|
|
137
140
|
status: string;
|
|
@@ -175,6 +178,7 @@ export declare class TrainingController {
|
|
|
175
178
|
isRequired: boolean;
|
|
176
179
|
durationHours?: undefined;
|
|
177
180
|
})[];
|
|
181
|
+
progressionMode: string;
|
|
178
182
|
cargaTotal: any;
|
|
179
183
|
alunos: any;
|
|
180
184
|
status: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"training.controller.d.ts","sourceRoot":"","sources":["../../src/training/training.controller.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAEa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;IAG7D,IAAI,CACa,IAAI,CAAC,EAAE,MAAM,EACT,QAAQ,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"training.controller.d.ts","sourceRoot":"","sources":["../../src/training/training.controller.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAEa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;IAG7D,IAAI,CACa,IAAI,CAAC,EAAE,MAAM,EACT,QAAQ,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAa9B,KAAK;;;;;;IAKL,OAAO,CAA4B,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAK7C,MAAM,CAAS,GAAG,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKrC,MAAM,CACuB,EAAE,EAAE,MAAM,EAC7B,GAAG,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMhC,MAAM,CAA4B,EAAE,EAAE,MAAM;;;CAG7C"}
|
|
@@ -6,6 +6,10 @@ export declare class TrainingService {
|
|
|
6
6
|
private readonly prisma;
|
|
7
7
|
private readonly integrationApi;
|
|
8
8
|
constructor(prisma: PrismaService, integrationApi: IntegrationDeveloperApiService);
|
|
9
|
+
private normalizeProgressMode;
|
|
10
|
+
private progressModeToPt;
|
|
11
|
+
private getTrainingExtras;
|
|
12
|
+
private persistTrainingProgressMode;
|
|
9
13
|
list(params: {
|
|
10
14
|
page?: number;
|
|
11
15
|
pageSize?: number;
|
|
@@ -48,6 +52,7 @@ export declare class TrainingService {
|
|
|
48
52
|
isRequired: boolean;
|
|
49
53
|
durationHours?: undefined;
|
|
50
54
|
})[];
|
|
55
|
+
progressionMode: string;
|
|
51
56
|
cargaTotal: any;
|
|
52
57
|
alunos: any;
|
|
53
58
|
status: string;
|
|
@@ -98,6 +103,7 @@ export declare class TrainingService {
|
|
|
98
103
|
isRequired: boolean;
|
|
99
104
|
durationHours?: undefined;
|
|
100
105
|
})[];
|
|
106
|
+
progressionMode: string;
|
|
101
107
|
cargaTotal: any;
|
|
102
108
|
alunos: any;
|
|
103
109
|
status: string;
|
|
@@ -141,6 +147,7 @@ export declare class TrainingService {
|
|
|
141
147
|
isRequired: boolean;
|
|
142
148
|
durationHours?: undefined;
|
|
143
149
|
})[];
|
|
150
|
+
progressionMode: string;
|
|
144
151
|
cargaTotal: any;
|
|
145
152
|
alunos: any;
|
|
146
153
|
status: string;
|
|
@@ -184,6 +191,7 @@ export declare class TrainingService {
|
|
|
184
191
|
isRequired: boolean;
|
|
185
192
|
durationHours?: undefined;
|
|
186
193
|
})[];
|
|
194
|
+
progressionMode: string;
|
|
187
195
|
cargaTotal: any;
|
|
188
196
|
alunos: any;
|
|
189
197
|
status: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"training.service.d.ts","sourceRoot":"","sources":["../../src/training/training.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAuB,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,qBACa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAFd,MAAM,EAAE,aAAa,EAErB,cAAc,EAAE,8BAA8B;
|
|
1
|
+
{"version":3,"file":"training.service.d.ts","sourceRoot":"","sources":["../../src/training/training.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAuB,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,qBACa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAFd,MAAM,EAAE,aAAa,EAErB,cAAc,EAAE,8BAA8B;IAGjE,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,gBAAgB;YAIV,iBAAiB;YAmCjB,2BAA2B;IAuBnC,IAAI,CAAC,MAAM,EAAE;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsGK,KAAK;;;;;;IAoBL,OAAO,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6ClB,MAAM,CAAC,GAAG,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkF7B,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+FzC,MAAM,CAAC,EAAE,EAAE,MAAM;;;IAcvB,OAAO,CAAC,WAAW;IAkFnB,OAAO,CAAC,oBAAoB;IAyC5B,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,QAAQ;CAGjB"}
|
|
@@ -21,6 +21,60 @@ let TrainingService = class TrainingService {
|
|
|
21
21
|
this.prisma = prisma;
|
|
22
22
|
this.integrationApi = integrationApi;
|
|
23
23
|
}
|
|
24
|
+
normalizeProgressMode(value) {
|
|
25
|
+
if (!value)
|
|
26
|
+
return undefined;
|
|
27
|
+
const normalized = value.trim().toLowerCase();
|
|
28
|
+
if (normalized === 'free' || normalized === 'livre')
|
|
29
|
+
return 'free';
|
|
30
|
+
if (normalized === 'sequential' || normalized === 'sequencial') {
|
|
31
|
+
return 'sequential';
|
|
32
|
+
}
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
progressModeToPt(value) {
|
|
36
|
+
return this.normalizeProgressMode(value) === 'free' ? 'livre' : 'sequencial';
|
|
37
|
+
}
|
|
38
|
+
async getTrainingExtras(ids) {
|
|
39
|
+
const extrasById = new Map();
|
|
40
|
+
const normalizedIds = ids
|
|
41
|
+
.map((id) => Number(id))
|
|
42
|
+
.filter((id) => Number.isInteger(id) && id > 0);
|
|
43
|
+
if (normalizedIds.length === 0) {
|
|
44
|
+
return extrasById;
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
const rows = (await this.prisma.$queryRawUnsafe(`
|
|
48
|
+
SELECT id, progress_mode
|
|
49
|
+
FROM learning_path
|
|
50
|
+
WHERE id IN (${normalizedIds.join(',')})
|
|
51
|
+
`));
|
|
52
|
+
for (const row of rows) {
|
|
53
|
+
extrasById.set(row.id, {
|
|
54
|
+
progress_mode: row.progress_mode,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch (_a) {
|
|
59
|
+
return extrasById;
|
|
60
|
+
}
|
|
61
|
+
return extrasById;
|
|
62
|
+
}
|
|
63
|
+
async persistTrainingProgressMode(id, progressMode) {
|
|
64
|
+
if (progressMode === undefined) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
try {
|
|
68
|
+
await this.prisma.$executeRawUnsafe(`
|
|
69
|
+
UPDATE learning_path
|
|
70
|
+
SET progress_mode = $1
|
|
71
|
+
WHERE id = $2
|
|
72
|
+
`, progressMode, id);
|
|
73
|
+
}
|
|
74
|
+
catch (_a) {
|
|
75
|
+
// Some environments may still be behind the current learning_path schema.
|
|
76
|
+
}
|
|
77
|
+
}
|
|
24
78
|
async list(params) {
|
|
25
79
|
var _a;
|
|
26
80
|
const page = Math.max(Number(params.page) || 1, 1);
|
|
@@ -106,12 +160,13 @@ let TrainingService = class TrainingService {
|
|
|
106
160
|
}),
|
|
107
161
|
this.prisma.learning_path.count({ where }),
|
|
108
162
|
]);
|
|
163
|
+
const extrasById = await this.getTrainingExtras(paths.map((path) => path.id));
|
|
109
164
|
return {
|
|
110
165
|
total,
|
|
111
166
|
page,
|
|
112
167
|
pageSize,
|
|
113
168
|
lastPage: Math.max(1, Math.ceil(total / pageSize)),
|
|
114
|
-
data: paths.map((path) => this.mapTraining(path)),
|
|
169
|
+
data: paths.map((path) => this.mapTraining(path, extrasById.get(path.id))),
|
|
115
170
|
};
|
|
116
171
|
}
|
|
117
172
|
async stats() {
|
|
@@ -171,14 +226,16 @@ let TrainingService = class TrainingService {
|
|
|
171
226
|
});
|
|
172
227
|
if (!path)
|
|
173
228
|
return null;
|
|
174
|
-
|
|
229
|
+
const extrasById = await this.getTrainingExtras([id]);
|
|
230
|
+
return this.mapTraining(path, extrasById.get(id));
|
|
175
231
|
}
|
|
176
232
|
async create(dto) {
|
|
177
|
-
var _a, _b, _c;
|
|
233
|
+
var _a, _b, _c, _d;
|
|
178
234
|
const slug = ((_a = dto.slug) === null || _a === void 0 ? void 0 : _a.trim()) || this.slugify(dto.title);
|
|
179
235
|
const stepItems = this.resolveIncomingSteps(dto);
|
|
180
236
|
const normalizedLevel = (_b = this.normalizeLevel(dto.level)) !== null && _b !== void 0 ? _b : 'beginner';
|
|
181
237
|
const normalizedStatus = (_c = this.normalizeStatus(dto.status)) !== null && _c !== void 0 ? _c : 'draft';
|
|
238
|
+
const normalizedProgressMode = (_d = this.normalizeProgressMode(dto.progressMode)) !== null && _d !== void 0 ? _d : 'sequential';
|
|
182
239
|
const created = await this.prisma.learning_path.create({
|
|
183
240
|
data: Object.assign(Object.assign(Object.assign({ title: dto.title, slug, description: dto.description, short_description: dto.shortDescription, level: normalizedLevel, status: normalizedStatus }, (dto.primaryColor !== undefined && { primary_color: dto.primaryColor })), (dto.secondaryColor !== undefined && { secondary_color: dto.secondaryColor })), (stepItems.length > 0 && {
|
|
184
241
|
learning_path_step: {
|
|
@@ -220,7 +277,9 @@ let TrainingService = class TrainingService {
|
|
|
220
277
|
},
|
|
221
278
|
},
|
|
222
279
|
});
|
|
223
|
-
|
|
280
|
+
await this.persistTrainingProgressMode(created.id, normalizedProgressMode);
|
|
281
|
+
const extrasById = await this.getTrainingExtras([created.id]);
|
|
282
|
+
const trainingResult = this.mapTraining(created, extrasById.get(created.id));
|
|
224
283
|
await this.integrationApi.publishEvent({
|
|
225
284
|
eventName: 'lms.training.created',
|
|
226
285
|
sourceModule: 'lms',
|
|
@@ -236,6 +295,9 @@ let TrainingService = class TrainingService {
|
|
|
236
295
|
const stepsWereProvided = dto.items !== undefined || dto.courseIds !== undefined;
|
|
237
296
|
const normalizedLevel = dto.level !== undefined ? this.normalizeLevel(dto.level) : undefined;
|
|
238
297
|
const normalizedStatus = dto.status !== undefined ? this.normalizeStatus(dto.status) : undefined;
|
|
298
|
+
const normalizedProgressMode = dto.progressMode !== undefined
|
|
299
|
+
? this.normalizeProgressMode(dto.progressMode)
|
|
300
|
+
: undefined;
|
|
239
301
|
if (stepsWereProvided) {
|
|
240
302
|
await this.prisma.learning_path_step.deleteMany({
|
|
241
303
|
where: {
|
|
@@ -288,7 +350,9 @@ let TrainingService = class TrainingService {
|
|
|
288
350
|
},
|
|
289
351
|
},
|
|
290
352
|
});
|
|
291
|
-
|
|
353
|
+
await this.persistTrainingProgressMode(id, normalizedProgressMode);
|
|
354
|
+
const extrasById = await this.getTrainingExtras([id]);
|
|
355
|
+
const updateTrainingResult = this.mapTraining(updated, extrasById.get(id));
|
|
292
356
|
await this.integrationApi.publishEvent({
|
|
293
357
|
eventName: 'lms.training.updated',
|
|
294
358
|
sourceModule: 'lms',
|
|
@@ -309,7 +373,7 @@ let TrainingService = class TrainingService {
|
|
|
309
373
|
}).catch(() => null);
|
|
310
374
|
return { success: true };
|
|
311
375
|
}
|
|
312
|
-
mapTraining(path) {
|
|
376
|
+
mapTraining(path, extras) {
|
|
313
377
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
314
378
|
const steps = [...((_a = path.learning_path_step) !== null && _a !== void 0 ? _a : [])].sort((a, b) => { var _a, _b; return ((_a = a === null || a === void 0 ? void 0 : a.order) !== null && _a !== void 0 ? _a : 0) - ((_b = b === null || b === void 0 ? void 0 : b.order) !== null && _b !== void 0 ? _b : 0); });
|
|
315
379
|
const courseSteps = steps.filter((step) => step === null || step === void 0 ? void 0 : step.course);
|
|
@@ -363,6 +427,7 @@ let TrainingService = class TrainingService {
|
|
|
363
427
|
courseIds,
|
|
364
428
|
examIds,
|
|
365
429
|
items,
|
|
430
|
+
progressionMode: this.progressModeToPt(extras === null || extras === void 0 ? void 0 : extras.progress_mode),
|
|
366
431
|
cargaTotal,
|
|
367
432
|
alunos: (_f = (_e = path._count) === null || _e === void 0 ? void 0 : _e.learning_path_enrollment) !== null && _f !== void 0 ? _f : 0,
|
|
368
433
|
status: this.statusToPt(path.status),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"training.service.js","sourceRoot":"","sources":["../../src/training/training.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"training.service.js","sourceRoot":"","sources":["../../src/training/training.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAAoD;AACpD,wCAA+D;AAC/D,2CAAgE;AAKzD,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YACmB,MAAqB,EAErB,cAA8C;QAF9C,WAAM,GAAN,MAAM,CAAe;QAErB,mBAAc,GAAd,cAAc,CAAgC;IAC9D,CAAC;IAEI,qBAAqB,CAAC,KAAqB;QACjD,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE9C,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,OAAO;YAAE,OAAO,MAAM,CAAC;QACnE,IAAI,UAAU,KAAK,YAAY,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;YAC/D,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,gBAAgB,CAAC,KAAqB;QAC5C,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;IAC/E,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,GAAa;QAC3C,MAAM,UAAU,GAAG,IAAI,GAAG,EAA4D,CAAC;QAEvF,MAAM,aAAa,GAAG,GAAG;aACtB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aACvB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAElD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAC7C;;;yBAGiB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;SACvC,CACF,CAGC,CAAC;YAEH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE;oBACrB,aAAa,EAAE,GAAG,CAAC,aAAa;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACvC,EAAU,EACV,YAAoC;QAEpC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CACjC;;;;SAIC,EACD,YAAY,EACZ,EAAE,CACH,CAAC;QACJ,CAAC;QAAC,WAAM,CAAC;YACP,0EAA0E;QAC5E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAOV;;QACC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;QAEnC,MAAM,KAAK,GAAQ,EAAE,CAAC;QAEtB,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,gBAAgB,EAAE,CAAC;YACrB,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC;QAClC,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,eAAe,EAAE,CAAC;YACpB,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC;QAChC,CAAC;QAED,IAAI,MAAA,MAAM,CAAC,MAAM,0CAAE,IAAI,EAAE,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACpC,KAAK,CAAC,EAAE,GAAG;gBACT,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE;gBACpD,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE;gBACnD,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE;gBAC1D,EAAE,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE;aACjE,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,kBAAkB,GAAG;gBACzB,IAAI,EAAE;oBACJ,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE;wBACN,eAAe,EAAE;4BACf,IAAI,EAAE;gCACJ,QAAQ,EAAE;oCACR,IAAI,EAAE;wCACJ,EAAE,EAAE,SAAS;qCACd;iCACF;6BACF;yBACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;gBACjC,IAAI;gBACJ,IAAI,EAAE,QAAQ;gBACd,KAAK;gBACL,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;gBAC/B,OAAO,EAAE;oBACP,kBAAkB,EAAE;wBAClB,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;wBACzB,OAAO,EAAE;4BACP,MAAM,EAAE;gCACN,MAAM,EAAE;oCACN,EAAE,EAAE,IAAI;oCACR,KAAK,EAAE,IAAI;oCACX,cAAc,EAAE,IAAI;oCACpB,eAAe,EAAE;wCACf,OAAO,EAAE;4CACP,QAAQ,EAAE;gDACR,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;6CACvB;yCACF;qCACF;iCACF;6BACF;4BACD,IAAI,EAAE;gCACJ,MAAM,EAAE;oCACN,EAAE,EAAE,IAAI;oCACR,KAAK,EAAE,IAAI;oCACX,kBAAkB,EAAE,IAAI;iCACzB;6BACF;yBACF;qBACF;oBACD,MAAM,EAAE;wBACN,MAAM,EAAE;4BACN,wBAAwB,EAAE,IAAI;4BAC9B,kBAAkB,EAAE,IAAI;yBACzB;qBACF;iBACF;aACF,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;SAC3C,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAE9E,OAAO;YACL,KAAK;YACL,IAAI;YACJ,QAAQ;YACR,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;YAClD,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;SAC3E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,CAAC,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,CAAC,GACrE,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE;YACjC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE;YAC5C,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC;gBACrC,EAAE,EAAE,CAAC,WAAW,CAAC;gBACjB,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;aACpC,CAAC;SACH,CAAC,CAAC;QAEL,OAAO;YACL,aAAa;YACb,cAAc;YACd,gBAAgB;YAChB,cAAc,EAAE,cAAc,CAAC,MAAM;SACtC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;YACtD,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,OAAO,EAAE;gBACP,kBAAkB,EAAE;oBAClB,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;oBACzB,OAAO,EAAE;wBACP,MAAM,EAAE;4BACN,MAAM,EAAE;gCACN,EAAE,EAAE,IAAI;gCACR,KAAK,EAAE,IAAI;gCACX,cAAc,EAAE,IAAI;gCACpB,eAAe,EAAE;oCACf,OAAO,EAAE;wCACP,QAAQ,EAAE;4CACR,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;yCACvB;qCACF;iCACF;6BACF;yBACF;wBACD,IAAI,EAAE;4BACJ,MAAM,EAAE;gCACN,EAAE,EAAE,IAAI;gCACR,KAAK,EAAE,IAAI;gCACX,kBAAkB,EAAE,IAAI;6BACzB;yBACF;qBACF;iBACF;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE;wBACN,wBAAwB,EAAE,IAAI;wBAC9B,kBAAkB,EAAE,IAAI;qBACzB;iBACF;aACF;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAsB;;QACjC,MAAM,IAAI,GAAG,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,IAAI,EAAE,KAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,UAAU,CAAC;QACrE,MAAM,gBAAgB,GAAG,MAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,mCAAI,OAAO,CAAC;QACrE,MAAM,sBAAsB,GAC1B,MAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,mCAAI,YAAY,CAAC;QAE/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;YACrD,IAAI,8CACF,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,IAAI,EACJ,WAAW,EAAE,GAAG,CAAC,WAAW,EAC5B,iBAAiB,EAAE,GAAG,CAAC,gBAAgB,EACvC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,IACrB,CAAC,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,GACvE,CAAC,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,GAC7E,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI;gBAC1B,kBAAkB,EAAE;oBAClB,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACpC,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAC3C;iBACF;aACF,CAAC,CACH;YACD,OAAO,EAAE;gBACP,kBAAkB,EAAE;oBAClB,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;oBACzB,OAAO,EAAE;wBACP,MAAM,EAAE;4BACN,MAAM,EAAE;gCACN,EAAE,EAAE,IAAI;gCACR,KAAK,EAAE,IAAI;gCACX,cAAc,EAAE,IAAI;gCACpB,eAAe,EAAE;oCACf,OAAO,EAAE;wCACP,QAAQ,EAAE;4CACR,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;yCACvB;qCACF;iCACF;6BACF;yBACF;wBACD,IAAI,EAAE;4BACJ,MAAM,EAAE;gCACN,EAAE,EAAE,IAAI;gCACR,KAAK,EAAE,IAAI;gCACX,kBAAkB,EAAE,IAAI;6BACzB;yBACF;qBACF;iBACF;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE;wBACN,wBAAwB,EAAE,IAAI;wBAC9B,kBAAkB,EAAE,IAAI;qBACzB;iBACF;aACF;SACF,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC;QAE3E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAE9D,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CACrC,OAAO,EACP,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAC3B,CAAC;QAEF,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YACrC,SAAS,EAAE,sBAAsB;YACjC,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,UAAU;YACzB,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE;SAC9E,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAErB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,GAAsB;;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,iBAAiB,GAAG,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC;QACjF,MAAM,eAAe,GACnB,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,MAAM,gBAAgB,GACpB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,MAAM,sBAAsB,GAC1B,GAAG,CAAC,YAAY,KAAK,SAAS;YAC5B,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC;gBAC9C,KAAK,EAAE;oBACL,gBAAgB,EAAE,EAAE;iBACrB;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;YACrD,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,IAAI,oIACC,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,GACjD,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAA,GAAG,CAAC,KAAK,mCAAI,EAAE,CAAC,EAAE,CAAC,GAC/E,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,GACnE,CAAC,GAAG,CAAC,gBAAgB,KAAK,SAAS,IAAI;gBACxC,iBAAiB,EAAE,GAAG,CAAC,gBAAgB;aACxC,CAAC,GACC,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,GAC7D,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,GAChE,CAAC,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,GACvE,CAAC,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,GAC7E,CAAC,iBAAiB;gBACnB,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI;gBACtB,kBAAkB,EAAE;oBAClB,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACpC,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAC3C;iBACF;aACF,CAAC,CACL;YACD,OAAO,EAAE;gBACP,kBAAkB,EAAE;oBAClB,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;oBACzB,OAAO,EAAE;wBACP,MAAM,EAAE;4BACN,MAAM,EAAE;gCACN,EAAE,EAAE,IAAI;gCACR,KAAK,EAAE,IAAI;gCACX,cAAc,EAAE,IAAI;gCACpB,eAAe,EAAE;oCACf,OAAO,EAAE;wCACP,QAAQ,EAAE;4CACR,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;yCACvB;qCACF;iCACF;6BACF;yBACF;wBACD,IAAI,EAAE;4BACJ,MAAM,EAAE;gCACN,EAAE,EAAE,IAAI;gCACR,KAAK,EAAE,IAAI;gCACX,kBAAkB,EAAE,IAAI;6BACzB;yBACF;qBACF;iBACF;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE;wBACN,wBAAwB,EAAE,IAAI;wBAC9B,kBAAkB,EAAE,IAAI;qBACzB;iBACF;aACF;SACF,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,2BAA2B,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC;QAEnE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEtD,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3E,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YACrC,SAAS,EAAE,sBAAsB;YACjC,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,UAAU;YACzB,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;SACtD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAErB,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAE1D,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YACrC,SAAS,EAAE,sBAAsB;YACjC,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,UAAU;YACzB,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,EAAE,EAAE,EAAE;SAChB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAErB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAEO,WAAW,CACjB,IAAS,EACT,MAAyD;;QAEzD,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,kBAAkB,mCAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CACrD,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,eAAC,OAAA,CAAC,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,mCAAI,CAAC,CAAC,CAAA,EAAA,CACtD,CAAC;QACF,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAC,CAAC;QAE1D,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CACnC,CAAC,GAAW,EAAE,IAAS,EAAE,EAAE,eAAC,OAAA,GAAG,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,cAAc,mCAAI,CAAC,CAAC,CAAA,EAAA,EACpE,CAAC,CACF,CAAC;QAEF,MAAM,iBAAiB,GAAG,KAAK;aAC5B,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE,eAAC,OAAA,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,eAAe,mCAAI,EAAE,CAAA,EAAA,CAAC;aAC1D,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAA,EAAA,CAAC;aACvC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjB,MAAM,KAAK,GAAG,KAAK;aAChB,GAAG,CAAC,CAAC,IAAS,EAAE,KAAa,EAAE,EAAE;;YAChC,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,CAAC;gBACjB,OAAO;oBACL,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,IAAI,EAAE,QAAiB;oBACvB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;oBACtB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;oBACxB,aAAa,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,cAAc,mCAAI,CAAC;oBAC9C,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,KAAK;oBAC1B,UAAU,EAAE,IAAI,CAAC,WAAW,KAAK,KAAK;iBACvC,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,CAAC;gBACf,OAAO;oBACL,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,IAAI,EAAE,MAAe;oBACrB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;oBACpB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;oBACtB,eAAe,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,mCAAI,CAAC;oBAClD,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,KAAK;oBAC1B,UAAU,EAAE,IAAI,CAAC,WAAW,KAAK,KAAK;iBACvC,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnB,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,SAAS,EAAE,MAAA,MAAA,IAAI,CAAC,WAAW,mCAAI,IAAI,CAAC,iBAAiB,mCAAI,EAAE;YAC3D,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;YACxC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YACjC,aAAa,EAAE,MAAA,IAAI,CAAC,iBAAiB,mCAAI,EAAE;YAC3C,MAAM,EAAE,OAAO;YACf,KAAK;YACL,SAAS;YACT,OAAO;YACP,KAAK;YACL,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC;YAC7D,UAAU;YACV,MAAM,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,wBAAwB,mCAAI,CAAC;YAClD,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YACpC,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,YAAY,EAAE,MAAA,IAAI,CAAC,aAAa,mCAAI,SAAS;YAC7C,cAAc,EAAE,MAAA,IAAI,CAAC,eAAe,mCAAI,SAAS;YACjD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,MAAM;YACtB,QAAQ,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,wBAAwB,mCAAI,CAAC;YACpD,SAAS,EAAE,IAAI,CAAC,UAAU;SAC3B,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,GAG5B;;QACC,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK;iBACzB,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC3B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;gBAC/D,UAAU,EAAE,IAAI,CAAC,UAAU,KAAK,KAAK;aACtC,CAAC,CAAC;iBACF,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;gBAChD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC5B,IAAI,CAAC,MAAM,GAAG,CAAC,CAClB,CAAC;YAEJ,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuC,CAAC;YACpE,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1B,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC3C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAC5B,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAA,GAAG,CAAC,SAAS,mCAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CACxD,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,CACxD,CAAC;QAEF,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACzC,IAAI,EAAE,QAAiB;YACvB,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,wBAAwB,CAC9B,IAKC,EACD,aAAqB;QAErB,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,SAAS,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YACtD,OAAO,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YAClD,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa;YAC/D,WAAW,EAAE,IAAI,CAAC,UAAU;SAC7B,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,KAAc;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE9C,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QACvE,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC;QACxE,IAAI,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YAC5D,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,cAAc,CAAC,KAAc;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,MAAM,UAAU,GAAG,KAAK;aACrB,IAAI,EAAE;aACN,WAAW,EAAE;aACb,SAAS,CAAC,KAAK,CAAC;aAChB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAEnC,IAAI,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YAC5D,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,IAAI,UAAU,KAAK,eAAe,IAAI,UAAU,KAAK,cAAc,EAAE,CAAC;YACpE,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YAC3D,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,mBAAmB,CAAC,KAAc;;QACxC,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,OAAO;YAAE,OAAO,EAAE,CAAC;QAE3C,MAAM,UAAU,GAAG,KAAK;aACrB,IAAI,EAAE;aACN,WAAW,EAAE;aACb,SAAS,CAAC,KAAK,CAAC;aAChB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAEnC,MAAM,GAAG,GAA6B;YACpC,UAAU,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;YACxC,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,MAAM,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;YAChC,SAAS,EAAE,CAAC,WAAW,CAAC;YACxB,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;SAClC,CAAC;QAEF,OAAO,MAAA,GAAG,CAAC,UAAU,CAAC,mCAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAEO,UAAU,CAAC,IAAa;;QAC9B,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,CAAC;QAE/B,MAAM,UAAU,GAAG,IAAI;aACpB,IAAI,EAAE;aACN,WAAW,EAAE;aACb,SAAS,CAAC,KAAK,CAAC;aAChB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAEnC,MAAM,GAAG,GAA2B;YAClC,UAAU,EAAE,YAAY;YACxB,UAAU,EAAE,YAAY;YACxB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,WAAW;YACtB,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,UAAU;SACpB,CAAC;QAEF,OAAO,MAAA,GAAG,CAAC,UAAU,CAAC,mCAAI,YAAY,CAAC;IACzC,CAAC;IAEO,SAAS,CAAC,KAAa;;QAC7B,MAAM,GAAG,GAA2B;YAClC,QAAQ,EAAE,WAAW;YACrB,YAAY,EAAE,eAAe;YAC7B,QAAQ,EAAE,UAAU;SACrB,CAAC;QAEF,OAAO,MAAA,GAAG,CAAC,KAAK,CAAC,mCAAI,KAAK,CAAC;IAC7B,CAAC;IAEO,UAAU,CAAC,MAAc;;QAC/B,MAAM,GAAG,GAA2B;YAClC,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,WAAW;SACtB,CAAC;QAEF,OAAO,MAAA,GAAG,CAAC,MAAM,CAAC,mCAAI,MAAM,CAAC;IAC/B,CAAC;IAEO,OAAO,CAAC,KAAa;QAC3B,OAAO,KAAK;aACT,WAAW,EAAE;aACb,SAAS,CAAC,KAAK,CAAC;aAChB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;aAC/B,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;aAC5B,IAAI,EAAE;aACN,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;aACnB,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnB,CAAC;IAEO,QAAQ,CAAC,EAAU;QACzB,OAAO,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAC7C,CAAC;CACF,CAAA;AA3rBY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAIR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,qCAA8B,CAAC,CAAC,CAAA;qCADhC,0BAAa;QAEL,qCAA8B;GAJtD,eAAe,CA2rB3B"}
|
|
@@ -136,6 +136,7 @@ type InstructorOption = {
|
|
|
136
136
|
name: string;
|
|
137
137
|
personId?: number;
|
|
138
138
|
avatarId?: number | null;
|
|
139
|
+
userPhotoId?: number | null;
|
|
139
140
|
qualificationSlugs?: string[];
|
|
140
141
|
};
|
|
141
142
|
|
|
@@ -151,6 +152,8 @@ type InstructorApiRow = {
|
|
|
151
152
|
person_id?: number | string;
|
|
152
153
|
avatarId?: number | string | null;
|
|
153
154
|
avatar_id?: number | string | null;
|
|
155
|
+
userPhotoId?: number | string | null;
|
|
156
|
+
user_photo_id?: number | string | null;
|
|
154
157
|
qualificationSlugs?: string[];
|
|
155
158
|
};
|
|
156
159
|
|
|
@@ -310,17 +313,38 @@ function normalizeInstructorOption(
|
|
|
310
313
|
rawAvatarId !== undefined && rawAvatarId !== null
|
|
311
314
|
? Number(rawAvatarId) || null
|
|
312
315
|
: null;
|
|
316
|
+
const rawUserPhotoId = item?.userPhotoId ?? item?.user_photo_id;
|
|
317
|
+
const userPhotoId =
|
|
318
|
+
rawUserPhotoId !== undefined && rawUserPhotoId !== null
|
|
319
|
+
? Number(rawUserPhotoId) || null
|
|
320
|
+
: null;
|
|
313
321
|
return {
|
|
314
322
|
id,
|
|
315
323
|
name,
|
|
316
324
|
personId: Number(item?.personId ?? item?.person_id ?? 0) || undefined,
|
|
317
325
|
avatarId,
|
|
326
|
+
userPhotoId,
|
|
318
327
|
qualificationSlugs: Array.isArray(item?.qualificationSlugs)
|
|
319
328
|
? item.qualificationSlugs
|
|
320
329
|
: undefined,
|
|
321
330
|
};
|
|
322
331
|
}
|
|
323
332
|
|
|
333
|
+
function getInstructorAvatarUrl(option?: {
|
|
334
|
+
userPhotoId?: number | null;
|
|
335
|
+
avatarId?: number | null;
|
|
336
|
+
}) {
|
|
337
|
+
if (option?.userPhotoId) {
|
|
338
|
+
return `${process.env.NEXT_PUBLIC_API_BASE_URL}/user/avatar/${option.userPhotoId}`;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
if (option?.avatarId) {
|
|
342
|
+
return `${process.env.NEXT_PUBLIC_API_BASE_URL}/person/avatar/${option.avatarId}`;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
return undefined;
|
|
346
|
+
}
|
|
347
|
+
|
|
324
348
|
function getContrastColor(hex: string) {
|
|
325
349
|
const cleaned = hex.replace('#', '');
|
|
326
350
|
if (cleaned.length !== 6) return '#FFFFFF';
|
|
@@ -493,6 +517,8 @@ export interface ClassFormSheetProps {
|
|
|
493
517
|
onOpenChange: (open: boolean) => void;
|
|
494
518
|
/** Omit for create mode; provide for edit mode. */
|
|
495
519
|
classId?: string;
|
|
520
|
+
defaultCourse?: { id: number; title: string };
|
|
521
|
+
lockCourse?: boolean;
|
|
496
522
|
/** Disable nested instructor sheet to avoid recursive sheet composition. */
|
|
497
523
|
enableInstructorSheet?: boolean;
|
|
498
524
|
sheetTitle?: string;
|
|
@@ -509,6 +535,8 @@ export function ClassFormSheet({
|
|
|
509
535
|
open,
|
|
510
536
|
onOpenChange,
|
|
511
537
|
classId,
|
|
538
|
+
defaultCourse,
|
|
539
|
+
lockCourse = false,
|
|
512
540
|
enableInstructorSheet = true,
|
|
513
541
|
sheetTitle,
|
|
514
542
|
sheetDescription,
|
|
@@ -669,14 +697,15 @@ export function ClassFormSheet({
|
|
|
669
697
|
} else {
|
|
670
698
|
// Create mode: reset with fresh defaults + generated code
|
|
671
699
|
const nextSeed = createClassCodeSeed();
|
|
672
|
-
const
|
|
700
|
+
const defaultCourseTitle = defaultCourse?.title ?? '';
|
|
701
|
+
const nextCode = buildClassCode(defaultCourseTitle, nextSeed);
|
|
673
702
|
setDateRangeDraft(undefined);
|
|
674
703
|
setDateRangeOpen(false);
|
|
675
704
|
setPreviousRecurrenceMode('none');
|
|
676
705
|
form.reset({
|
|
677
706
|
codigo: nextCode,
|
|
678
|
-
curso:
|
|
679
|
-
courseId:
|
|
707
|
+
curso: defaultCourseTitle,
|
|
708
|
+
courseId: defaultCourse?.id,
|
|
680
709
|
instructorId: undefined,
|
|
681
710
|
tipo: 'online',
|
|
682
711
|
professor: '',
|
|
@@ -1173,6 +1202,7 @@ export function ClassFormSheet({
|
|
|
1173
1202
|
noResultsLabel={t(
|
|
1174
1203
|
'components.entityPicker.courses.empty'
|
|
1175
1204
|
)}
|
|
1205
|
+
disabled={lockCourse}
|
|
1176
1206
|
showCreateButton={false}
|
|
1177
1207
|
onChange={(value, option) => {
|
|
1178
1208
|
const cId =
|
|
@@ -1218,6 +1248,7 @@ export function ClassFormSheet({
|
|
|
1218
1248
|
variant="outline"
|
|
1219
1249
|
size="icon"
|
|
1220
1250
|
className="shrink-0"
|
|
1251
|
+
disabled={lockCourse}
|
|
1221
1252
|
onClick={() => {
|
|
1222
1253
|
courseForm.reset(DEFAULT_COURSE_FORM_VALUES);
|
|
1223
1254
|
setCourseSheetOpen(true);
|
|
@@ -1774,9 +1805,7 @@ export function ClassFormSheet({
|
|
|
1774
1805
|
.slice(0, 2)
|
|
1775
1806
|
.map((p) => p[0]?.toUpperCase() ?? '')
|
|
1776
1807
|
.join('');
|
|
1777
|
-
const avatarUrl = option
|
|
1778
|
-
? `${process.env.NEXT_PUBLIC_API_BASE_URL}/person/avatar/${option.avatarId}`
|
|
1779
|
-
: undefined;
|
|
1808
|
+
const avatarUrl = getInstructorAvatarUrl(option);
|
|
1780
1809
|
return (
|
|
1781
1810
|
<div className="flex min-w-0 items-center gap-3 py-0.5">
|
|
1782
1811
|
<Avatar className="h-8 w-8 shrink-0 rounded-lg border border-border/60">
|
|
@@ -1799,9 +1828,9 @@ export function ClassFormSheet({
|
|
|
1799
1828
|
.slice(0, 2)
|
|
1800
1829
|
.map((p) => p[0]?.toUpperCase() ?? '')
|
|
1801
1830
|
.join('');
|
|
1802
|
-
const avatarUrl =
|
|
1803
|
-
|
|
1804
|
-
|
|
1831
|
+
const avatarUrl = getInstructorAvatarUrl(
|
|
1832
|
+
option ?? undefined
|
|
1833
|
+
);
|
|
1805
1834
|
return (
|
|
1806
1835
|
<div className="flex items-center gap-2">
|
|
1807
1836
|
<Avatar className="h-5 w-5 shrink-0 rounded">
|
|
@@ -62,7 +62,7 @@ import {
|
|
|
62
62
|
} from 'lucide-react';
|
|
63
63
|
import { useLocale, useTranslations } from 'next-intl';
|
|
64
64
|
import { useRouter } from 'next/navigation';
|
|
65
|
-
import { useEffect, useMemo, useState } from 'react';
|
|
65
|
+
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
66
66
|
import { usePersistedPageSize } from '@/hooks/use-persisted-page-size';
|
|
67
67
|
import { Controller, useForm } from 'react-hook-form';
|
|
68
68
|
import { toast } from 'sonner';
|
|
@@ -166,6 +166,11 @@ export default function ModelsPage() {
|
|
|
166
166
|
null
|
|
167
167
|
);
|
|
168
168
|
|
|
169
|
+
// Double-click tracking
|
|
170
|
+
const clickTimers = useRef<Map<number, ReturnType<typeof setTimeout>>>(
|
|
171
|
+
new Map()
|
|
172
|
+
);
|
|
173
|
+
|
|
169
174
|
const form = useForm<CreateTemplateFormValues>({
|
|
170
175
|
resolver: zodResolver(createTemplateSchema(t)),
|
|
171
176
|
defaultValues: {
|
|
@@ -469,6 +474,23 @@ export default function ModelsPage() {
|
|
|
469
474
|
}
|
|
470
475
|
}
|
|
471
476
|
|
|
477
|
+
// ── Double-click to navigate ──────────────────────────────────────────────
|
|
478
|
+
|
|
479
|
+
function handleCardClick(template: CertificateTemplate) {
|
|
480
|
+
const existing = clickTimers.current.get(template.id);
|
|
481
|
+
if (existing) {
|
|
482
|
+
clearTimeout(existing);
|
|
483
|
+
clickTimers.current.delete(template.id);
|
|
484
|
+
router.push(`/lms/certificates/models/editor?templateId=${template.id}`);
|
|
485
|
+
} else {
|
|
486
|
+
const timer = setTimeout(
|
|
487
|
+
() => clickTimers.current.delete(template.id),
|
|
488
|
+
300
|
|
489
|
+
);
|
|
490
|
+
clickTimers.current.set(template.id, timer);
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
|
|
472
494
|
const { locales } = useApp();
|
|
473
495
|
|
|
474
496
|
const handleNewModel = (): void => {
|
|
@@ -592,13 +614,17 @@ export default function ModelsPage() {
|
|
|
592
614
|
{templates.map((template) => (
|
|
593
615
|
<Card
|
|
594
616
|
key={template.id}
|
|
595
|
-
className="overflow-hidden border-border/70 py-0 shadow-sm transition-shadow duration-300 hover:shadow-md"
|
|
617
|
+
className="cursor-pointer overflow-hidden border-border/70 py-0 shadow-sm transition-shadow duration-300 hover:shadow-md"
|
|
618
|
+
onClick={() => handleCardClick(template)}
|
|
596
619
|
>
|
|
597
620
|
<div className="h-1 w-full bg-linear-to-r from-sky-400/70 via-cyan-300/50 to-transparent" />
|
|
598
621
|
<CardContent className="space-y-4 p-5">
|
|
599
622
|
<div className="flex items-start justify-between gap-2">
|
|
600
623
|
{renderStatusBadge(template.status)}
|
|
601
|
-
<div
|
|
624
|
+
<div
|
|
625
|
+
className="flex items-center gap-1"
|
|
626
|
+
onClick={(e) => e.stopPropagation()}
|
|
627
|
+
>
|
|
602
628
|
<DropdownMenu>
|
|
603
629
|
<DropdownMenuTrigger asChild>
|
|
604
630
|
<Button
|
|
@@ -668,11 +694,12 @@ export default function ModelsPage() {
|
|
|
668
694
|
variant="outline"
|
|
669
695
|
size="sm"
|
|
670
696
|
className="gap-2 w-full"
|
|
671
|
-
onClick={() =>
|
|
697
|
+
onClick={(e) => {
|
|
698
|
+
e.stopPropagation();
|
|
672
699
|
router.push(
|
|
673
700
|
`/lms/certificates/models/editor?templateId=${template.id}`
|
|
674
|
-
)
|
|
675
|
-
}
|
|
701
|
+
);
|
|
702
|
+
}}
|
|
676
703
|
>
|
|
677
704
|
<FileEdit className="size-4" />
|
|
678
705
|
{t('cards.actions.editTemplate')}
|
|
@@ -854,9 +854,7 @@ const getAulaSchema = (t: (key: string) => string) =>
|
|
|
854
854
|
horaFim: z
|
|
855
855
|
.string()
|
|
856
856
|
.min(1, t('sheet.lessonForm.validation.endTimeRequired')),
|
|
857
|
-
local: z
|
|
858
|
-
.string()
|
|
859
|
-
.min(1, t('sheet.lessonForm.validation.locationRequired')),
|
|
857
|
+
local: z.string().optional(),
|
|
860
858
|
tipo: z.string().min(1, t('sheet.lessonForm.validation.typeRequired')),
|
|
861
859
|
instrutorId: z.string().optional(),
|
|
862
860
|
recurrenceFrequency: z
|
|
@@ -227,6 +227,7 @@ type InstructorOption = {
|
|
|
227
227
|
name: string;
|
|
228
228
|
personId?: number;
|
|
229
229
|
avatarId?: number | null;
|
|
230
|
+
userPhotoId?: number | null;
|
|
230
231
|
qualificationSlugs?: string[];
|
|
231
232
|
};
|
|
232
233
|
|
|
@@ -242,6 +243,8 @@ type InstructorApiRow = {
|
|
|
242
243
|
person_id?: number | string;
|
|
243
244
|
avatarId?: number | string | null;
|
|
244
245
|
avatar_id?: number | string | null;
|
|
246
|
+
userPhotoId?: number | string | null;
|
|
247
|
+
user_photo_id?: number | string | null;
|
|
245
248
|
qualificationSlugs?: string[];
|
|
246
249
|
};
|
|
247
250
|
|
|
@@ -268,18 +271,39 @@ function normalizeInstructorOption(
|
|
|
268
271
|
rawAvatarId !== undefined && rawAvatarId !== null
|
|
269
272
|
? Number(rawAvatarId) || null
|
|
270
273
|
: null;
|
|
274
|
+
const rawUserPhotoId = item?.userPhotoId ?? item?.user_photo_id;
|
|
275
|
+
const userPhotoId =
|
|
276
|
+
rawUserPhotoId !== undefined && rawUserPhotoId !== null
|
|
277
|
+
? Number(rawUserPhotoId) || null
|
|
278
|
+
: null;
|
|
271
279
|
|
|
272
280
|
return {
|
|
273
281
|
id,
|
|
274
282
|
name,
|
|
275
283
|
personId: Number(item?.personId ?? item?.person_id ?? 0) || undefined,
|
|
276
284
|
avatarId,
|
|
285
|
+
userPhotoId,
|
|
277
286
|
qualificationSlugs: Array.isArray(item?.qualificationSlugs)
|
|
278
287
|
? item.qualificationSlugs
|
|
279
288
|
: undefined,
|
|
280
289
|
};
|
|
281
290
|
}
|
|
282
291
|
|
|
292
|
+
function getInstructorAvatarUrl(option?: {
|
|
293
|
+
userPhotoId?: number | null;
|
|
294
|
+
avatarId?: number | null;
|
|
295
|
+
}) {
|
|
296
|
+
if (option?.userPhotoId) {
|
|
297
|
+
return `${process.env.NEXT_PUBLIC_API_BASE_URL}/user/avatar/${option.userPhotoId}`;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
if (option?.avatarId) {
|
|
301
|
+
return `${process.env.NEXT_PUBLIC_API_BASE_URL}/person/avatar/${option.avatarId}`;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
return undefined;
|
|
305
|
+
}
|
|
306
|
+
|
|
283
307
|
function getCourseIdByTitle(
|
|
284
308
|
courses: Array<{ id: number; title: string }>,
|
|
285
309
|
title: string
|
|
@@ -754,6 +778,7 @@ export default function TurmasPage() {
|
|
|
754
778
|
params: {
|
|
755
779
|
page: 1,
|
|
756
780
|
pageSize: 500,
|
|
781
|
+
offeringTypes: 'scheduled,blended',
|
|
757
782
|
},
|
|
758
783
|
});
|
|
759
784
|
return response.data;
|
|
@@ -2389,6 +2414,7 @@ export default function TurmasPage() {
|
|
|
2389
2414
|
params: {
|
|
2390
2415
|
page,
|
|
2391
2416
|
pageSize,
|
|
2417
|
+
offeringTypes: 'scheduled,blended',
|
|
2392
2418
|
...(search.trim() ? { search: search.trim() } : {}),
|
|
2393
2419
|
},
|
|
2394
2420
|
});
|
|
@@ -2917,9 +2943,7 @@ export default function TurmasPage() {
|
|
|
2917
2943
|
.slice(0, 2)
|
|
2918
2944
|
.map((p) => p[0]?.toUpperCase() ?? '')
|
|
2919
2945
|
.join('');
|
|
2920
|
-
const avatarUrl = option
|
|
2921
|
-
? `${process.env.NEXT_PUBLIC_API_BASE_URL}/person/avatar/${option.avatarId}`
|
|
2922
|
-
: undefined;
|
|
2946
|
+
const avatarUrl = getInstructorAvatarUrl(option);
|
|
2923
2947
|
return (
|
|
2924
2948
|
<div className="flex min-w-0 items-center gap-3 py-0.5">
|
|
2925
2949
|
<Avatar className="h-8 w-8 shrink-0 rounded-lg border border-border/60">
|
|
@@ -2942,9 +2966,7 @@ export default function TurmasPage() {
|
|
|
2942
2966
|
.slice(0, 2)
|
|
2943
2967
|
.map((p) => p[0]?.toUpperCase() ?? '')
|
|
2944
2968
|
.join('');
|
|
2945
|
-
const avatarUrl = option
|
|
2946
|
-
? `${process.env.NEXT_PUBLIC_API_BASE_URL}/person/avatar/${option.avatarId}`
|
|
2947
|
-
: undefined;
|
|
2969
|
+
const avatarUrl = getInstructorAvatarUrl(option ?? undefined);
|
|
2948
2970
|
return (
|
|
2949
2971
|
<div className="flex items-center gap-2">
|
|
2950
2972
|
<Avatar className="h-5 w-5 shrink-0 rounded">
|
|
@@ -453,7 +453,7 @@ export function EditorCourse() {
|
|
|
453
453
|
hasCertificate: data.certificado,
|
|
454
454
|
isFeatured: data.destaque,
|
|
455
455
|
isListed: data.listado,
|
|
456
|
-
certificateModel: data.modeloCertificado ||
|
|
456
|
+
certificateModel: data.modeloCertificado.trim() || null,
|
|
457
457
|
instructorIds: (data.instrutores ?? []).map(Number),
|
|
458
458
|
},
|
|
459
459
|
});
|