analytica-frontend-lib 1.0.99 → 1.1.0

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.
@@ -40,6 +40,7 @@ declare const QuizFooter: react.ForwardRefExoticComponent<{
40
40
  variant?: "result" | "default";
41
41
  onGoToSimulated?: () => void;
42
42
  onDetailResult?: () => void;
43
+ handleFinishSimulated?: () => void;
43
44
  } & react.RefAttributes<HTMLDivElement>>;
44
45
  declare const QuizResultHeaderTitle: react.ForwardRefExoticComponent<{
45
46
  className?: string;
@@ -40,6 +40,7 @@ declare const QuizFooter: react.ForwardRefExoticComponent<{
40
40
  variant?: "result" | "default";
41
41
  onGoToSimulated?: () => void;
42
42
  onDetailResult?: () => void;
43
+ handleFinishSimulated?: () => void;
43
44
  } & react.RefAttributes<HTMLDivElement>>;
44
45
  declare const QuizResultHeaderTitle: react.ForwardRefExoticComponent<{
45
46
  className?: string;
@@ -5372,6 +5372,7 @@ var QuizFooter = (0, import_react12.forwardRef)(
5372
5372
  className,
5373
5373
  onGoToSimulated,
5374
5374
  onDetailResult,
5375
+ handleFinishSimulated,
5375
5376
  variant = "default",
5376
5377
  ...props
5377
5378
  }, ref) => {
@@ -5401,6 +5402,34 @@ var QuizFooter = (0, import_react12.forwardRef)(
5401
5402
  const unansweredQuestions = getUnansweredQuestionsFromUserAnswers();
5402
5403
  const userAnswers = getUserAnswers();
5403
5404
  const allQuestions = getTotalQuestions();
5405
+ const handleFinishQuiz = async () => {
5406
+ if (unansweredQuestions.length > 0) {
5407
+ setAlertDialogOpen(true);
5408
+ return;
5409
+ }
5410
+ try {
5411
+ if (handleFinishSimulated) {
5412
+ await Promise.resolve(handleFinishSimulated());
5413
+ }
5414
+ setModalResultOpen(true);
5415
+ } catch (err) {
5416
+ console.error("handleFinishSimulated failed:", err);
5417
+ setModalResultOpen(true);
5418
+ }
5419
+ };
5420
+ const handleAlertSubmit = async () => {
5421
+ try {
5422
+ if (handleFinishSimulated) {
5423
+ await Promise.resolve(handleFinishSimulated());
5424
+ }
5425
+ setModalResultOpen(true);
5426
+ setAlertDialogOpen(false);
5427
+ } catch (err) {
5428
+ console.error("handleFinishSimulated failed:", err);
5429
+ setModalResultOpen(true);
5430
+ setAlertDialogOpen(false);
5431
+ }
5432
+ };
5404
5433
  return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
5405
5434
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
5406
5435
  "footer",
@@ -5466,13 +5495,7 @@ var QuizFooter = (0, import_react12.forwardRef)(
5466
5495
  variant: "solid",
5467
5496
  action: "primary",
5468
5497
  disabled: !currentAnswer && !isCurrentQuestionSkipped,
5469
- onClick: () => {
5470
- if (unansweredQuestions.length > 0) {
5471
- setAlertDialogOpen(true);
5472
- } else {
5473
- setModalResultOpen(true);
5474
- }
5475
- },
5498
+ onClick: handleFinishQuiz,
5476
5499
  children: "Finalizar"
5477
5500
  }
5478
5501
  ) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
@@ -5501,9 +5524,7 @@ var QuizFooter = (0, import_react12.forwardRef)(
5501
5524
  description: unansweredQuestions.length > 0 ? `Voc\xEA deixou as quest\xF5es ${unansweredQuestions.join(", ")} sem resposta. Finalizar agora pode impactar seu desempenho.` : "Tem certeza que deseja finalizar o simulado?",
5502
5525
  cancelButtonLabel: "Voltar e revisar",
5503
5526
  submitButtonLabel: "Finalizar Mesmo Assim",
5504
- onSubmit: () => {
5505
- setModalResultOpen(true);
5506
- }
5527
+ onSubmit: handleAlertSubmit
5507
5528
  }
5508
5529
  ),
5509
5530
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(