analytica-frontend-lib 1.1.6 → 1.1.8
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/Auth/AuthProvider/index.js +12 -0
- package/dist/Auth/AuthProvider/index.js.map +1 -1
- package/dist/Auth/AuthProvider/index.mjs +12 -0
- package/dist/Auth/AuthProvider/index.mjs.map +1 -1
- package/dist/Auth/ProtectedRoute/index.js +12 -0
- package/dist/Auth/ProtectedRoute/index.js.map +1 -1
- package/dist/Auth/ProtectedRoute/index.mjs +12 -0
- package/dist/Auth/ProtectedRoute/index.mjs.map +1 -1
- package/dist/Auth/PublicRoute/index.js +12 -0
- package/dist/Auth/PublicRoute/index.js.map +1 -1
- package/dist/Auth/PublicRoute/index.mjs +12 -0
- package/dist/Auth/PublicRoute/index.mjs.map +1 -1
- package/dist/Auth/getRootDomain/index.js +12 -0
- package/dist/Auth/getRootDomain/index.js.map +1 -1
- package/dist/Auth/getRootDomain/index.mjs +12 -0
- package/dist/Auth/getRootDomain/index.mjs.map +1 -1
- package/dist/Auth/index.d.mts +15 -1
- package/dist/Auth/index.d.ts +15 -1
- package/dist/Auth/index.js +12 -0
- package/dist/Auth/index.js.map +1 -1
- package/dist/Auth/index.mjs +12 -0
- package/dist/Auth/index.mjs.map +1 -1
- package/dist/Auth/useAuth/index.js +12 -0
- package/dist/Auth/useAuth/index.js.map +1 -1
- package/dist/Auth/useAuth/index.mjs +12 -0
- package/dist/Auth/useAuth/index.mjs.map +1 -1
- package/dist/Auth/useAuthGuard/index.js +12 -0
- package/dist/Auth/useAuthGuard/index.js.map +1 -1
- package/dist/Auth/useAuthGuard/index.mjs +12 -0
- package/dist/Auth/useAuthGuard/index.mjs.map +1 -1
- package/dist/Auth/useRouteAuth/index.js +12 -0
- package/dist/Auth/useRouteAuth/index.js.map +1 -1
- package/dist/Auth/useRouteAuth/index.mjs +12 -0
- package/dist/Auth/useRouteAuth/index.mjs.map +1 -1
- package/dist/Auth/withAuth/index.js +12 -0
- package/dist/Auth/withAuth/index.js.map +1 -1
- package/dist/Auth/withAuth/index.mjs +12 -0
- package/dist/Auth/withAuth/index.mjs.map +1 -1
- package/dist/Whiteboard/index.d.mts +34 -0
- package/dist/Whiteboard/index.d.ts +34 -0
- package/dist/Whiteboard/index.js +151 -0
- package/dist/Whiteboard/index.js.map +1 -0
- package/dist/Whiteboard/index.mjs +130 -0
- package/dist/Whiteboard/index.mjs.map +1 -0
- package/dist/index.css +47 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +354 -222
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +324 -193
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +47 -0
- package/dist/styles.css.map +1 -1
- package/package.json +3 -2
package/dist/index.mjs
CHANGED
|
@@ -7205,17 +7205,135 @@ var VideoPlayer = ({
|
|
|
7205
7205
|
};
|
|
7206
7206
|
var VideoPlayer_default = VideoPlayer;
|
|
7207
7207
|
|
|
7208
|
+
// src/components/Whiteboard/Whiteboard.tsx
|
|
7209
|
+
import { useCallback as useCallback2, useState as useState14 } from "react";
|
|
7210
|
+
import { DownloadSimple } from "phosphor-react";
|
|
7211
|
+
import { Fragment as Fragment7, jsx as jsx37, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
7212
|
+
var IMAGE_WIDTH = 225;
|
|
7213
|
+
var IMAGE_HEIGHT = 90;
|
|
7214
|
+
var Whiteboard = ({
|
|
7215
|
+
images,
|
|
7216
|
+
showDownload = true,
|
|
7217
|
+
className,
|
|
7218
|
+
onDownload,
|
|
7219
|
+
imagesPerRow = 2,
|
|
7220
|
+
...rest
|
|
7221
|
+
}) => {
|
|
7222
|
+
const [imageErrors, setImageErrors] = useState14(/* @__PURE__ */ new Set());
|
|
7223
|
+
const handleDownload = useCallback2(
|
|
7224
|
+
(image) => {
|
|
7225
|
+
if (onDownload) {
|
|
7226
|
+
onDownload(image);
|
|
7227
|
+
} else {
|
|
7228
|
+
const link = document.createElement("a");
|
|
7229
|
+
link.href = image.imageUrl;
|
|
7230
|
+
link.download = image.title || `whiteboard-${image.id}`;
|
|
7231
|
+
link.target = "_blank";
|
|
7232
|
+
link.rel = "noopener noreferrer";
|
|
7233
|
+
document.body.appendChild(link);
|
|
7234
|
+
link.click();
|
|
7235
|
+
document.body.removeChild(link);
|
|
7236
|
+
}
|
|
7237
|
+
},
|
|
7238
|
+
[onDownload]
|
|
7239
|
+
);
|
|
7240
|
+
const handleImageError = useCallback2((imageId) => {
|
|
7241
|
+
setImageErrors((prev) => new Set(prev).add(imageId));
|
|
7242
|
+
}, []);
|
|
7243
|
+
const gridColsClass = images?.length === 1 ? "grid-cols-1" : {
|
|
7244
|
+
2: "grid-cols-1 sm:grid-cols-2",
|
|
7245
|
+
3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
|
|
7246
|
+
4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"
|
|
7247
|
+
}[imagesPerRow];
|
|
7248
|
+
if (!images || images.length === 0) {
|
|
7249
|
+
return /* @__PURE__ */ jsx37(
|
|
7250
|
+
"div",
|
|
7251
|
+
{
|
|
7252
|
+
className: cn(
|
|
7253
|
+
"flex items-center justify-center p-8 bg-white border border-gray-100 rounded-xl",
|
|
7254
|
+
className
|
|
7255
|
+
),
|
|
7256
|
+
...rest,
|
|
7257
|
+
children: /* @__PURE__ */ jsx37("p", { className: "text-gray-400 text-sm", children: "Nenhuma imagem dispon\xEDvel" })
|
|
7258
|
+
}
|
|
7259
|
+
);
|
|
7260
|
+
}
|
|
7261
|
+
return /* @__PURE__ */ jsx37(
|
|
7262
|
+
"div",
|
|
7263
|
+
{
|
|
7264
|
+
className: cn(
|
|
7265
|
+
"flex flex-col bg-white border border-gray-100 p-4 gap-2 rounded-xl w-fit mx-auto",
|
|
7266
|
+
className
|
|
7267
|
+
),
|
|
7268
|
+
...rest,
|
|
7269
|
+
children: /* @__PURE__ */ jsx37("div", { className: cn("grid gap-4", gridColsClass), children: images.map((image) => /* @__PURE__ */ jsxs31(
|
|
7270
|
+
"div",
|
|
7271
|
+
{
|
|
7272
|
+
className: "relative group overflow-hidden bg-gray-100 rounded-lg",
|
|
7273
|
+
style: {
|
|
7274
|
+
width: `${IMAGE_WIDTH}px`
|
|
7275
|
+
},
|
|
7276
|
+
children: [
|
|
7277
|
+
/* @__PURE__ */ jsx37(
|
|
7278
|
+
"div",
|
|
7279
|
+
{
|
|
7280
|
+
className: "relative",
|
|
7281
|
+
style: {
|
|
7282
|
+
width: `${IMAGE_WIDTH}px`,
|
|
7283
|
+
height: `${IMAGE_HEIGHT}px`
|
|
7284
|
+
},
|
|
7285
|
+
children: imageErrors.has(image.id) ? /* @__PURE__ */ jsx37("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200", children: /* @__PURE__ */ jsx37("p", { className: "text-gray-500 text-sm text-center px-2", children: "Imagem indispon\xEDvel" }) }) : /* @__PURE__ */ jsxs31(Fragment7, { children: [
|
|
7286
|
+
/* @__PURE__ */ jsx37(
|
|
7287
|
+
"img",
|
|
7288
|
+
{
|
|
7289
|
+
src: image.imageUrl,
|
|
7290
|
+
alt: image.title || `Whiteboard ${image.id}`,
|
|
7291
|
+
className: "absolute inset-0 w-full h-full object-cover",
|
|
7292
|
+
loading: "lazy",
|
|
7293
|
+
onError: () => handleImageError(image.id)
|
|
7294
|
+
}
|
|
7295
|
+
),
|
|
7296
|
+
/* @__PURE__ */ jsx37("div", { className: "absolute inset-0 bg-gradient-to-t from-black/20 to-transparent" })
|
|
7297
|
+
] })
|
|
7298
|
+
}
|
|
7299
|
+
),
|
|
7300
|
+
showDownload && /* @__PURE__ */ jsx37(
|
|
7301
|
+
"button",
|
|
7302
|
+
{
|
|
7303
|
+
type: "button",
|
|
7304
|
+
onClick: () => handleDownload(image),
|
|
7305
|
+
className: "absolute bottom-3 right-3 flex items-center justify-center bg-black/20 backdrop-blur-sm rounded hover:bg-black/30 transition-colors duration-200 group/button w-6 h-6",
|
|
7306
|
+
"aria-label": `Download ${image.title || "imagem"}`,
|
|
7307
|
+
children: /* @__PURE__ */ jsx37(
|
|
7308
|
+
DownloadSimple,
|
|
7309
|
+
{
|
|
7310
|
+
size: 24,
|
|
7311
|
+
weight: "regular",
|
|
7312
|
+
className: "text-white group-hover/button:scale-110 transition-transform duration-200"
|
|
7313
|
+
}
|
|
7314
|
+
)
|
|
7315
|
+
}
|
|
7316
|
+
)
|
|
7317
|
+
]
|
|
7318
|
+
},
|
|
7319
|
+
image.id
|
|
7320
|
+
)) })
|
|
7321
|
+
}
|
|
7322
|
+
);
|
|
7323
|
+
};
|
|
7324
|
+
var Whiteboard_default = Whiteboard;
|
|
7325
|
+
|
|
7208
7326
|
// src/components/Auth/Auth.tsx
|
|
7209
7327
|
import {
|
|
7210
7328
|
createContext,
|
|
7211
7329
|
useContext,
|
|
7212
7330
|
useEffect as useEffect12,
|
|
7213
|
-
useState as
|
|
7214
|
-
useCallback as
|
|
7331
|
+
useState as useState15,
|
|
7332
|
+
useCallback as useCallback3,
|
|
7215
7333
|
useMemo as useMemo4
|
|
7216
7334
|
} from "react";
|
|
7217
7335
|
import { useLocation, Navigate } from "react-router-dom";
|
|
7218
|
-
import { Fragment as
|
|
7336
|
+
import { Fragment as Fragment8, jsx as jsx38 } from "react/jsx-runtime";
|
|
7219
7337
|
var AuthContext = createContext(void 0);
|
|
7220
7338
|
var AuthProvider = ({
|
|
7221
7339
|
children,
|
|
@@ -7226,12 +7344,12 @@ var AuthProvider = ({
|
|
|
7226
7344
|
getSessionFn,
|
|
7227
7345
|
getTokensFn
|
|
7228
7346
|
}) => {
|
|
7229
|
-
const [authState, setAuthState] =
|
|
7347
|
+
const [authState, setAuthState] = useState15({
|
|
7230
7348
|
isAuthenticated: false,
|
|
7231
7349
|
isLoading: true,
|
|
7232
7350
|
...initialAuthState
|
|
7233
7351
|
});
|
|
7234
|
-
const checkAuth =
|
|
7352
|
+
const checkAuth = useCallback3(async () => {
|
|
7235
7353
|
try {
|
|
7236
7354
|
setAuthState((prev) => ({ ...prev, isLoading: true }));
|
|
7237
7355
|
if (!checkAuthFn) {
|
|
@@ -7262,7 +7380,7 @@ var AuthProvider = ({
|
|
|
7262
7380
|
return false;
|
|
7263
7381
|
}
|
|
7264
7382
|
}, [checkAuthFn, getUserFn, getSessionFn, getTokensFn]);
|
|
7265
|
-
const signOut =
|
|
7383
|
+
const signOut = useCallback3(() => {
|
|
7266
7384
|
if (signOutFn) {
|
|
7267
7385
|
signOutFn();
|
|
7268
7386
|
}
|
|
@@ -7285,7 +7403,7 @@ var AuthProvider = ({
|
|
|
7285
7403
|
}),
|
|
7286
7404
|
[authState, checkAuth, signOut]
|
|
7287
7405
|
);
|
|
7288
|
-
return /* @__PURE__ */
|
|
7406
|
+
return /* @__PURE__ */ jsx38(AuthContext.Provider, { value: contextValue, children });
|
|
7289
7407
|
};
|
|
7290
7408
|
var useAuth = () => {
|
|
7291
7409
|
const context = useContext(AuthContext);
|
|
@@ -7301,9 +7419,9 @@ var ProtectedRoute = ({
|
|
|
7301
7419
|
additionalCheck
|
|
7302
7420
|
}) => {
|
|
7303
7421
|
const { isAuthenticated, isLoading, ...authState } = useAuth();
|
|
7304
|
-
const defaultLoadingComponent = /* @__PURE__ */
|
|
7422
|
+
const defaultLoadingComponent = /* @__PURE__ */ jsx38("div", { className: "flex items-center justify-center min-h-screen", children: /* @__PURE__ */ jsx38("div", { className: "text-text-950 text-lg", children: "Carregando..." }) });
|
|
7305
7423
|
if (isLoading) {
|
|
7306
|
-
return /* @__PURE__ */
|
|
7424
|
+
return /* @__PURE__ */ jsx38(Fragment8, { children: loadingComponent || defaultLoadingComponent });
|
|
7307
7425
|
}
|
|
7308
7426
|
if (!isAuthenticated) {
|
|
7309
7427
|
if (typeof window !== "undefined") {
|
|
@@ -7314,12 +7432,12 @@ var ProtectedRoute = ({
|
|
|
7314
7432
|
return null;
|
|
7315
7433
|
}
|
|
7316
7434
|
}
|
|
7317
|
-
return /* @__PURE__ */
|
|
7435
|
+
return /* @__PURE__ */ jsx38(Navigate, { to: redirectTo, replace: true });
|
|
7318
7436
|
}
|
|
7319
7437
|
if (additionalCheck && !additionalCheck({ isAuthenticated, isLoading, ...authState })) {
|
|
7320
|
-
return /* @__PURE__ */
|
|
7438
|
+
return /* @__PURE__ */ jsx38(Navigate, { to: redirectTo, replace: true });
|
|
7321
7439
|
}
|
|
7322
|
-
return /* @__PURE__ */
|
|
7440
|
+
return /* @__PURE__ */ jsx38(Fragment8, { children });
|
|
7323
7441
|
};
|
|
7324
7442
|
var PublicRoute = ({
|
|
7325
7443
|
children,
|
|
@@ -7329,15 +7447,15 @@ var PublicRoute = ({
|
|
|
7329
7447
|
}) => {
|
|
7330
7448
|
const { isAuthenticated, isLoading } = useAuth();
|
|
7331
7449
|
if (checkAuthBeforeRender && isLoading) {
|
|
7332
|
-
return /* @__PURE__ */
|
|
7450
|
+
return /* @__PURE__ */ jsx38("div", { className: "flex items-center justify-center min-h-screen", children: /* @__PURE__ */ jsx38("div", { className: "text-text-950 text-lg", children: "Carregando..." }) });
|
|
7333
7451
|
}
|
|
7334
7452
|
if (isAuthenticated && redirectIfAuthenticated) {
|
|
7335
|
-
return /* @__PURE__ */
|
|
7453
|
+
return /* @__PURE__ */ jsx38(Navigate, { to: redirectTo, replace: true });
|
|
7336
7454
|
}
|
|
7337
|
-
return /* @__PURE__ */
|
|
7455
|
+
return /* @__PURE__ */ jsx38(Fragment8, { children });
|
|
7338
7456
|
};
|
|
7339
7457
|
var withAuth = (Component, options = {}) => {
|
|
7340
|
-
return (props) => /* @__PURE__ */
|
|
7458
|
+
return (props) => /* @__PURE__ */ jsx38(ProtectedRoute, { ...options, children: /* @__PURE__ */ jsx38(Component, { ...props }) });
|
|
7341
7459
|
};
|
|
7342
7460
|
var useAuthGuard = (options = {}) => {
|
|
7343
7461
|
const authState = useAuth();
|
|
@@ -7352,7 +7470,7 @@ var useAuthGuard = (options = {}) => {
|
|
|
7352
7470
|
var useRouteAuth = (fallbackPath = "/") => {
|
|
7353
7471
|
const { isAuthenticated, isLoading } = useAuth();
|
|
7354
7472
|
const location = useLocation();
|
|
7355
|
-
const redirectToLogin = () => /* @__PURE__ */
|
|
7473
|
+
const redirectToLogin = () => /* @__PURE__ */ jsx38(Navigate, { to: fallbackPath, state: { from: location }, replace: true });
|
|
7356
7474
|
return {
|
|
7357
7475
|
isAuthenticated,
|
|
7358
7476
|
isLoading,
|
|
@@ -7365,7 +7483,19 @@ var getRootDomain = () => {
|
|
|
7365
7483
|
if (hostname === "localhost") {
|
|
7366
7484
|
return `${protocol}//${hostname}${portStr}`;
|
|
7367
7485
|
}
|
|
7486
|
+
const isIPv4 = /^\d{1,3}(?:\.\d{1,3}){3}$/.test(hostname);
|
|
7487
|
+
const isIPv6 = hostname.includes(":");
|
|
7488
|
+
if (isIPv4 || isIPv6) {
|
|
7489
|
+
return `${protocol}//${hostname}${portStr}`;
|
|
7490
|
+
}
|
|
7368
7491
|
const parts = hostname.split(".");
|
|
7492
|
+
if (parts.length >= 3 && parts[parts.length - 2] === "com" && parts[parts.length - 1] === "br") {
|
|
7493
|
+
if (parts.length === 3) {
|
|
7494
|
+
return `${protocol}//${hostname}${portStr}`;
|
|
7495
|
+
}
|
|
7496
|
+
const base = parts.slice(-3).join(".");
|
|
7497
|
+
return `${protocol}//${base}${portStr}`;
|
|
7498
|
+
}
|
|
7369
7499
|
if (parts.length > 2) {
|
|
7370
7500
|
const base = parts.slice(-2).join(".");
|
|
7371
7501
|
return `${protocol}//${base}${portStr}`;
|
|
@@ -7529,8 +7659,8 @@ import {
|
|
|
7529
7659
|
useEffect as useEffect14,
|
|
7530
7660
|
useMemo as useMemo6,
|
|
7531
7661
|
useId as useId10,
|
|
7532
|
-
useState as
|
|
7533
|
-
useCallback as
|
|
7662
|
+
useState as useState16,
|
|
7663
|
+
useCallback as useCallback4,
|
|
7534
7664
|
useRef as useRef10
|
|
7535
7665
|
} from "react";
|
|
7536
7666
|
|
|
@@ -8032,13 +8162,13 @@ var simulated_result_default = "./simulated-result-QN5HCUY5.png";
|
|
|
8032
8162
|
var mock_image_question_default = "./mock-image-question-HEZCLFDL.png";
|
|
8033
8163
|
|
|
8034
8164
|
// src/components/Quiz/Quiz.tsx
|
|
8035
|
-
import { Fragment as
|
|
8165
|
+
import { Fragment as Fragment9, jsx as jsx39, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
8036
8166
|
var getStatusBadge = (status) => {
|
|
8037
8167
|
switch (status) {
|
|
8038
8168
|
case "correct":
|
|
8039
|
-
return /* @__PURE__ */
|
|
8169
|
+
return /* @__PURE__ */ jsx39(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx39(CheckCircle6, {}), children: "Resposta correta" });
|
|
8040
8170
|
case "incorrect":
|
|
8041
|
-
return /* @__PURE__ */
|
|
8171
|
+
return /* @__PURE__ */ jsx39(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx39(XCircle5, {}), children: "Resposta incorreta" });
|
|
8042
8172
|
default:
|
|
8043
8173
|
return null;
|
|
8044
8174
|
}
|
|
@@ -8056,7 +8186,7 @@ var Quiz = forwardRef19(({ children, className, variant = "default", ...props },
|
|
|
8056
8186
|
useEffect14(() => {
|
|
8057
8187
|
setVariant(variant);
|
|
8058
8188
|
}, [variant, setVariant]);
|
|
8059
|
-
return /* @__PURE__ */
|
|
8189
|
+
return /* @__PURE__ */ jsx39(
|
|
8060
8190
|
"div",
|
|
8061
8191
|
{
|
|
8062
8192
|
ref,
|
|
@@ -8073,7 +8203,7 @@ var QuizHeaderResult = forwardRef19(
|
|
|
8073
8203
|
({ className, ...props }, ref) => {
|
|
8074
8204
|
const { getAllCurrentAnswer } = useQuizStore();
|
|
8075
8205
|
const usersAnswer = getAllCurrentAnswer();
|
|
8076
|
-
const [isCorrect, setIsCorrect] =
|
|
8206
|
+
const [isCorrect, setIsCorrect] = useState16(false);
|
|
8077
8207
|
useEffect14(() => {
|
|
8078
8208
|
if (usersAnswer) {
|
|
8079
8209
|
setIsCorrect(
|
|
@@ -8083,7 +8213,7 @@ var QuizHeaderResult = forwardRef19(
|
|
|
8083
8213
|
);
|
|
8084
8214
|
}
|
|
8085
8215
|
}, [usersAnswer]);
|
|
8086
|
-
return /* @__PURE__ */
|
|
8216
|
+
return /* @__PURE__ */ jsxs32(
|
|
8087
8217
|
"div",
|
|
8088
8218
|
{
|
|
8089
8219
|
ref,
|
|
@@ -8094,8 +8224,8 @@ var QuizHeaderResult = forwardRef19(
|
|
|
8094
8224
|
),
|
|
8095
8225
|
...props,
|
|
8096
8226
|
children: [
|
|
8097
|
-
/* @__PURE__ */
|
|
8098
|
-
/* @__PURE__ */
|
|
8227
|
+
/* @__PURE__ */ jsx39("p", { className: "text-text-950 font-bold text-lg", children: "Resultado" }),
|
|
8228
|
+
/* @__PURE__ */ jsx39("p", { className: "text-text-700 text-md", children: isCorrect ? "\u{1F389} Parab\xE9ns!!" : "N\xE3o foi dessa vez..." })
|
|
8099
8229
|
]
|
|
8100
8230
|
}
|
|
8101
8231
|
);
|
|
@@ -8113,7 +8243,7 @@ var QuizTitle = forwardRef19(
|
|
|
8113
8243
|
} = useQuizStore();
|
|
8114
8244
|
const totalQuestions = getTotalQuestions();
|
|
8115
8245
|
const quizTitle = getQuizTitle();
|
|
8116
|
-
return /* @__PURE__ */
|
|
8246
|
+
return /* @__PURE__ */ jsxs32(
|
|
8117
8247
|
"div",
|
|
8118
8248
|
{
|
|
8119
8249
|
ref,
|
|
@@ -8123,11 +8253,11 @@ var QuizTitle = forwardRef19(
|
|
|
8123
8253
|
),
|
|
8124
8254
|
...props,
|
|
8125
8255
|
children: [
|
|
8126
|
-
/* @__PURE__ */
|
|
8127
|
-
/* @__PURE__ */
|
|
8128
|
-
/* @__PURE__ */
|
|
8256
|
+
/* @__PURE__ */ jsxs32("span", { className: "flex flex-col gap-2 text-center", children: [
|
|
8257
|
+
/* @__PURE__ */ jsx39("p", { className: "text-text-950 font-bold text-md", children: quizTitle }),
|
|
8258
|
+
/* @__PURE__ */ jsx39("p", { className: "text-text-600 text-xs", children: totalQuestions > 0 ? `${currentQuestionIndex + 1} de ${totalQuestions}` : "0 de 0" })
|
|
8129
8259
|
] }),
|
|
8130
|
-
/* @__PURE__ */
|
|
8260
|
+
/* @__PURE__ */ jsx39("span", { className: "absolute right-2", children: /* @__PURE__ */ jsx39(Badge_default, { variant: "outlined", action: "info", iconLeft: /* @__PURE__ */ jsx39(Clock2, {}), children: isStarted ? formatTime2(timeElapsed) : "00:00" }) })
|
|
8131
8261
|
]
|
|
8132
8262
|
}
|
|
8133
8263
|
);
|
|
@@ -8135,13 +8265,13 @@ var QuizTitle = forwardRef19(
|
|
|
8135
8265
|
);
|
|
8136
8266
|
var QuizSubTitle = forwardRef19(
|
|
8137
8267
|
({ subTitle, ...props }, ref) => {
|
|
8138
|
-
return /* @__PURE__ */
|
|
8268
|
+
return /* @__PURE__ */ jsx39("div", { className: "px-4 pb-2 pt-6", ...props, ref, children: /* @__PURE__ */ jsx39("p", { className: "font-bold text-lg text-text-950", children: subTitle }) });
|
|
8139
8269
|
}
|
|
8140
8270
|
);
|
|
8141
8271
|
var QuizHeader = () => {
|
|
8142
8272
|
const { getCurrentQuestion, currentQuestionIndex } = useQuizStore();
|
|
8143
8273
|
const currentQuestion = getCurrentQuestion();
|
|
8144
|
-
return /* @__PURE__ */
|
|
8274
|
+
return /* @__PURE__ */ jsx39(
|
|
8145
8275
|
HeaderAlternative,
|
|
8146
8276
|
{
|
|
8147
8277
|
title: currentQuestion ? `Quest\xE3o ${currentQuestionIndex + 1}` : "Quest\xE3o",
|
|
@@ -8151,7 +8281,7 @@ var QuizHeader = () => {
|
|
|
8151
8281
|
);
|
|
8152
8282
|
};
|
|
8153
8283
|
var QuizContainer = forwardRef19(({ children, className, ...props }, ref) => {
|
|
8154
|
-
return /* @__PURE__ */
|
|
8284
|
+
return /* @__PURE__ */ jsx39(
|
|
8155
8285
|
"div",
|
|
8156
8286
|
{
|
|
8157
8287
|
ref,
|
|
@@ -8177,7 +8307,7 @@ var QuizContent = forwardRef19(({ paddingBottom }) => {
|
|
|
8177
8307
|
["IMAGEM" /* IMAGEM */]: QuizImageQuestion
|
|
8178
8308
|
};
|
|
8179
8309
|
const QuestionComponent = currentQuestion ? questionComponents[currentQuestion.type] : null;
|
|
8180
|
-
return QuestionComponent ? /* @__PURE__ */
|
|
8310
|
+
return QuestionComponent ? /* @__PURE__ */ jsx39(QuestionComponent, { variant, paddingBottom }) : null;
|
|
8181
8311
|
});
|
|
8182
8312
|
var QuizAlternative = ({
|
|
8183
8313
|
variant = "default",
|
|
@@ -8205,10 +8335,10 @@ var QuizAlternative = ({
|
|
|
8205
8335
|
};
|
|
8206
8336
|
});
|
|
8207
8337
|
if (!alternatives)
|
|
8208
|
-
return /* @__PURE__ */
|
|
8209
|
-
return /* @__PURE__ */
|
|
8210
|
-
/* @__PURE__ */
|
|
8211
|
-
/* @__PURE__ */
|
|
8338
|
+
return /* @__PURE__ */ jsx39("div", { children: /* @__PURE__ */ jsx39("p", { children: "N\xE3o h\xE1 Alternativas" }) });
|
|
8339
|
+
return /* @__PURE__ */ jsxs32(Fragment9, { children: [
|
|
8340
|
+
/* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
8341
|
+
/* @__PURE__ */ jsx39(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx39("div", { className: "space-y-4", children: /* @__PURE__ */ jsx39(
|
|
8212
8342
|
AlternativesList,
|
|
8213
8343
|
{
|
|
8214
8344
|
mode: variant === "default" ? "interactive" : "readonly",
|
|
@@ -8257,7 +8387,7 @@ var QuizMultipleChoice = ({
|
|
|
8257
8387
|
}
|
|
8258
8388
|
return prevSelectedValuesRef.current;
|
|
8259
8389
|
}, [selectedValues, currentQuestion?.id]);
|
|
8260
|
-
const handleSelectedValues =
|
|
8390
|
+
const handleSelectedValues = useCallback4(
|
|
8261
8391
|
(values) => {
|
|
8262
8392
|
if (currentQuestion) {
|
|
8263
8393
|
selectMultipleAnswer(currentQuestion.id, values);
|
|
@@ -8286,10 +8416,10 @@ var QuizMultipleChoice = ({
|
|
|
8286
8416
|
};
|
|
8287
8417
|
});
|
|
8288
8418
|
if (!choices)
|
|
8289
|
-
return /* @__PURE__ */
|
|
8290
|
-
return /* @__PURE__ */
|
|
8291
|
-
/* @__PURE__ */
|
|
8292
|
-
/* @__PURE__ */
|
|
8419
|
+
return /* @__PURE__ */ jsx39("div", { children: /* @__PURE__ */ jsx39("p", { children: "N\xE3o h\xE1 Escolhas Multiplas" }) });
|
|
8420
|
+
return /* @__PURE__ */ jsxs32(Fragment9, { children: [
|
|
8421
|
+
/* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
8422
|
+
/* @__PURE__ */ jsx39(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx39("div", { className: "space-y-4", children: /* @__PURE__ */ jsx39(
|
|
8293
8423
|
MultipleChoiceList,
|
|
8294
8424
|
{
|
|
8295
8425
|
choices,
|
|
@@ -8315,7 +8445,7 @@ var QuizDissertative = ({
|
|
|
8315
8445
|
selectDissertativeAnswer(currentQuestion.id, value);
|
|
8316
8446
|
}
|
|
8317
8447
|
};
|
|
8318
|
-
const adjustTextareaHeight =
|
|
8448
|
+
const adjustTextareaHeight = useCallback4(() => {
|
|
8319
8449
|
if (textareaRef.current) {
|
|
8320
8450
|
textareaRef.current.style.height = "auto";
|
|
8321
8451
|
const scrollHeight = textareaRef.current.scrollHeight;
|
|
@@ -8329,11 +8459,11 @@ var QuizDissertative = ({
|
|
|
8329
8459
|
adjustTextareaHeight();
|
|
8330
8460
|
}, [currentAnswer, adjustTextareaHeight]);
|
|
8331
8461
|
if (!currentQuestion) {
|
|
8332
|
-
return /* @__PURE__ */
|
|
8462
|
+
return /* @__PURE__ */ jsx39("div", { className: "space-y-4", children: /* @__PURE__ */ jsx39("p", { className: "text-text-600 text-md", children: "Nenhuma quest\xE3o dispon\xEDvel" }) });
|
|
8333
8463
|
}
|
|
8334
|
-
return /* @__PURE__ */
|
|
8335
|
-
/* @__PURE__ */
|
|
8336
|
-
/* @__PURE__ */
|
|
8464
|
+
return /* @__PURE__ */ jsxs32(Fragment9, { children: [
|
|
8465
|
+
/* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Resposta" }),
|
|
8466
|
+
/* @__PURE__ */ jsx39(QuizContainer, { className: cn(variant != "result" && paddingBottom), children: /* @__PURE__ */ jsx39("div", { className: "space-y-4 max-h-[600px] overflow-y-auto", children: variant === "default" ? /* @__PURE__ */ jsx39("div", { className: "space-y-4", children: /* @__PURE__ */ jsx39(
|
|
8337
8467
|
TextArea_default,
|
|
8338
8468
|
{
|
|
8339
8469
|
ref: textareaRef,
|
|
@@ -8343,10 +8473,10 @@ var QuizDissertative = ({
|
|
|
8343
8473
|
rows: 4,
|
|
8344
8474
|
className: "min-h-[120px] max-h-[400px] resize-none overflow-y-auto"
|
|
8345
8475
|
}
|
|
8346
|
-
) }) : /* @__PURE__ */
|
|
8347
|
-
variant === "result" && currentAnswer?.answerStatus == "RESPOSTA_INCORRETA" /* RESPOSTA_INCORRETA */ && /* @__PURE__ */
|
|
8348
|
-
/* @__PURE__ */
|
|
8349
|
-
/* @__PURE__ */
|
|
8476
|
+
) }) : /* @__PURE__ */ jsx39("div", { className: "space-y-4", children: /* @__PURE__ */ jsx39("p", { className: "text-text-600 text-md whitespace-pre-wrap", children: currentAnswer?.answer || "Nenhuma resposta fornecida" }) }) }) }),
|
|
8477
|
+
variant === "result" && currentAnswer?.answerStatus == "RESPOSTA_INCORRETA" /* RESPOSTA_INCORRETA */ && /* @__PURE__ */ jsxs32(Fragment9, { children: [
|
|
8478
|
+
/* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Observa\xE7\xE3o do professor" }),
|
|
8479
|
+
/* @__PURE__ */ jsx39(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx39("p", { className: "text-text-600 text-md whitespace-pre-wrap", children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Integer euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse potenti. Nullam ac urna eu felis dapibus condimentum sit amet a augue. Sed non neque elit. Sed ut imperdiet nisi. Proin condimentum fermentum nunc. Etiam pharetra, erat sed fermentum feugiat, velit mauris egestas quam, ut aliquam massa nisl quis neque. Suspendisse in orci enim. Mauris euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Integer euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse potenti. Nullam ac urna eu felis dapibus condimentum sit amet a augue. Sed non neque elit. Sed ut imperdiet nisi. Proin condimentum fermentum nunc. Etiam pharetra, erat sed fermentum feugiat, velit mauris egestas quam, ut aliquam massa nisl quis neque. Suspendisse in orci enim. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Integer euismod, urna eu tincidunt consectetur, nisi nisl aliquam nunc, eget aliquam massa nisl quis neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse potenti. Nullam ac urna eu felis dapibus condimentum sit amet a augue. Sed non neque elit. Sed ut imperdiet nisi. Proin condimentum fermentum nunc. Etiam pharetra, erat sed fermentum feugiat, velit mauris egestas quam, ut aliquam massa nisl quis neque. Suspendisse in orci enim." }) })
|
|
8350
8480
|
] })
|
|
8351
8481
|
] });
|
|
8352
8482
|
};
|
|
@@ -8374,16 +8504,16 @@ var QuizTrueOrFalse = ({
|
|
|
8374
8504
|
];
|
|
8375
8505
|
const getLetterByIndex = (index) => String.fromCharCode(97 + index);
|
|
8376
8506
|
const isDefaultVariant = variant == "default";
|
|
8377
|
-
return /* @__PURE__ */
|
|
8378
|
-
/* @__PURE__ */
|
|
8379
|
-
/* @__PURE__ */
|
|
8507
|
+
return /* @__PURE__ */ jsxs32(Fragment9, { children: [
|
|
8508
|
+
/* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
8509
|
+
/* @__PURE__ */ jsx39(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx39("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
|
|
8380
8510
|
const variantCorrect = option.isCorrect ? "correct" : "incorrect";
|
|
8381
|
-
return /* @__PURE__ */
|
|
8511
|
+
return /* @__PURE__ */ jsxs32(
|
|
8382
8512
|
"section",
|
|
8383
8513
|
{
|
|
8384
8514
|
className: "flex flex-col gap-2",
|
|
8385
8515
|
children: [
|
|
8386
|
-
/* @__PURE__ */
|
|
8516
|
+
/* @__PURE__ */ jsxs32(
|
|
8387
8517
|
"div",
|
|
8388
8518
|
{
|
|
8389
8519
|
className: cn(
|
|
@@ -8391,20 +8521,20 @@ var QuizTrueOrFalse = ({
|
|
|
8391
8521
|
!isDefaultVariant ? getStatusStyles(variantCorrect) : ""
|
|
8392
8522
|
),
|
|
8393
8523
|
children: [
|
|
8394
|
-
/* @__PURE__ */
|
|
8395
|
-
isDefaultVariant ? /* @__PURE__ */
|
|
8396
|
-
/* @__PURE__ */
|
|
8397
|
-
/* @__PURE__ */
|
|
8398
|
-
/* @__PURE__ */
|
|
8399
|
-
/* @__PURE__ */
|
|
8524
|
+
/* @__PURE__ */ jsx39("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index).concat(") ").concat(option.label) }),
|
|
8525
|
+
isDefaultVariant ? /* @__PURE__ */ jsxs32(Select_default, { size: "medium", children: [
|
|
8526
|
+
/* @__PURE__ */ jsx39(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ jsx39(SelectValue, { placeholder: "Selecione opc\xE3o" }) }),
|
|
8527
|
+
/* @__PURE__ */ jsxs32(SelectContent, { children: [
|
|
8528
|
+
/* @__PURE__ */ jsx39(SelectItem, { value: "V", children: "Verdadeiro" }),
|
|
8529
|
+
/* @__PURE__ */ jsx39(SelectItem, { value: "F", children: "Falso" })
|
|
8400
8530
|
] })
|
|
8401
|
-
] }) : /* @__PURE__ */
|
|
8531
|
+
] }) : /* @__PURE__ */ jsx39("div", { className: "flex-shrink-0", children: getStatusBadge(variantCorrect) })
|
|
8402
8532
|
]
|
|
8403
8533
|
}
|
|
8404
8534
|
),
|
|
8405
|
-
!isDefaultVariant && /* @__PURE__ */
|
|
8406
|
-
/* @__PURE__ */
|
|
8407
|
-
!option.isCorrect && /* @__PURE__ */
|
|
8535
|
+
!isDefaultVariant && /* @__PURE__ */ jsxs32("span", { className: "flex flex-row gap-2 items-center", children: [
|
|
8536
|
+
/* @__PURE__ */ jsx39("p", { className: "text-text-800 text-2xs", children: "Resposta selecionada: V" }),
|
|
8537
|
+
!option.isCorrect && /* @__PURE__ */ jsx39("p", { className: "text-text-800 text-2xs", children: "Resposta correta: F" })
|
|
8408
8538
|
] })
|
|
8409
8539
|
]
|
|
8410
8540
|
},
|
|
@@ -8467,7 +8597,7 @@ var QuizConnectDots = ({
|
|
|
8467
8597
|
isCorrect: false
|
|
8468
8598
|
}
|
|
8469
8599
|
];
|
|
8470
|
-
const [userAnswers, setUserAnswers] =
|
|
8600
|
+
const [userAnswers, setUserAnswers] = useState16(() => {
|
|
8471
8601
|
if (variant === "result") {
|
|
8472
8602
|
return mockUserAnswers;
|
|
8473
8603
|
}
|
|
@@ -8496,13 +8626,13 @@ var QuizConnectDots = ({
|
|
|
8496
8626
|
const assignedDots = new Set(
|
|
8497
8627
|
userAnswers.map((a) => a.dotOption).filter(Boolean)
|
|
8498
8628
|
);
|
|
8499
|
-
return /* @__PURE__ */
|
|
8500
|
-
/* @__PURE__ */
|
|
8501
|
-
/* @__PURE__ */
|
|
8629
|
+
return /* @__PURE__ */ jsxs32(Fragment9, { children: [
|
|
8630
|
+
/* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
8631
|
+
/* @__PURE__ */ jsx39(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx39("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
|
|
8502
8632
|
const answer = userAnswers[index];
|
|
8503
8633
|
const variantCorrect = answer.isCorrect ? "correct" : "incorrect";
|
|
8504
|
-
return /* @__PURE__ */
|
|
8505
|
-
/* @__PURE__ */
|
|
8634
|
+
return /* @__PURE__ */ jsxs32("section", { className: "flex flex-col gap-2", children: [
|
|
8635
|
+
/* @__PURE__ */ jsxs32(
|
|
8506
8636
|
"div",
|
|
8507
8637
|
{
|
|
8508
8638
|
className: cn(
|
|
@@ -8510,30 +8640,30 @@ var QuizConnectDots = ({
|
|
|
8510
8640
|
!isDefaultVariant ? getStatusStyles(variantCorrect) : ""
|
|
8511
8641
|
),
|
|
8512
8642
|
children: [
|
|
8513
|
-
/* @__PURE__ */
|
|
8514
|
-
isDefaultVariant ? /* @__PURE__ */
|
|
8643
|
+
/* @__PURE__ */ jsx39("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index) + ") " + option.label }),
|
|
8644
|
+
isDefaultVariant ? /* @__PURE__ */ jsxs32(
|
|
8515
8645
|
Select_default,
|
|
8516
8646
|
{
|
|
8517
8647
|
size: "medium",
|
|
8518
8648
|
value: answer.dotOption || void 0,
|
|
8519
8649
|
onValueChange: (value) => handleSelectDot(index, value),
|
|
8520
8650
|
children: [
|
|
8521
|
-
/* @__PURE__ */
|
|
8522
|
-
/* @__PURE__ */
|
|
8651
|
+
/* @__PURE__ */ jsx39(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ jsx39(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
|
|
8652
|
+
/* @__PURE__ */ jsx39(SelectContent, { children: dotsOptions.filter(
|
|
8523
8653
|
(dot) => !assignedDots.has(dot.label) || answer.dotOption === dot.label
|
|
8524
|
-
).map((dot) => /* @__PURE__ */
|
|
8654
|
+
).map((dot) => /* @__PURE__ */ jsx39(SelectItem, { value: dot.label, children: dot.label }, dot.label)) })
|
|
8525
8655
|
]
|
|
8526
8656
|
}
|
|
8527
|
-
) : /* @__PURE__ */
|
|
8657
|
+
) : /* @__PURE__ */ jsx39("div", { className: "flex-shrink-0", children: answer.isCorrect === null ? null : getStatusBadge(variantCorrect) })
|
|
8528
8658
|
]
|
|
8529
8659
|
}
|
|
8530
8660
|
),
|
|
8531
|
-
!isDefaultVariant && /* @__PURE__ */
|
|
8532
|
-
/* @__PURE__ */
|
|
8661
|
+
!isDefaultVariant && /* @__PURE__ */ jsxs32("span", { className: "flex flex-row gap-2 items-center", children: [
|
|
8662
|
+
/* @__PURE__ */ jsxs32("p", { className: "text-text-800 text-2xs", children: [
|
|
8533
8663
|
"Resposta selecionada: ",
|
|
8534
8664
|
answer.dotOption || "Nenhuma"
|
|
8535
8665
|
] }),
|
|
8536
|
-
!answer.isCorrect && /* @__PURE__ */
|
|
8666
|
+
!answer.isCorrect && /* @__PURE__ */ jsxs32("p", { className: "text-text-800 text-2xs", children: [
|
|
8537
8667
|
"Resposta correta: ",
|
|
8538
8668
|
answer.correctOption
|
|
8539
8669
|
] })
|
|
@@ -8588,7 +8718,7 @@ var QuizFill = ({
|
|
|
8588
8718
|
isCorrect: true
|
|
8589
8719
|
}
|
|
8590
8720
|
];
|
|
8591
|
-
const [answers, setAnswers] =
|
|
8721
|
+
const [answers, setAnswers] = useState16({});
|
|
8592
8722
|
const baseId = useId10();
|
|
8593
8723
|
const getAvailableOptionsForSelect = (selectId) => {
|
|
8594
8724
|
const usedOptions = Object.entries(answers).filter(([key]) => key !== selectId).map(([, value]) => value);
|
|
@@ -8602,18 +8732,18 @@ var QuizFill = ({
|
|
|
8602
8732
|
const mockAnswer = mockUserAnswers.find(
|
|
8603
8733
|
(answer) => answer.selectId === selectId
|
|
8604
8734
|
);
|
|
8605
|
-
return /* @__PURE__ */
|
|
8735
|
+
return /* @__PURE__ */ jsx39("p", { className: "inline-flex mb-2.5 text-success-600 font-semibold text-md border-b-2 border-success-600", children: mockAnswer?.correctAnswer });
|
|
8606
8736
|
};
|
|
8607
8737
|
const renderDefaultElement = (selectId, startIndex, selectedValue, availableOptionsForThisSelect) => {
|
|
8608
|
-
return /* @__PURE__ */
|
|
8738
|
+
return /* @__PURE__ */ jsxs32(
|
|
8609
8739
|
Select_default,
|
|
8610
8740
|
{
|
|
8611
8741
|
value: selectedValue,
|
|
8612
8742
|
onValueChange: (value) => handleSelectChange(selectId, value),
|
|
8613
8743
|
className: "inline-flex mb-2.5",
|
|
8614
8744
|
children: [
|
|
8615
|
-
/* @__PURE__ */
|
|
8616
|
-
/* @__PURE__ */
|
|
8745
|
+
/* @__PURE__ */ jsx39(SelectTrigger, { className: "inline-flex w-auto min-w-[140px] h-8 mx-1 bg-white border-gray-300", children: /* @__PURE__ */ jsx39(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
|
|
8746
|
+
/* @__PURE__ */ jsx39(SelectContent, { children: availableOptionsForThisSelect.map((option, index) => /* @__PURE__ */ jsx39(SelectItem, { value: option, children: option }, `${option}-${index}`)) })
|
|
8617
8747
|
]
|
|
8618
8748
|
},
|
|
8619
8749
|
`${selectId}-${startIndex}`
|
|
@@ -8625,8 +8755,8 @@ var QuizFill = ({
|
|
|
8625
8755
|
);
|
|
8626
8756
|
if (!mockAnswer) return null;
|
|
8627
8757
|
const action = mockAnswer.isCorrect ? "success" : "error";
|
|
8628
|
-
const icon = mockAnswer.isCorrect ? /* @__PURE__ */
|
|
8629
|
-
return /* @__PURE__ */
|
|
8758
|
+
const icon = mockAnswer.isCorrect ? /* @__PURE__ */ jsx39(CheckCircle6, {}) : /* @__PURE__ */ jsx39(XCircle5, {});
|
|
8759
|
+
return /* @__PURE__ */ jsx39(
|
|
8630
8760
|
Badge_default,
|
|
8631
8761
|
{
|
|
8632
8762
|
variant: "solid",
|
|
@@ -8634,7 +8764,7 @@ var QuizFill = ({
|
|
|
8634
8764
|
iconRight: icon,
|
|
8635
8765
|
size: "large",
|
|
8636
8766
|
className: "py-3 w-[180px] justify-between mb-2.5",
|
|
8637
|
-
children: /* @__PURE__ */
|
|
8767
|
+
children: /* @__PURE__ */ jsx39("span", { className: "text-text-900", children: mockAnswer.userAnswer })
|
|
8638
8768
|
},
|
|
8639
8769
|
selectId
|
|
8640
8770
|
);
|
|
@@ -8690,25 +8820,25 @@ var QuizFill = ({
|
|
|
8690
8820
|
}
|
|
8691
8821
|
return elements;
|
|
8692
8822
|
};
|
|
8693
|
-
return /* @__PURE__ */
|
|
8694
|
-
/* @__PURE__ */
|
|
8695
|
-
/* @__PURE__ */
|
|
8823
|
+
return /* @__PURE__ */ jsxs32(Fragment9, { children: [
|
|
8824
|
+
/* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
8825
|
+
/* @__PURE__ */ jsx39(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx39("div", { className: "space-y-6 px-4 h-auto", children: /* @__PURE__ */ jsx39(
|
|
8696
8826
|
"div",
|
|
8697
8827
|
{
|
|
8698
8828
|
className: cn(
|
|
8699
8829
|
"text-lg text-text-900 leading-8 h-auto",
|
|
8700
8830
|
variant != "result" && paddingBottom
|
|
8701
8831
|
),
|
|
8702
|
-
children: renderTextWithSelects(exampleText).map((element) => /* @__PURE__ */
|
|
8832
|
+
children: renderTextWithSelects(exampleText).map((element) => /* @__PURE__ */ jsx39("span", { children: element.element }, element.id))
|
|
8703
8833
|
}
|
|
8704
8834
|
) }) }),
|
|
8705
|
-
variant === "result" && /* @__PURE__ */
|
|
8706
|
-
/* @__PURE__ */
|
|
8707
|
-
/* @__PURE__ */
|
|
8835
|
+
variant === "result" && /* @__PURE__ */ jsxs32(Fragment9, { children: [
|
|
8836
|
+
/* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Resultado" }),
|
|
8837
|
+
/* @__PURE__ */ jsx39(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx39("div", { className: "space-y-6 px-4", children: /* @__PURE__ */ jsx39(
|
|
8708
8838
|
"div",
|
|
8709
8839
|
{
|
|
8710
8840
|
className: cn("text-lg text-text-900 leading-8", paddingBottom),
|
|
8711
|
-
children: renderTextWithSelects(exampleText, true).map((element) => /* @__PURE__ */
|
|
8841
|
+
children: renderTextWithSelects(exampleText, true).map((element) => /* @__PURE__ */ jsx39("span", { children: element.element }, element.id))
|
|
8712
8842
|
}
|
|
8713
8843
|
) }) })
|
|
8714
8844
|
] })
|
|
@@ -8728,7 +8858,7 @@ var QuizImageQuestion = ({
|
|
|
8728
8858
|
};
|
|
8729
8859
|
const correctRadiusRelative = calculateCorrectRadiusRelative();
|
|
8730
8860
|
const mockUserAnswerRelative = { x: 0.72, y: 0.348 };
|
|
8731
|
-
const [clickPositionRelative, setClickPositionRelative] =
|
|
8861
|
+
const [clickPositionRelative, setClickPositionRelative] = useState16(variant == "result" ? mockUserAnswerRelative : null);
|
|
8732
8862
|
const convertToRelativeCoordinates = (x, y, rect) => {
|
|
8733
8863
|
const safeWidth = Math.max(rect.width, 1e-3);
|
|
8734
8864
|
const safeHeight = Math.max(rect.height, 1e-3);
|
|
@@ -8764,36 +8894,36 @@ var QuizImageQuestion = ({
|
|
|
8764
8894
|
}
|
|
8765
8895
|
return "bg-success-600/70 border-white";
|
|
8766
8896
|
};
|
|
8767
|
-
return /* @__PURE__ */
|
|
8768
|
-
/* @__PURE__ */
|
|
8769
|
-
/* @__PURE__ */
|
|
8897
|
+
return /* @__PURE__ */ jsxs32(Fragment9, { children: [
|
|
8898
|
+
/* @__PURE__ */ jsx39(QuizSubTitle, { subTitle: "Clique na \xE1rea correta" }),
|
|
8899
|
+
/* @__PURE__ */ jsx39(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsxs32(
|
|
8770
8900
|
"div",
|
|
8771
8901
|
{
|
|
8772
8902
|
"data-testid": "quiz-image-container",
|
|
8773
8903
|
className: "space-y-6 p-3 relative inline-block",
|
|
8774
8904
|
children: [
|
|
8775
|
-
variant == "result" && /* @__PURE__ */
|
|
8905
|
+
variant == "result" && /* @__PURE__ */ jsxs32(
|
|
8776
8906
|
"div",
|
|
8777
8907
|
{
|
|
8778
8908
|
"data-testid": "quiz-legend",
|
|
8779
8909
|
className: "flex items-center gap-4 text-xs",
|
|
8780
8910
|
children: [
|
|
8781
|
-
/* @__PURE__ */
|
|
8782
|
-
/* @__PURE__ */
|
|
8783
|
-
/* @__PURE__ */
|
|
8911
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
|
|
8912
|
+
/* @__PURE__ */ jsx39("div", { className: "w-3 h-3 rounded-full bg-indicator-primary/70 border border-[#F8CC2E]" }),
|
|
8913
|
+
/* @__PURE__ */ jsx39("span", { className: "text-text-600 font-medium text-sm", children: "\xC1rea correta" })
|
|
8784
8914
|
] }),
|
|
8785
|
-
/* @__PURE__ */
|
|
8786
|
-
/* @__PURE__ */
|
|
8787
|
-
/* @__PURE__ */
|
|
8915
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
|
|
8916
|
+
/* @__PURE__ */ jsx39("div", { className: "w-3 h-3 rounded-full bg-success-600/70 border border-white" }),
|
|
8917
|
+
/* @__PURE__ */ jsx39("span", { className: "text-text-600 font-medium text-sm", children: "Resposta correta" })
|
|
8788
8918
|
] }),
|
|
8789
|
-
/* @__PURE__ */
|
|
8790
|
-
/* @__PURE__ */
|
|
8791
|
-
/* @__PURE__ */
|
|
8919
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-2", children: [
|
|
8920
|
+
/* @__PURE__ */ jsx39("div", { className: "w-3 h-3 rounded-full bg-indicator-error/70 border border-white" }),
|
|
8921
|
+
/* @__PURE__ */ jsx39("span", { className: "text-text-600 font-medium text-sm", children: "Resposta incorreta" })
|
|
8792
8922
|
] })
|
|
8793
8923
|
]
|
|
8794
8924
|
}
|
|
8795
8925
|
),
|
|
8796
|
-
/* @__PURE__ */
|
|
8926
|
+
/* @__PURE__ */ jsxs32(
|
|
8797
8927
|
"button",
|
|
8798
8928
|
{
|
|
8799
8929
|
"data-testid": "quiz-image-button",
|
|
@@ -8808,7 +8938,7 @@ var QuizImageQuestion = ({
|
|
|
8808
8938
|
},
|
|
8809
8939
|
"aria-label": "\xC1rea da imagem interativa",
|
|
8810
8940
|
children: [
|
|
8811
|
-
/* @__PURE__ */
|
|
8941
|
+
/* @__PURE__ */ jsx39(
|
|
8812
8942
|
"img",
|
|
8813
8943
|
{
|
|
8814
8944
|
"data-testid": "quiz-image",
|
|
@@ -8817,7 +8947,7 @@ var QuizImageQuestion = ({
|
|
|
8817
8947
|
className: "w-full h-auto rounded-md"
|
|
8818
8948
|
}
|
|
8819
8949
|
),
|
|
8820
|
-
variant === "result" && /* @__PURE__ */
|
|
8950
|
+
variant === "result" && /* @__PURE__ */ jsx39(
|
|
8821
8951
|
"div",
|
|
8822
8952
|
{
|
|
8823
8953
|
"data-testid": "quiz-correct-circle",
|
|
@@ -8832,7 +8962,7 @@ var QuizImageQuestion = ({
|
|
|
8832
8962
|
}
|
|
8833
8963
|
}
|
|
8834
8964
|
),
|
|
8835
|
-
clickPositionRelative && /* @__PURE__ */
|
|
8965
|
+
clickPositionRelative && /* @__PURE__ */ jsx39(
|
|
8836
8966
|
"div",
|
|
8837
8967
|
{
|
|
8838
8968
|
"data-testid": "quiz-user-circle",
|
|
@@ -8900,16 +9030,16 @@ var QuizQuestionList = ({
|
|
|
8900
9030
|
return "Em branco";
|
|
8901
9031
|
}
|
|
8902
9032
|
};
|
|
8903
|
-
return /* @__PURE__ */
|
|
8904
|
-
([subjectId, questions]) => /* @__PURE__ */
|
|
8905
|
-
/* @__PURE__ */
|
|
8906
|
-
/* @__PURE__ */
|
|
8907
|
-
/* @__PURE__ */
|
|
9033
|
+
return /* @__PURE__ */ jsx39("div", { className: "space-y-6 px-4", children: Object.entries(filteredGroupedQuestions).map(
|
|
9034
|
+
([subjectId, questions]) => /* @__PURE__ */ jsxs32("section", { className: "flex flex-col gap-2", children: [
|
|
9035
|
+
/* @__PURE__ */ jsxs32("span", { className: "pt-6 pb-4 flex flex-row gap-2", children: [
|
|
9036
|
+
/* @__PURE__ */ jsx39("div", { className: "bg-primary-500 p-1 rounded-sm flex items-center justify-center", children: /* @__PURE__ */ jsx39(BookOpen, { size: 17, className: "text-white" }) }),
|
|
9037
|
+
/* @__PURE__ */ jsx39("p", { className: "text-text-800 font-bold text-lg", children: subjectId })
|
|
8908
9038
|
] }),
|
|
8909
|
-
/* @__PURE__ */
|
|
9039
|
+
/* @__PURE__ */ jsx39("ul", { className: "flex flex-col gap-2", children: questions.map((question) => {
|
|
8910
9040
|
const status = getQuestionStatus(question.id);
|
|
8911
9041
|
const questionNumber = getQuestionIndex(question.id);
|
|
8912
|
-
return /* @__PURE__ */
|
|
9042
|
+
return /* @__PURE__ */ jsx39(
|
|
8913
9043
|
CardStatus,
|
|
8914
9044
|
{
|
|
8915
9045
|
header: `Quest\xE3o ${questionNumber.toString().padStart(2, "0")}`,
|
|
@@ -8953,11 +9083,11 @@ var QuizFooter = forwardRef19(
|
|
|
8953
9083
|
const currentAnswer = getCurrentAnswer();
|
|
8954
9084
|
const currentQuestion = getCurrentQuestion();
|
|
8955
9085
|
const isCurrentQuestionSkipped = currentQuestion ? getQuestionStatusFromUserAnswers(currentQuestion.id) === "skipped" : false;
|
|
8956
|
-
const [alertDialogOpen, setAlertDialogOpen] =
|
|
8957
|
-
const [modalResultOpen, setModalResultOpen] =
|
|
8958
|
-
const [modalNavigateOpen, setModalNavigateOpen] =
|
|
8959
|
-
const [modalResolutionOpen, setModalResolutionOpen] =
|
|
8960
|
-
const [filterType, setFilterType] =
|
|
9086
|
+
const [alertDialogOpen, setAlertDialogOpen] = useState16(false);
|
|
9087
|
+
const [modalResultOpen, setModalResultOpen] = useState16(false);
|
|
9088
|
+
const [modalNavigateOpen, setModalNavigateOpen] = useState16(false);
|
|
9089
|
+
const [modalResolutionOpen, setModalResolutionOpen] = useState16(false);
|
|
9090
|
+
const [filterType, setFilterType] = useState16("all");
|
|
8961
9091
|
const unansweredQuestions = getUnansweredQuestionsFromUserAnswers();
|
|
8962
9092
|
const userAnswers = getUserAnswers();
|
|
8963
9093
|
const allQuestions = getTotalQuestions();
|
|
@@ -8989,8 +9119,8 @@ var QuizFooter = forwardRef19(
|
|
|
8989
9119
|
setAlertDialogOpen(false);
|
|
8990
9120
|
}
|
|
8991
9121
|
};
|
|
8992
|
-
return /* @__PURE__ */
|
|
8993
|
-
/* @__PURE__ */
|
|
9122
|
+
return /* @__PURE__ */ jsxs32(Fragment9, { children: [
|
|
9123
|
+
/* @__PURE__ */ jsx39(
|
|
8994
9124
|
"footer",
|
|
8995
9125
|
{
|
|
8996
9126
|
ref,
|
|
@@ -8999,17 +9129,17 @@ var QuizFooter = forwardRef19(
|
|
|
8999
9129
|
className
|
|
9000
9130
|
),
|
|
9001
9131
|
...props,
|
|
9002
|
-
children: variant === "default" ? /* @__PURE__ */
|
|
9003
|
-
/* @__PURE__ */
|
|
9004
|
-
/* @__PURE__ */
|
|
9132
|
+
children: variant === "default" ? /* @__PURE__ */ jsxs32(Fragment9, { children: [
|
|
9133
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex flex-row items-center gap-1", children: [
|
|
9134
|
+
/* @__PURE__ */ jsx39(
|
|
9005
9135
|
IconButton_default,
|
|
9006
9136
|
{
|
|
9007
|
-
icon: /* @__PURE__ */
|
|
9137
|
+
icon: /* @__PURE__ */ jsx39(SquaresFour, { size: 24, className: "text-text-950" }),
|
|
9008
9138
|
size: "md",
|
|
9009
9139
|
onClick: () => setModalNavigateOpen(true)
|
|
9010
9140
|
}
|
|
9011
9141
|
),
|
|
9012
|
-
isFirstQuestion ? /* @__PURE__ */
|
|
9142
|
+
isFirstQuestion ? /* @__PURE__ */ jsx39(
|
|
9013
9143
|
Button_default,
|
|
9014
9144
|
{
|
|
9015
9145
|
variant: "outline",
|
|
@@ -9020,13 +9150,13 @@ var QuizFooter = forwardRef19(
|
|
|
9020
9150
|
},
|
|
9021
9151
|
children: "Pular"
|
|
9022
9152
|
}
|
|
9023
|
-
) : /* @__PURE__ */
|
|
9153
|
+
) : /* @__PURE__ */ jsx39(
|
|
9024
9154
|
Button_default,
|
|
9025
9155
|
{
|
|
9026
9156
|
size: "medium",
|
|
9027
9157
|
variant: "link",
|
|
9028
9158
|
action: "primary",
|
|
9029
|
-
iconLeft: /* @__PURE__ */
|
|
9159
|
+
iconLeft: /* @__PURE__ */ jsx39(CaretLeft3, { size: 18 }),
|
|
9030
9160
|
onClick: () => {
|
|
9031
9161
|
goToPreviousQuestion();
|
|
9032
9162
|
},
|
|
@@ -9034,7 +9164,7 @@ var QuizFooter = forwardRef19(
|
|
|
9034
9164
|
}
|
|
9035
9165
|
)
|
|
9036
9166
|
] }),
|
|
9037
|
-
!isFirstQuestion && /* @__PURE__ */
|
|
9167
|
+
!isFirstQuestion && /* @__PURE__ */ jsx39(
|
|
9038
9168
|
Button_default,
|
|
9039
9169
|
{
|
|
9040
9170
|
size: "small",
|
|
@@ -9047,7 +9177,7 @@ var QuizFooter = forwardRef19(
|
|
|
9047
9177
|
children: "Pular"
|
|
9048
9178
|
}
|
|
9049
9179
|
),
|
|
9050
|
-
isLastQuestion ? /* @__PURE__ */
|
|
9180
|
+
isLastQuestion ? /* @__PURE__ */ jsx39(
|
|
9051
9181
|
Button_default,
|
|
9052
9182
|
{
|
|
9053
9183
|
size: "medium",
|
|
@@ -9057,13 +9187,13 @@ var QuizFooter = forwardRef19(
|
|
|
9057
9187
|
onClick: handleFinishQuiz,
|
|
9058
9188
|
children: "Finalizar"
|
|
9059
9189
|
}
|
|
9060
|
-
) : /* @__PURE__ */
|
|
9190
|
+
) : /* @__PURE__ */ jsx39(
|
|
9061
9191
|
Button_default,
|
|
9062
9192
|
{
|
|
9063
9193
|
size: "medium",
|
|
9064
9194
|
variant: "link",
|
|
9065
9195
|
action: "primary",
|
|
9066
|
-
iconRight: /* @__PURE__ */
|
|
9196
|
+
iconRight: /* @__PURE__ */ jsx39(CaretRight4, { size: 18 }),
|
|
9067
9197
|
disabled: !currentAnswer && !isCurrentQuestionSkipped,
|
|
9068
9198
|
onClick: () => {
|
|
9069
9199
|
goToNextQuestion();
|
|
@@ -9071,7 +9201,7 @@ var QuizFooter = forwardRef19(
|
|
|
9071
9201
|
children: "Avan\xE7ar"
|
|
9072
9202
|
}
|
|
9073
9203
|
)
|
|
9074
|
-
] }) : /* @__PURE__ */
|
|
9204
|
+
] }) : /* @__PURE__ */ jsx39("div", { className: "flex flex-row items-center justify-end w-full", children: /* @__PURE__ */ jsx39(
|
|
9075
9205
|
Button_default,
|
|
9076
9206
|
{
|
|
9077
9207
|
variant: "solid",
|
|
@@ -9083,7 +9213,7 @@ var QuizFooter = forwardRef19(
|
|
|
9083
9213
|
) })
|
|
9084
9214
|
}
|
|
9085
9215
|
),
|
|
9086
|
-
/* @__PURE__ */
|
|
9216
|
+
/* @__PURE__ */ jsx39(
|
|
9087
9217
|
AlertDialog,
|
|
9088
9218
|
{
|
|
9089
9219
|
isOpen: alertDialogOpen,
|
|
@@ -9095,7 +9225,7 @@ var QuizFooter = forwardRef19(
|
|
|
9095
9225
|
onSubmit: handleAlertSubmit
|
|
9096
9226
|
}
|
|
9097
9227
|
),
|
|
9098
|
-
/* @__PURE__ */
|
|
9228
|
+
/* @__PURE__ */ jsx39(
|
|
9099
9229
|
Modal_default,
|
|
9100
9230
|
{
|
|
9101
9231
|
isOpen: modalResultOpen,
|
|
@@ -9105,8 +9235,8 @@ var QuizFooter = forwardRef19(
|
|
|
9105
9235
|
closeOnEscape: false,
|
|
9106
9236
|
hideCloseButton: true,
|
|
9107
9237
|
size: "md",
|
|
9108
|
-
children: /* @__PURE__ */
|
|
9109
|
-
/* @__PURE__ */
|
|
9238
|
+
children: /* @__PURE__ */ jsxs32("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
|
|
9239
|
+
/* @__PURE__ */ jsx39(
|
|
9110
9240
|
"img",
|
|
9111
9241
|
{
|
|
9112
9242
|
src: simulated_result_default,
|
|
@@ -9114,9 +9244,9 @@ var QuizFooter = forwardRef19(
|
|
|
9114
9244
|
className: "w-[282px] h-auto object-cover"
|
|
9115
9245
|
}
|
|
9116
9246
|
),
|
|
9117
|
-
/* @__PURE__ */
|
|
9118
|
-
/* @__PURE__ */
|
|
9119
|
-
/* @__PURE__ */
|
|
9247
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-2 text-center", children: [
|
|
9248
|
+
/* @__PURE__ */ jsx39("h2", { className: "text-text-950 font-bold text-lg", children: "Voc\xEA concluiu o simulado!" }),
|
|
9249
|
+
/* @__PURE__ */ jsxs32("p", { className: "text-text-500 font-sm", children: [
|
|
9120
9250
|
"Voc\xEA acertou",
|
|
9121
9251
|
" ",
|
|
9122
9252
|
(() => {
|
|
@@ -9138,8 +9268,8 @@ var QuizFooter = forwardRef19(
|
|
|
9138
9268
|
" quest\xF5es."
|
|
9139
9269
|
] })
|
|
9140
9270
|
] }),
|
|
9141
|
-
/* @__PURE__ */
|
|
9142
|
-
/* @__PURE__ */
|
|
9271
|
+
/* @__PURE__ */ jsxs32("div", { className: "px-6 flex flex-row items-center gap-2 w-full", children: [
|
|
9272
|
+
/* @__PURE__ */ jsx39(
|
|
9143
9273
|
Button_default,
|
|
9144
9274
|
{
|
|
9145
9275
|
variant: "outline",
|
|
@@ -9149,31 +9279,31 @@ var QuizFooter = forwardRef19(
|
|
|
9149
9279
|
children: "Ir para simulados"
|
|
9150
9280
|
}
|
|
9151
9281
|
),
|
|
9152
|
-
/* @__PURE__ */
|
|
9282
|
+
/* @__PURE__ */ jsx39(Button_default, { className: "w-full", onClick: onDetailResult, children: "Detalhar resultado" })
|
|
9153
9283
|
] })
|
|
9154
9284
|
] })
|
|
9155
9285
|
}
|
|
9156
9286
|
),
|
|
9157
|
-
/* @__PURE__ */
|
|
9287
|
+
/* @__PURE__ */ jsx39(
|
|
9158
9288
|
Modal_default,
|
|
9159
9289
|
{
|
|
9160
9290
|
isOpen: modalNavigateOpen,
|
|
9161
9291
|
onClose: () => setModalNavigateOpen(false),
|
|
9162
9292
|
title: "Quest\xF5es",
|
|
9163
9293
|
size: "lg",
|
|
9164
|
-
children: /* @__PURE__ */
|
|
9165
|
-
/* @__PURE__ */
|
|
9166
|
-
/* @__PURE__ */
|
|
9167
|
-
/* @__PURE__ */
|
|
9168
|
-
/* @__PURE__ */
|
|
9169
|
-
/* @__PURE__ */
|
|
9170
|
-
/* @__PURE__ */
|
|
9171
|
-
/* @__PURE__ */
|
|
9172
|
-
/* @__PURE__ */
|
|
9294
|
+
children: /* @__PURE__ */ jsxs32("div", { className: "flex flex-col w-full h-full", children: [
|
|
9295
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex flex-row justify-between items-center py-6 pt-6 pb-4 border-b border-border-200", children: [
|
|
9296
|
+
/* @__PURE__ */ jsx39("p", { className: "text-text-950 font-bold text-lg", children: "Filtrar por" }),
|
|
9297
|
+
/* @__PURE__ */ jsx39("span", { className: "max-w-[266px]", children: /* @__PURE__ */ jsxs32(Select_default, { value: filterType, onValueChange: setFilterType, children: [
|
|
9298
|
+
/* @__PURE__ */ jsx39(SelectTrigger, { variant: "rounded", className: "max-w-[266px]", children: /* @__PURE__ */ jsx39(SelectValue, { placeholder: "Selecione uma op\xE7\xE3o" }) }),
|
|
9299
|
+
/* @__PURE__ */ jsxs32(SelectContent, { children: [
|
|
9300
|
+
/* @__PURE__ */ jsx39(SelectItem, { value: "all", children: "Todas" }),
|
|
9301
|
+
/* @__PURE__ */ jsx39(SelectItem, { value: "unanswered", children: "Em branco" }),
|
|
9302
|
+
/* @__PURE__ */ jsx39(SelectItem, { value: "answered", children: "Respondidas" })
|
|
9173
9303
|
] })
|
|
9174
9304
|
] }) })
|
|
9175
9305
|
] }),
|
|
9176
|
-
/* @__PURE__ */
|
|
9306
|
+
/* @__PURE__ */ jsx39("div", { className: "flex flex-col gap-2 not-lg:h-[calc(100vh-200px)] lg:max-h-[687px] overflow-y-auto", children: /* @__PURE__ */ jsx39(
|
|
9177
9307
|
QuizQuestionList,
|
|
9178
9308
|
{
|
|
9179
9309
|
filterType,
|
|
@@ -9183,7 +9313,7 @@ var QuizFooter = forwardRef19(
|
|
|
9183
9313
|
] })
|
|
9184
9314
|
}
|
|
9185
9315
|
),
|
|
9186
|
-
/* @__PURE__ */
|
|
9316
|
+
/* @__PURE__ */ jsx39(
|
|
9187
9317
|
Modal_default,
|
|
9188
9318
|
{
|
|
9189
9319
|
isOpen: modalResolutionOpen,
|
|
@@ -9198,15 +9328,15 @@ var QuizFooter = forwardRef19(
|
|
|
9198
9328
|
);
|
|
9199
9329
|
var QuizResultHeaderTitle = forwardRef19(({ className, ...props }, ref) => {
|
|
9200
9330
|
const { bySimulated } = useQuizStore();
|
|
9201
|
-
return /* @__PURE__ */
|
|
9331
|
+
return /* @__PURE__ */ jsxs32(
|
|
9202
9332
|
"div",
|
|
9203
9333
|
{
|
|
9204
9334
|
ref,
|
|
9205
9335
|
className: cn("flex flex-row pt-4 justify-between", className),
|
|
9206
9336
|
...props,
|
|
9207
9337
|
children: [
|
|
9208
|
-
/* @__PURE__ */
|
|
9209
|
-
bySimulated && /* @__PURE__ */
|
|
9338
|
+
/* @__PURE__ */ jsx39("p", { className: "text-text-950 font-bold text-2xl", children: "Resultado" }),
|
|
9339
|
+
bySimulated && /* @__PURE__ */ jsx39(Badge_default, { variant: "solid", action: "info", children: bySimulated.category })
|
|
9210
9340
|
]
|
|
9211
9341
|
}
|
|
9212
9342
|
);
|
|
@@ -9214,7 +9344,7 @@ var QuizResultHeaderTitle = forwardRef19(({ className, ...props }, ref) => {
|
|
|
9214
9344
|
var QuizResultTitle = forwardRef19(({ className, ...props }, ref) => {
|
|
9215
9345
|
const { getQuizTitle } = useQuizStore();
|
|
9216
9346
|
const quizTitle = getQuizTitle();
|
|
9217
|
-
return /* @__PURE__ */
|
|
9347
|
+
return /* @__PURE__ */ jsx39(
|
|
9218
9348
|
"p",
|
|
9219
9349
|
{
|
|
9220
9350
|
className: cn("pt-6 pb-4 text-text-950 font-bold text-lg", className),
|
|
@@ -9270,15 +9400,15 @@ var QuizResultPerformance = forwardRef19(
|
|
|
9270
9400
|
});
|
|
9271
9401
|
}
|
|
9272
9402
|
const percentage = totalQuestions > 0 ? Math.round(correctAnswers / totalQuestions * 100) : 0;
|
|
9273
|
-
return /* @__PURE__ */
|
|
9403
|
+
return /* @__PURE__ */ jsxs32(
|
|
9274
9404
|
"div",
|
|
9275
9405
|
{
|
|
9276
9406
|
className: "flex flex-row gap-6 p-6 rounded-xl bg-background justify-between",
|
|
9277
9407
|
ref,
|
|
9278
9408
|
...props,
|
|
9279
9409
|
children: [
|
|
9280
|
-
/* @__PURE__ */
|
|
9281
|
-
/* @__PURE__ */
|
|
9410
|
+
/* @__PURE__ */ jsxs32("div", { className: "relative", children: [
|
|
9411
|
+
/* @__PURE__ */ jsx39(
|
|
9282
9412
|
ProgressCircle_default,
|
|
9283
9413
|
{
|
|
9284
9414
|
size: "medium",
|
|
@@ -9288,21 +9418,21 @@ var QuizResultPerformance = forwardRef19(
|
|
|
9288
9418
|
label: ""
|
|
9289
9419
|
}
|
|
9290
9420
|
),
|
|
9291
|
-
/* @__PURE__ */
|
|
9292
|
-
/* @__PURE__ */
|
|
9293
|
-
/* @__PURE__ */
|
|
9294
|
-
/* @__PURE__ */
|
|
9421
|
+
/* @__PURE__ */ jsxs32("div", { className: "absolute inset-0 flex flex-col items-center justify-center", children: [
|
|
9422
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-1 mb-1", children: [
|
|
9423
|
+
/* @__PURE__ */ jsx39(Clock2, { size: 12, weight: "regular", className: "text-text-800" }),
|
|
9424
|
+
/* @__PURE__ */ jsx39("span", { className: "text-2xs font-medium text-text-800", children: formatTime2(timeElapsed) })
|
|
9295
9425
|
] }),
|
|
9296
|
-
/* @__PURE__ */
|
|
9426
|
+
/* @__PURE__ */ jsxs32("div", { className: "text-2xl font-medium text-text-800 leading-7", children: [
|
|
9297
9427
|
correctAnswers,
|
|
9298
9428
|
" de ",
|
|
9299
9429
|
totalQuestions
|
|
9300
9430
|
] }),
|
|
9301
|
-
/* @__PURE__ */
|
|
9431
|
+
/* @__PURE__ */ jsx39("div", { className: "text-2xs font-medium text-text-600 mt-1", children: "Corretas" })
|
|
9302
9432
|
] })
|
|
9303
9433
|
] }),
|
|
9304
|
-
/* @__PURE__ */
|
|
9305
|
-
/* @__PURE__ */
|
|
9434
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex flex-col gap-4 w-full", children: [
|
|
9435
|
+
/* @__PURE__ */ jsx39(
|
|
9306
9436
|
ProgressBar_default,
|
|
9307
9437
|
{
|
|
9308
9438
|
className: "w-full",
|
|
@@ -9316,7 +9446,7 @@ var QuizResultPerformance = forwardRef19(
|
|
|
9316
9446
|
percentageClassName: "text-xs font-medium leading-[14px] text-right"
|
|
9317
9447
|
}
|
|
9318
9448
|
),
|
|
9319
|
-
/* @__PURE__ */
|
|
9449
|
+
/* @__PURE__ */ jsx39(
|
|
9320
9450
|
ProgressBar_default,
|
|
9321
9451
|
{
|
|
9322
9452
|
className: "w-full",
|
|
@@ -9330,7 +9460,7 @@ var QuizResultPerformance = forwardRef19(
|
|
|
9330
9460
|
percentageClassName: "text-xs font-medium leading-[14px] text-right"
|
|
9331
9461
|
}
|
|
9332
9462
|
),
|
|
9333
|
-
/* @__PURE__ */
|
|
9463
|
+
/* @__PURE__ */ jsx39(
|
|
9334
9464
|
ProgressBar_default,
|
|
9335
9465
|
{
|
|
9336
9466
|
className: "w-full",
|
|
@@ -9379,9 +9509,9 @@ var QuizListResult = forwardRef19(({ className, onSubjectClick, ...props }, ref)
|
|
|
9379
9509
|
};
|
|
9380
9510
|
}
|
|
9381
9511
|
);
|
|
9382
|
-
return /* @__PURE__ */
|
|
9383
|
-
/* @__PURE__ */
|
|
9384
|
-
/* @__PURE__ */
|
|
9512
|
+
return /* @__PURE__ */ jsxs32("section", { ref, className, ...props, children: [
|
|
9513
|
+
/* @__PURE__ */ jsx39("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Mat\xE9rias" }),
|
|
9514
|
+
/* @__PURE__ */ jsx39("ul", { className: "flex flex-col gap-2", children: subjectsStats.map((subject) => /* @__PURE__ */ jsx39("li", { children: /* @__PURE__ */ jsx39(
|
|
9385
9515
|
CardResults,
|
|
9386
9516
|
{
|
|
9387
9517
|
onClick: () => onSubjectClick?.(subject.subject),
|
|
@@ -9389,7 +9519,7 @@ var QuizListResult = forwardRef19(({ className, onSubjectClick, ...props }, ref)
|
|
|
9389
9519
|
header: subject.subject,
|
|
9390
9520
|
correct_answers: subject.correct,
|
|
9391
9521
|
incorrect_answers: subject.incorrect,
|
|
9392
|
-
icon: /* @__PURE__ */
|
|
9522
|
+
icon: /* @__PURE__ */ jsx39(Book, { size: 20 }),
|
|
9393
9523
|
direction: "row"
|
|
9394
9524
|
}
|
|
9395
9525
|
) }, subject.subject)) })
|
|
@@ -9406,13 +9536,13 @@ var QuizListResultByMateria = ({
|
|
|
9406
9536
|
} = useQuizStore();
|
|
9407
9537
|
const groupedQuestions = getQuestionsGroupedBySubject();
|
|
9408
9538
|
const answeredQuestions = groupedQuestions[subject] || [];
|
|
9409
|
-
return /* @__PURE__ */
|
|
9410
|
-
/* @__PURE__ */
|
|
9411
|
-
/* @__PURE__ */
|
|
9412
|
-
/* @__PURE__ */
|
|
9413
|
-
/* @__PURE__ */
|
|
9539
|
+
return /* @__PURE__ */ jsxs32("div", { className: "w-full max-w-[1000px] flex flex-col mx-auto h-full relative not-lg:px-6", children: [
|
|
9540
|
+
/* @__PURE__ */ jsx39("div", { className: "flex flex-row pt-4 justify-between", children: /* @__PURE__ */ jsx39("p", { className: "text-text-950 font-bold text-2xl", children: subject }) }),
|
|
9541
|
+
/* @__PURE__ */ jsxs32("section", { className: "flex flex-col ", children: [
|
|
9542
|
+
/* @__PURE__ */ jsx39("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Resultado das quest\xF5es" }),
|
|
9543
|
+
/* @__PURE__ */ jsx39("ul", { className: "flex flex-col gap-2 pt-4", children: answeredQuestions.map((question) => {
|
|
9414
9544
|
const questionIndex = getQuestionIndex(question.id);
|
|
9415
|
-
return /* @__PURE__ */
|
|
9545
|
+
return /* @__PURE__ */ jsx39("li", { children: /* @__PURE__ */ jsx39(
|
|
9416
9546
|
CardStatus,
|
|
9417
9547
|
{
|
|
9418
9548
|
className: "max-w-full",
|
|
@@ -9525,6 +9655,7 @@ export {
|
|
|
9525
9655
|
Toast_default as Toast,
|
|
9526
9656
|
Toaster_default as Toaster,
|
|
9527
9657
|
VideoPlayer_default as VideoPlayer,
|
|
9658
|
+
Whiteboard_default as Whiteboard,
|
|
9528
9659
|
createZustandAuthAdapter,
|
|
9529
9660
|
getRootDomain,
|
|
9530
9661
|
getStatusBadge,
|