analytica-frontend-lib 1.2.9 → 1.2.11
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/NoSearchResult/index.d.mts +37 -0
- package/dist/NoSearchResult/index.d.ts +37 -0
- package/dist/NoSearchResult/index.js +113 -0
- package/dist/NoSearchResult/index.js.map +1 -0
- package/dist/NoSearchResult/index.mjs +90 -0
- package/dist/NoSearchResult/index.mjs.map +1 -0
- package/dist/Quiz/index.js +38 -5
- package/dist/Quiz/index.js.map +1 -1
- package/dist/Quiz/index.mjs +38 -5
- package/dist/Quiz/index.mjs.map +1 -1
- package/dist/Quiz/useQuizStore/index.d.mts +3 -0
- package/dist/Quiz/useQuizStore/index.d.ts +3 -0
- package/dist/Quiz/useQuizStore/index.js +10 -2
- package/dist/Quiz/useQuizStore/index.js.map +1 -1
- package/dist/Quiz/useQuizStore/index.mjs +10 -2
- package/dist/Quiz/useQuizStore/index.mjs.map +1 -1
- package/dist/TextArea/index.d.mts +4 -0
- package/dist/TextArea/index.d.ts +4 -0
- package/dist/TextArea/index.js +22 -1
- package/dist/TextArea/index.js.map +1 -1
- package/dist/TextArea/index.mjs +22 -1
- package/dist/TextArea/index.mjs.map +1 -1
- package/dist/index.css +17 -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 +392 -328
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +391 -328
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +17 -0
- package/dist/styles.css.map +1 -1
- package/package.json +2 -1
package/dist/index.mjs
CHANGED
|
@@ -1864,11 +1864,16 @@ var TextArea = forwardRef7(
|
|
|
1864
1864
|
onChange,
|
|
1865
1865
|
placeholder,
|
|
1866
1866
|
required,
|
|
1867
|
+
showCharacterCount = false,
|
|
1868
|
+
maxLength,
|
|
1869
|
+
value,
|
|
1867
1870
|
...props
|
|
1868
1871
|
}, ref) => {
|
|
1869
1872
|
const generatedId = useId4();
|
|
1870
1873
|
const inputId = id ?? `textarea-${generatedId}`;
|
|
1871
1874
|
const [isFocused, setIsFocused] = useState5(false);
|
|
1875
|
+
const currentLength = typeof value === "string" ? value.length : 0;
|
|
1876
|
+
const isNearLimit = maxLength && currentLength >= maxLength * 0.8;
|
|
1872
1877
|
const handleChange = (event) => {
|
|
1873
1878
|
onChange?.(event);
|
|
1874
1879
|
};
|
|
@@ -1923,6 +1928,8 @@ var TextArea = forwardRef7(
|
|
|
1923
1928
|
className: textareaClasses,
|
|
1924
1929
|
placeholder,
|
|
1925
1930
|
required,
|
|
1931
|
+
maxLength,
|
|
1932
|
+
value,
|
|
1926
1933
|
...props
|
|
1927
1934
|
}
|
|
1928
1935
|
),
|
|
@@ -1931,7 +1938,21 @@ var TextArea = forwardRef7(
|
|
|
1931
1938
|
" ",
|
|
1932
1939
|
errorMessage
|
|
1933
1940
|
] }),
|
|
1934
|
-
|
|
1941
|
+
!errorMessage && showCharacterCount && maxLength && /* @__PURE__ */ jsxs10(
|
|
1942
|
+
Text_default,
|
|
1943
|
+
{
|
|
1944
|
+
size: "sm",
|
|
1945
|
+
weight: "normal",
|
|
1946
|
+
className: `mt-1.5 ${isNearLimit ? "text-indicator-warning" : "text-text-500"}`,
|
|
1947
|
+
children: [
|
|
1948
|
+
currentLength,
|
|
1949
|
+
"/",
|
|
1950
|
+
maxLength,
|
|
1951
|
+
" caracteres"
|
|
1952
|
+
]
|
|
1953
|
+
}
|
|
1954
|
+
),
|
|
1955
|
+
!errorMessage && helperMessage && !(showCharacterCount && maxLength) && /* @__PURE__ */ jsx14(Text_default, { size: "sm", weight: "normal", className: "mt-1.5 text-text-500", children: helperMessage })
|
|
1935
1956
|
] });
|
|
1936
1957
|
}
|
|
1937
1958
|
);
|
|
@@ -9004,6 +9025,35 @@ var NotFound = ({
|
|
|
9004
9025
|
};
|
|
9005
9026
|
var NotFound_default = NotFound;
|
|
9006
9027
|
|
|
9028
|
+
// src/components/NoSearchResult/NoSearchResult.tsx
|
|
9029
|
+
import { jsx as jsx46, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
9030
|
+
var NoSearchResult = ({ image, title, description }) => {
|
|
9031
|
+
const displayTitle = title || "Nenhum resultado encontrado";
|
|
9032
|
+
const displayDescription = description || "N\xE3o encontramos nenhum resultado com esse nome. Tente revisar a busca ou usar outra palavra-chave.";
|
|
9033
|
+
return /* @__PURE__ */ jsxs34("div", { className: "flex flex-row justify-center items-center gap-8 w-full max-w-4xl min-h-96", children: [
|
|
9034
|
+
/* @__PURE__ */ jsx46("div", { className: "w-72 h-72 flex-shrink-0 relative", children: /* @__PURE__ */ jsx46(
|
|
9035
|
+
"img",
|
|
9036
|
+
{
|
|
9037
|
+
src: image,
|
|
9038
|
+
alt: "No search results",
|
|
9039
|
+
className: "w-full h-full object-contain"
|
|
9040
|
+
}
|
|
9041
|
+
) }),
|
|
9042
|
+
/* @__PURE__ */ jsxs34("div", { className: "flex flex-col items-start w-full max-w-md", children: [
|
|
9043
|
+
/* @__PURE__ */ jsx46("div", { className: "flex flex-row justify-between items-end px-6 pt-6 pb-4 w-full rounded-t-xl", children: /* @__PURE__ */ jsx46(
|
|
9044
|
+
Text_default,
|
|
9045
|
+
{
|
|
9046
|
+
as: "h2",
|
|
9047
|
+
className: "text-text-950 font-semibold text-3xl leading-tight w-full flex items-center",
|
|
9048
|
+
children: displayTitle
|
|
9049
|
+
}
|
|
9050
|
+
) }),
|
|
9051
|
+
/* @__PURE__ */ jsx46("div", { className: "flex flex-row justify-center items-center px-6 gap-2 w-full", children: /* @__PURE__ */ jsx46(Text_default, { className: "text-text-600 font-normal text-lg leading-relaxed w-full text-justify", children: displayDescription }) })
|
|
9052
|
+
] })
|
|
9053
|
+
] });
|
|
9054
|
+
};
|
|
9055
|
+
var NoSearchResult_default = NoSearchResult;
|
|
9056
|
+
|
|
9007
9057
|
// src/components/VideoPlayer/VideoPlayer.tsx
|
|
9008
9058
|
import {
|
|
9009
9059
|
useRef as useRef11,
|
|
@@ -9026,7 +9076,7 @@ import {
|
|
|
9026
9076
|
// src/components/DownloadButton/DownloadButton.tsx
|
|
9027
9077
|
import { useCallback as useCallback2, useState as useState16 } from "react";
|
|
9028
9078
|
import { DownloadSimple } from "phosphor-react";
|
|
9029
|
-
import { jsx as
|
|
9079
|
+
import { jsx as jsx47 } from "react/jsx-runtime";
|
|
9030
9080
|
var getMimeType = (url) => {
|
|
9031
9081
|
const extension = getFileExtension(url);
|
|
9032
9082
|
const mimeTypes = {
|
|
@@ -9183,10 +9233,10 @@ var DownloadButton = ({
|
|
|
9183
9233
|
if (!hasContent) {
|
|
9184
9234
|
return null;
|
|
9185
9235
|
}
|
|
9186
|
-
return /* @__PURE__ */
|
|
9236
|
+
return /* @__PURE__ */ jsx47("div", { className: cn("flex items-center", className), children: /* @__PURE__ */ jsx47(
|
|
9187
9237
|
IconButton_default,
|
|
9188
9238
|
{
|
|
9189
|
-
icon: /* @__PURE__ */
|
|
9239
|
+
icon: /* @__PURE__ */ jsx47(DownloadSimple, { size: 24 }),
|
|
9190
9240
|
onClick: handleDownload,
|
|
9191
9241
|
disabled: disabled || isDownloading,
|
|
9192
9242
|
"aria-label": (() => {
|
|
@@ -9207,7 +9257,7 @@ var DownloadButton = ({
|
|
|
9207
9257
|
var DownloadButton_default = DownloadButton;
|
|
9208
9258
|
|
|
9209
9259
|
// src/components/VideoPlayer/VideoPlayer.tsx
|
|
9210
|
-
import { jsx as
|
|
9260
|
+
import { jsx as jsx48, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
9211
9261
|
var CONTROLS_HIDE_TIMEOUT = 3e3;
|
|
9212
9262
|
var LEAVE_HIDE_TIMEOUT = 1e3;
|
|
9213
9263
|
var INIT_DELAY = 100;
|
|
@@ -9223,7 +9273,7 @@ var ProgressBar2 = ({
|
|
|
9223
9273
|
progressPercentage,
|
|
9224
9274
|
onSeek,
|
|
9225
9275
|
className = "px-4 pb-2"
|
|
9226
|
-
}) => /* @__PURE__ */
|
|
9276
|
+
}) => /* @__PURE__ */ jsx48("div", { className, children: /* @__PURE__ */ jsx48(
|
|
9227
9277
|
"input",
|
|
9228
9278
|
{
|
|
9229
9279
|
type: "range",
|
|
@@ -9245,17 +9295,17 @@ var VolumeControls = ({
|
|
|
9245
9295
|
onToggleMute,
|
|
9246
9296
|
iconSize = 24,
|
|
9247
9297
|
showSlider = true
|
|
9248
|
-
}) => /* @__PURE__ */
|
|
9249
|
-
/* @__PURE__ */
|
|
9298
|
+
}) => /* @__PURE__ */ jsxs35("div", { className: "flex items-center gap-2", children: [
|
|
9299
|
+
/* @__PURE__ */ jsx48(
|
|
9250
9300
|
IconButton_default,
|
|
9251
9301
|
{
|
|
9252
|
-
icon: isMuted ? /* @__PURE__ */
|
|
9302
|
+
icon: isMuted ? /* @__PURE__ */ jsx48(SpeakerSlash, { size: iconSize }) : /* @__PURE__ */ jsx48(SpeakerHigh2, { size: iconSize }),
|
|
9253
9303
|
onClick: onToggleMute,
|
|
9254
9304
|
"aria-label": isMuted ? "Unmute" : "Mute",
|
|
9255
9305
|
className: "!bg-transparent !text-white hover:!bg-white/20"
|
|
9256
9306
|
}
|
|
9257
9307
|
),
|
|
9258
|
-
showSlider && /* @__PURE__ */
|
|
9308
|
+
showSlider && /* @__PURE__ */ jsx48(
|
|
9259
9309
|
"input",
|
|
9260
9310
|
{
|
|
9261
9311
|
type: "range",
|
|
@@ -9312,7 +9362,7 @@ var SpeedMenu = ({
|
|
|
9312
9362
|
document.removeEventListener("mousedown", handleClickOutside);
|
|
9313
9363
|
};
|
|
9314
9364
|
}, [showSpeedMenu, onToggleMenu]);
|
|
9315
|
-
const menuContent = /* @__PURE__ */
|
|
9365
|
+
const menuContent = /* @__PURE__ */ jsx48(
|
|
9316
9366
|
"div",
|
|
9317
9367
|
{
|
|
9318
9368
|
ref: speedMenuRef,
|
|
@@ -9323,7 +9373,7 @@ var SpeedMenu = ({
|
|
|
9323
9373
|
top: `${position.top}px`,
|
|
9324
9374
|
left: `${position.left}px`
|
|
9325
9375
|
},
|
|
9326
|
-
children: [0.5, 0.75, 1, 1.25, 1.5, 2].map((speed) => /* @__PURE__ */
|
|
9376
|
+
children: [0.5, 0.75, 1, 1.25, 1.5, 2].map((speed) => /* @__PURE__ */ jsxs35(
|
|
9327
9377
|
"button",
|
|
9328
9378
|
{
|
|
9329
9379
|
role: "menuitemradio",
|
|
@@ -9340,12 +9390,12 @@ var SpeedMenu = ({
|
|
|
9340
9390
|
}
|
|
9341
9391
|
);
|
|
9342
9392
|
const portalContent = showSpeedMenu && globalThis.window !== void 0 && globalThis.document !== void 0 && !!globalThis.document?.body ? createPortal(menuContent, globalThis.document.body) : null;
|
|
9343
|
-
return /* @__PURE__ */
|
|
9344
|
-
/* @__PURE__ */
|
|
9393
|
+
return /* @__PURE__ */ jsxs35("div", { className: "relative", ref: speedMenuContainerRef, children: [
|
|
9394
|
+
/* @__PURE__ */ jsx48(
|
|
9345
9395
|
IconButton_default,
|
|
9346
9396
|
{
|
|
9347
9397
|
ref: buttonRef,
|
|
9348
|
-
icon: /* @__PURE__ */
|
|
9398
|
+
icon: /* @__PURE__ */ jsx48(DotsThreeVertical3, { size: iconSize }),
|
|
9349
9399
|
onClick: onToggleMenu,
|
|
9350
9400
|
"aria-label": "Playback speed",
|
|
9351
9401
|
"aria-haspopup": "menu",
|
|
@@ -9861,10 +9911,10 @@ var VideoPlayer = ({
|
|
|
9861
9911
|
]
|
|
9862
9912
|
);
|
|
9863
9913
|
const groupedSubTitleValid = subtitles && subtitlesValidation === "valid";
|
|
9864
|
-
return /* @__PURE__ */
|
|
9865
|
-
(title || subtitleText) && /* @__PURE__ */
|
|
9866
|
-
/* @__PURE__ */
|
|
9867
|
-
title && /* @__PURE__ */
|
|
9914
|
+
return /* @__PURE__ */ jsxs35("div", { className: cn("flex flex-col", className), children: [
|
|
9915
|
+
(title || subtitleText) && /* @__PURE__ */ jsxs35("div", { className: "bg-subject-1 px-8 py-4 flex items-end justify-between min-h-20", children: [
|
|
9916
|
+
/* @__PURE__ */ jsxs35("div", { className: "flex flex-col gap-1", children: [
|
|
9917
|
+
title && /* @__PURE__ */ jsx48(
|
|
9868
9918
|
Text_default,
|
|
9869
9919
|
{
|
|
9870
9920
|
as: "h2",
|
|
@@ -9875,7 +9925,7 @@ var VideoPlayer = ({
|
|
|
9875
9925
|
children: title
|
|
9876
9926
|
}
|
|
9877
9927
|
),
|
|
9878
|
-
subtitleText && /* @__PURE__ */
|
|
9928
|
+
subtitleText && /* @__PURE__ */ jsx48(
|
|
9879
9929
|
Text_default,
|
|
9880
9930
|
{
|
|
9881
9931
|
as: "p",
|
|
@@ -9887,7 +9937,7 @@ var VideoPlayer = ({
|
|
|
9887
9937
|
}
|
|
9888
9938
|
)
|
|
9889
9939
|
] }),
|
|
9890
|
-
showDownloadButton && downloadContent && /* @__PURE__ */
|
|
9940
|
+
showDownloadButton && downloadContent && /* @__PURE__ */ jsx48(
|
|
9891
9941
|
DownloadButton_default,
|
|
9892
9942
|
{
|
|
9893
9943
|
content: downloadContent,
|
|
@@ -9899,7 +9949,7 @@ var VideoPlayer = ({
|
|
|
9899
9949
|
}
|
|
9900
9950
|
)
|
|
9901
9951
|
] }),
|
|
9902
|
-
/* @__PURE__ */
|
|
9952
|
+
/* @__PURE__ */ jsxs35(
|
|
9903
9953
|
"section",
|
|
9904
9954
|
{
|
|
9905
9955
|
className: cn(
|
|
@@ -9914,7 +9964,7 @@ var VideoPlayer = ({
|
|
|
9914
9964
|
onTouchStart: handleMouseEnter,
|
|
9915
9965
|
onMouseLeave: handleMouseLeave,
|
|
9916
9966
|
children: [
|
|
9917
|
-
/* @__PURE__ */
|
|
9967
|
+
/* @__PURE__ */ jsx48(
|
|
9918
9968
|
"video",
|
|
9919
9969
|
{
|
|
9920
9970
|
ref: videoRef,
|
|
@@ -9929,7 +9979,7 @@ var VideoPlayer = ({
|
|
|
9929
9979
|
onKeyDown: handleVideoKeyDown,
|
|
9930
9980
|
tabIndex: 0,
|
|
9931
9981
|
"aria-label": title ? `Video: ${title}` : "Video player",
|
|
9932
|
-
children: /* @__PURE__ */
|
|
9982
|
+
children: /* @__PURE__ */ jsx48(
|
|
9933
9983
|
"track",
|
|
9934
9984
|
{
|
|
9935
9985
|
ref: trackRef,
|
|
@@ -9942,17 +9992,17 @@ var VideoPlayer = ({
|
|
|
9942
9992
|
)
|
|
9943
9993
|
}
|
|
9944
9994
|
),
|
|
9945
|
-
!isPlaying && /* @__PURE__ */
|
|
9995
|
+
!isPlaying && /* @__PURE__ */ jsx48(
|
|
9946
9996
|
"div",
|
|
9947
9997
|
{
|
|
9948
9998
|
className: cn(
|
|
9949
9999
|
"absolute inset-0 flex bg-black/30 transition-opacity",
|
|
9950
10000
|
getCenterPlayButtonPosition()
|
|
9951
10001
|
),
|
|
9952
|
-
children: /* @__PURE__ */
|
|
10002
|
+
children: /* @__PURE__ */ jsx48(
|
|
9953
10003
|
IconButton_default,
|
|
9954
10004
|
{
|
|
9955
|
-
icon: /* @__PURE__ */
|
|
10005
|
+
icon: /* @__PURE__ */ jsx48(Play2, { size: 32, weight: "regular", className: "ml-1" }),
|
|
9956
10006
|
onClick: togglePlayPause,
|
|
9957
10007
|
"aria-label": "Play video",
|
|
9958
10008
|
className: "!bg-transparent !text-white !w-auto !h-auto hover:!bg-transparent hover:!text-gray-200"
|
|
@@ -9960,17 +10010,17 @@ var VideoPlayer = ({
|
|
|
9960
10010
|
)
|
|
9961
10011
|
}
|
|
9962
10012
|
),
|
|
9963
|
-
/* @__PURE__ */
|
|
10013
|
+
/* @__PURE__ */ jsx48(
|
|
9964
10014
|
"div",
|
|
9965
10015
|
{
|
|
9966
10016
|
className: cn(
|
|
9967
10017
|
"absolute top-0 left-0 right-0 p-4 bg-gradient-to-b from-black/70 to-transparent transition-opacity",
|
|
9968
10018
|
getTopControlsOpacity()
|
|
9969
10019
|
),
|
|
9970
|
-
children: /* @__PURE__ */
|
|
10020
|
+
children: /* @__PURE__ */ jsx48("div", { className: "flex justify-start", children: /* @__PURE__ */ jsx48(
|
|
9971
10021
|
IconButton_default,
|
|
9972
10022
|
{
|
|
9973
|
-
icon: isFullscreen ? /* @__PURE__ */
|
|
10023
|
+
icon: isFullscreen ? /* @__PURE__ */ jsx48(ArrowsInSimple, { size: 24 }) : /* @__PURE__ */ jsx48(ArrowsOutSimple, { size: 24 }),
|
|
9974
10024
|
onClick: toggleFullscreen,
|
|
9975
10025
|
"aria-label": isFullscreen ? "Exit fullscreen" : "Enter fullscreen",
|
|
9976
10026
|
className: "!bg-transparent !text-white hover:!bg-white/20"
|
|
@@ -9978,7 +10028,7 @@ var VideoPlayer = ({
|
|
|
9978
10028
|
) })
|
|
9979
10029
|
}
|
|
9980
10030
|
),
|
|
9981
|
-
/* @__PURE__ */
|
|
10031
|
+
/* @__PURE__ */ jsxs35(
|
|
9982
10032
|
"div",
|
|
9983
10033
|
{
|
|
9984
10034
|
className: cn(
|
|
@@ -9986,7 +10036,7 @@ var VideoPlayer = ({
|
|
|
9986
10036
|
getBottomControlsOpacity()
|
|
9987
10037
|
),
|
|
9988
10038
|
children: [
|
|
9989
|
-
/* @__PURE__ */
|
|
10039
|
+
/* @__PURE__ */ jsx48(
|
|
9990
10040
|
ProgressBar2,
|
|
9991
10041
|
{
|
|
9992
10042
|
currentTime,
|
|
@@ -9996,7 +10046,7 @@ var VideoPlayer = ({
|
|
|
9996
10046
|
className: getProgressBarPadding()
|
|
9997
10047
|
}
|
|
9998
10048
|
),
|
|
9999
|
-
/* @__PURE__ */
|
|
10049
|
+
/* @__PURE__ */ jsxs35(
|
|
10000
10050
|
"div",
|
|
10001
10051
|
{
|
|
10002
10052
|
className: cn(
|
|
@@ -10004,17 +10054,17 @@ var VideoPlayer = ({
|
|
|
10004
10054
|
getControlsPadding()
|
|
10005
10055
|
),
|
|
10006
10056
|
children: [
|
|
10007
|
-
/* @__PURE__ */
|
|
10008
|
-
/* @__PURE__ */
|
|
10057
|
+
/* @__PURE__ */ jsxs35("div", { className: cn("flex items-center", getControlsGap()), children: [
|
|
10058
|
+
/* @__PURE__ */ jsx48(
|
|
10009
10059
|
IconButton_default,
|
|
10010
10060
|
{
|
|
10011
|
-
icon: isPlaying ? /* @__PURE__ */
|
|
10061
|
+
icon: isPlaying ? /* @__PURE__ */ jsx48(Pause, { size: getIconSize2() }) : /* @__PURE__ */ jsx48(Play2, { size: getIconSize2() }),
|
|
10012
10062
|
onClick: togglePlayPause,
|
|
10013
10063
|
"aria-label": isPlaying ? "Pause" : "Play",
|
|
10014
10064
|
className: "!bg-transparent !text-white hover:!bg-white/20"
|
|
10015
10065
|
}
|
|
10016
10066
|
),
|
|
10017
|
-
/* @__PURE__ */
|
|
10067
|
+
/* @__PURE__ */ jsx48(
|
|
10018
10068
|
VolumeControls,
|
|
10019
10069
|
{
|
|
10020
10070
|
volume,
|
|
@@ -10025,10 +10075,10 @@ var VideoPlayer = ({
|
|
|
10025
10075
|
showSlider: !isUltraSmallMobile
|
|
10026
10076
|
}
|
|
10027
10077
|
),
|
|
10028
|
-
groupedSubTitleValid && /* @__PURE__ */
|
|
10078
|
+
groupedSubTitleValid && /* @__PURE__ */ jsx48(
|
|
10029
10079
|
IconButton_default,
|
|
10030
10080
|
{
|
|
10031
|
-
icon: /* @__PURE__ */
|
|
10081
|
+
icon: /* @__PURE__ */ jsx48(ClosedCaptioning, { size: getIconSize2() }),
|
|
10032
10082
|
onClick: toggleCaptions,
|
|
10033
10083
|
"aria-label": showCaptions ? "Hide captions" : "Show captions",
|
|
10034
10084
|
className: cn(
|
|
@@ -10037,13 +10087,13 @@ var VideoPlayer = ({
|
|
|
10037
10087
|
)
|
|
10038
10088
|
}
|
|
10039
10089
|
),
|
|
10040
|
-
/* @__PURE__ */
|
|
10090
|
+
/* @__PURE__ */ jsxs35(Text_default, { size: "sm", weight: "medium", color: "text-white", children: [
|
|
10041
10091
|
formatTime(currentTime),
|
|
10042
10092
|
" / ",
|
|
10043
10093
|
formatTime(duration)
|
|
10044
10094
|
] })
|
|
10045
10095
|
] }),
|
|
10046
|
-
/* @__PURE__ */
|
|
10096
|
+
/* @__PURE__ */ jsx48("div", { className: "flex items-center gap-4", children: /* @__PURE__ */ jsx48(
|
|
10047
10097
|
SpeedMenu,
|
|
10048
10098
|
{
|
|
10049
10099
|
showSpeedMenu,
|
|
@@ -10071,7 +10121,7 @@ var VideoPlayer_default = VideoPlayer;
|
|
|
10071
10121
|
// src/components/Whiteboard/Whiteboard.tsx
|
|
10072
10122
|
import { useCallback as useCallback4, useState as useState18 } from "react";
|
|
10073
10123
|
import { ArrowsOut } from "phosphor-react";
|
|
10074
|
-
import { Fragment as Fragment9, jsx as
|
|
10124
|
+
import { Fragment as Fragment9, jsx as jsx49, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
10075
10125
|
var IMAGE_WIDTH = 225;
|
|
10076
10126
|
var IMAGE_HEIGHT = 90;
|
|
10077
10127
|
var Whiteboard = ({
|
|
@@ -10109,7 +10159,7 @@ var Whiteboard = ({
|
|
|
10109
10159
|
4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"
|
|
10110
10160
|
}[imagesPerRow];
|
|
10111
10161
|
if (!images || images.length === 0) {
|
|
10112
|
-
return /* @__PURE__ */
|
|
10162
|
+
return /* @__PURE__ */ jsx49(
|
|
10113
10163
|
"div",
|
|
10114
10164
|
{
|
|
10115
10165
|
className: cn(
|
|
@@ -10117,11 +10167,11 @@ var Whiteboard = ({
|
|
|
10117
10167
|
className
|
|
10118
10168
|
),
|
|
10119
10169
|
...rest,
|
|
10120
|
-
children: /* @__PURE__ */
|
|
10170
|
+
children: /* @__PURE__ */ jsx49("p", { className: "text-gray-400 text-sm", children: "Nenhuma imagem dispon\xEDvel" })
|
|
10121
10171
|
}
|
|
10122
10172
|
);
|
|
10123
10173
|
}
|
|
10124
|
-
return /* @__PURE__ */
|
|
10174
|
+
return /* @__PURE__ */ jsx49(
|
|
10125
10175
|
"div",
|
|
10126
10176
|
{
|
|
10127
10177
|
className: cn(
|
|
@@ -10129,7 +10179,7 @@ var Whiteboard = ({
|
|
|
10129
10179
|
className
|
|
10130
10180
|
),
|
|
10131
10181
|
...rest,
|
|
10132
|
-
children: /* @__PURE__ */
|
|
10182
|
+
children: /* @__PURE__ */ jsx49("div", { className: cn("grid gap-4", gridColsClass), children: images.map((image) => /* @__PURE__ */ jsxs36(
|
|
10133
10183
|
"div",
|
|
10134
10184
|
{
|
|
10135
10185
|
className: "relative group overflow-hidden bg-gray-100 rounded-lg",
|
|
@@ -10137,7 +10187,7 @@ var Whiteboard = ({
|
|
|
10137
10187
|
width: `${IMAGE_WIDTH}px`
|
|
10138
10188
|
},
|
|
10139
10189
|
children: [
|
|
10140
|
-
/* @__PURE__ */
|
|
10190
|
+
/* @__PURE__ */ jsx49(
|
|
10141
10191
|
"div",
|
|
10142
10192
|
{
|
|
10143
10193
|
className: "relative",
|
|
@@ -10145,8 +10195,8 @@ var Whiteboard = ({
|
|
|
10145
10195
|
width: `${IMAGE_WIDTH}px`,
|
|
10146
10196
|
height: `${IMAGE_HEIGHT}px`
|
|
10147
10197
|
},
|
|
10148
|
-
children: imageErrors.has(image.id) ? /* @__PURE__ */
|
|
10149
|
-
/* @__PURE__ */
|
|
10198
|
+
children: imageErrors.has(image.id) ? /* @__PURE__ */ jsx49("div", { className: "absolute inset-0 flex items-center justify-center bg-gray-200", children: /* @__PURE__ */ jsx49("p", { className: "text-gray-500 text-sm text-center px-2", children: "Imagem indispon\xEDvel" }) }) : /* @__PURE__ */ jsxs36(Fragment9, { children: [
|
|
10199
|
+
/* @__PURE__ */ jsx49(
|
|
10150
10200
|
"img",
|
|
10151
10201
|
{
|
|
10152
10202
|
src: image.imageUrl,
|
|
@@ -10156,18 +10206,18 @@ var Whiteboard = ({
|
|
|
10156
10206
|
onError: () => handleImageError(image.id)
|
|
10157
10207
|
}
|
|
10158
10208
|
),
|
|
10159
|
-
/* @__PURE__ */
|
|
10209
|
+
/* @__PURE__ */ jsx49("div", { className: "absolute inset-0 bg-gradient-to-t from-black/20 to-transparent" })
|
|
10160
10210
|
] })
|
|
10161
10211
|
}
|
|
10162
10212
|
),
|
|
10163
|
-
showDownload && /* @__PURE__ */
|
|
10213
|
+
showDownload && /* @__PURE__ */ jsx49(
|
|
10164
10214
|
"button",
|
|
10165
10215
|
{
|
|
10166
10216
|
type: "button",
|
|
10167
10217
|
onClick: () => handleDownload(image),
|
|
10168
10218
|
className: "cursor-pointer 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",
|
|
10169
10219
|
"aria-label": `Download ${image.title || "imagem"}`,
|
|
10170
|
-
children: /* @__PURE__ */
|
|
10220
|
+
children: /* @__PURE__ */ jsx49(
|
|
10171
10221
|
ArrowsOut,
|
|
10172
10222
|
{
|
|
10173
10223
|
size: 24,
|
|
@@ -10196,7 +10246,7 @@ import {
|
|
|
10196
10246
|
useMemo as useMemo6
|
|
10197
10247
|
} from "react";
|
|
10198
10248
|
import { useLocation, Navigate } from "react-router-dom";
|
|
10199
|
-
import { Fragment as Fragment10, jsx as
|
|
10249
|
+
import { Fragment as Fragment10, jsx as jsx50 } from "react/jsx-runtime";
|
|
10200
10250
|
var AuthContext = createContext(void 0);
|
|
10201
10251
|
var AuthProvider = ({
|
|
10202
10252
|
children,
|
|
@@ -10266,7 +10316,7 @@ var AuthProvider = ({
|
|
|
10266
10316
|
}),
|
|
10267
10317
|
[authState, checkAuth, signOut]
|
|
10268
10318
|
);
|
|
10269
|
-
return /* @__PURE__ */
|
|
10319
|
+
return /* @__PURE__ */ jsx50(AuthContext.Provider, { value: contextValue, children });
|
|
10270
10320
|
};
|
|
10271
10321
|
var useAuth = () => {
|
|
10272
10322
|
const context = useContext(AuthContext);
|
|
@@ -10282,9 +10332,9 @@ var ProtectedRoute = ({
|
|
|
10282
10332
|
additionalCheck
|
|
10283
10333
|
}) => {
|
|
10284
10334
|
const { isAuthenticated, isLoading, ...authState } = useAuth();
|
|
10285
|
-
const defaultLoadingComponent = /* @__PURE__ */
|
|
10335
|
+
const defaultLoadingComponent = /* @__PURE__ */ jsx50("div", { className: "flex items-center justify-center min-h-screen", children: /* @__PURE__ */ jsx50("div", { className: "text-text-950 text-lg", children: "Carregando..." }) });
|
|
10286
10336
|
if (isLoading) {
|
|
10287
|
-
return /* @__PURE__ */
|
|
10337
|
+
return /* @__PURE__ */ jsx50(Fragment10, { children: loadingComponent || defaultLoadingComponent });
|
|
10288
10338
|
}
|
|
10289
10339
|
if (!isAuthenticated) {
|
|
10290
10340
|
if (typeof window !== "undefined") {
|
|
@@ -10295,12 +10345,12 @@ var ProtectedRoute = ({
|
|
|
10295
10345
|
return null;
|
|
10296
10346
|
}
|
|
10297
10347
|
}
|
|
10298
|
-
return /* @__PURE__ */
|
|
10348
|
+
return /* @__PURE__ */ jsx50(Navigate, { to: redirectTo, replace: true });
|
|
10299
10349
|
}
|
|
10300
10350
|
if (additionalCheck && !additionalCheck({ isAuthenticated, isLoading, ...authState })) {
|
|
10301
|
-
return /* @__PURE__ */
|
|
10351
|
+
return /* @__PURE__ */ jsx50(Navigate, { to: redirectTo, replace: true });
|
|
10302
10352
|
}
|
|
10303
|
-
return /* @__PURE__ */
|
|
10353
|
+
return /* @__PURE__ */ jsx50(Fragment10, { children });
|
|
10304
10354
|
};
|
|
10305
10355
|
var PublicRoute = ({
|
|
10306
10356
|
children,
|
|
@@ -10310,15 +10360,15 @@ var PublicRoute = ({
|
|
|
10310
10360
|
}) => {
|
|
10311
10361
|
const { isAuthenticated, isLoading } = useAuth();
|
|
10312
10362
|
if (checkAuthBeforeRender && isLoading) {
|
|
10313
|
-
return /* @__PURE__ */
|
|
10363
|
+
return /* @__PURE__ */ jsx50("div", { className: "flex items-center justify-center min-h-screen", children: /* @__PURE__ */ jsx50("div", { className: "text-text-950 text-lg", children: "Carregando..." }) });
|
|
10314
10364
|
}
|
|
10315
10365
|
if (isAuthenticated && redirectIfAuthenticated) {
|
|
10316
|
-
return /* @__PURE__ */
|
|
10366
|
+
return /* @__PURE__ */ jsx50(Navigate, { to: redirectTo, replace: true });
|
|
10317
10367
|
}
|
|
10318
|
-
return /* @__PURE__ */
|
|
10368
|
+
return /* @__PURE__ */ jsx50(Fragment10, { children });
|
|
10319
10369
|
};
|
|
10320
10370
|
var withAuth = (Component, options = {}) => {
|
|
10321
|
-
return (props) => /* @__PURE__ */
|
|
10371
|
+
return (props) => /* @__PURE__ */ jsx50(ProtectedRoute, { ...options, children: /* @__PURE__ */ jsx50(Component, { ...props }) });
|
|
10322
10372
|
};
|
|
10323
10373
|
var useAuthGuard = (options = {}) => {
|
|
10324
10374
|
const authState = useAuth();
|
|
@@ -10333,7 +10383,7 @@ var useAuthGuard = (options = {}) => {
|
|
|
10333
10383
|
var useRouteAuth = (fallbackPath = "/") => {
|
|
10334
10384
|
const { isAuthenticated, isLoading } = useAuth();
|
|
10335
10385
|
const location = useLocation();
|
|
10336
|
-
const redirectToLogin = () => /* @__PURE__ */
|
|
10386
|
+
const redirectToLogin = () => /* @__PURE__ */ jsx50(Navigate, { to: fallbackPath, state: { from: location }, replace: true });
|
|
10337
10387
|
return {
|
|
10338
10388
|
isAuthenticated,
|
|
10339
10389
|
isLoading,
|
|
@@ -10374,7 +10424,7 @@ import {
|
|
|
10374
10424
|
useEffect as useEffect19
|
|
10375
10425
|
} from "react";
|
|
10376
10426
|
import { CaretRight as CaretRight4 } from "phosphor-react";
|
|
10377
|
-
import { jsx as
|
|
10427
|
+
import { jsx as jsx51, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
10378
10428
|
var CardAccordation = forwardRef18(
|
|
10379
10429
|
({
|
|
10380
10430
|
trigger,
|
|
@@ -10413,7 +10463,7 @@ var CardAccordation = forwardRef18(
|
|
|
10413
10463
|
handleToggle();
|
|
10414
10464
|
}
|
|
10415
10465
|
};
|
|
10416
|
-
return /* @__PURE__ */
|
|
10466
|
+
return /* @__PURE__ */ jsxs37(
|
|
10417
10467
|
CardBase,
|
|
10418
10468
|
{
|
|
10419
10469
|
ref,
|
|
@@ -10423,7 +10473,7 @@ var CardAccordation = forwardRef18(
|
|
|
10423
10473
|
className: cn("overflow-hidden", className),
|
|
10424
10474
|
...props,
|
|
10425
10475
|
children: [
|
|
10426
|
-
/* @__PURE__ */
|
|
10476
|
+
/* @__PURE__ */ jsxs37(
|
|
10427
10477
|
"button",
|
|
10428
10478
|
{
|
|
10429
10479
|
id: headerId,
|
|
@@ -10441,7 +10491,7 @@ var CardAccordation = forwardRef18(
|
|
|
10441
10491
|
"data-value": value,
|
|
10442
10492
|
children: [
|
|
10443
10493
|
trigger,
|
|
10444
|
-
/* @__PURE__ */
|
|
10494
|
+
/* @__PURE__ */ jsx51(
|
|
10445
10495
|
CaretRight4,
|
|
10446
10496
|
{
|
|
10447
10497
|
size: 20,
|
|
@@ -10456,7 +10506,7 @@ var CardAccordation = forwardRef18(
|
|
|
10456
10506
|
]
|
|
10457
10507
|
}
|
|
10458
10508
|
),
|
|
10459
|
-
/* @__PURE__ */
|
|
10509
|
+
/* @__PURE__ */ jsx51(
|
|
10460
10510
|
"section",
|
|
10461
10511
|
{
|
|
10462
10512
|
id: contentId,
|
|
@@ -10468,7 +10518,7 @@ var CardAccordation = forwardRef18(
|
|
|
10468
10518
|
),
|
|
10469
10519
|
"data-testid": "accordion-content",
|
|
10470
10520
|
"data-value": value,
|
|
10471
|
-
children: /* @__PURE__ */
|
|
10521
|
+
children: /* @__PURE__ */ jsx51("div", { className: "p-4 pt-0", children })
|
|
10472
10522
|
}
|
|
10473
10523
|
)
|
|
10474
10524
|
]
|
|
@@ -10489,7 +10539,7 @@ import {
|
|
|
10489
10539
|
useState as useState21
|
|
10490
10540
|
} from "react";
|
|
10491
10541
|
import { create as create9 } from "zustand";
|
|
10492
|
-
import { jsx as
|
|
10542
|
+
import { jsx as jsx52 } from "react/jsx-runtime";
|
|
10493
10543
|
function createAccordionGroupStore(type, initialValue, collapsible) {
|
|
10494
10544
|
return create9((set, get) => ({
|
|
10495
10545
|
type,
|
|
@@ -10629,7 +10679,7 @@ var AccordionGroup = forwardRef19(
|
|
|
10629
10679
|
indexRef,
|
|
10630
10680
|
handleItemToggle
|
|
10631
10681
|
);
|
|
10632
|
-
return /* @__PURE__ */
|
|
10682
|
+
return /* @__PURE__ */ jsx52("div", { ref, className, ...props, children: enhancedChildren });
|
|
10633
10683
|
}
|
|
10634
10684
|
);
|
|
10635
10685
|
AccordionGroup.displayName = "AccordionGroup";
|
|
@@ -10637,7 +10687,7 @@ AccordionGroup.displayName = "AccordionGroup";
|
|
|
10637
10687
|
// src/components/Alternative/Alternative.tsx
|
|
10638
10688
|
import { CheckCircle as CheckCircle4, XCircle as XCircle3 } from "phosphor-react";
|
|
10639
10689
|
import { forwardRef as forwardRef20, useId as useId10, useState as useState22 } from "react";
|
|
10640
|
-
import { jsx as
|
|
10690
|
+
import { jsx as jsx53, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
10641
10691
|
var AlternativesList = ({
|
|
10642
10692
|
alternatives,
|
|
10643
10693
|
name,
|
|
@@ -10668,9 +10718,9 @@ var AlternativesList = ({
|
|
|
10668
10718
|
const getStatusBadge2 = (status) => {
|
|
10669
10719
|
switch (status) {
|
|
10670
10720
|
case "correct":
|
|
10671
|
-
return /* @__PURE__ */
|
|
10721
|
+
return /* @__PURE__ */ jsx53(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx53(CheckCircle4, {}), children: "Resposta correta" });
|
|
10672
10722
|
case "incorrect":
|
|
10673
|
-
return /* @__PURE__ */
|
|
10723
|
+
return /* @__PURE__ */ jsx53(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx53(XCircle3, {}), children: "Resposta incorreta" });
|
|
10674
10724
|
default:
|
|
10675
10725
|
return null;
|
|
10676
10726
|
}
|
|
@@ -10700,10 +10750,10 @@ var AlternativesList = ({
|
|
|
10700
10750
|
const renderRadio = () => {
|
|
10701
10751
|
const radioClasses = `w-6 h-6 rounded-full border-2 cursor-default transition-all duration-200 flex items-center justify-center ${isUserSelected ? "border-primary-950 bg-background" : "border-border-400 bg-background"}`;
|
|
10702
10752
|
const dotClasses = "w-3 h-3 rounded-full bg-primary-950 transition-all duration-200";
|
|
10703
|
-
return /* @__PURE__ */
|
|
10753
|
+
return /* @__PURE__ */ jsx53("div", { className: radioClasses, children: isUserSelected && /* @__PURE__ */ jsx53("div", { className: dotClasses }) });
|
|
10704
10754
|
};
|
|
10705
10755
|
if (layout === "detailed") {
|
|
10706
|
-
return /* @__PURE__ */
|
|
10756
|
+
return /* @__PURE__ */ jsx53(
|
|
10707
10757
|
"div",
|
|
10708
10758
|
{
|
|
10709
10759
|
className: cn(
|
|
@@ -10711,11 +10761,11 @@ var AlternativesList = ({
|
|
|
10711
10761
|
statusStyles,
|
|
10712
10762
|
alternative.disabled ? "opacity-50" : ""
|
|
10713
10763
|
),
|
|
10714
|
-
children: /* @__PURE__ */
|
|
10715
|
-
/* @__PURE__ */
|
|
10716
|
-
/* @__PURE__ */
|
|
10717
|
-
/* @__PURE__ */
|
|
10718
|
-
/* @__PURE__ */
|
|
10764
|
+
children: /* @__PURE__ */ jsxs38("div", { className: "flex items-start justify-between gap-3", children: [
|
|
10765
|
+
/* @__PURE__ */ jsxs38("div", { className: "flex items-start gap-3 flex-1", children: [
|
|
10766
|
+
/* @__PURE__ */ jsx53("div", { className: "mt-1", children: renderRadio() }),
|
|
10767
|
+
/* @__PURE__ */ jsxs38("div", { className: "flex-1", children: [
|
|
10768
|
+
/* @__PURE__ */ jsx53(
|
|
10719
10769
|
"p",
|
|
10720
10770
|
{
|
|
10721
10771
|
className: cn(
|
|
@@ -10725,16 +10775,16 @@ var AlternativesList = ({
|
|
|
10725
10775
|
children: alternative.label
|
|
10726
10776
|
}
|
|
10727
10777
|
),
|
|
10728
|
-
alternative.description && /* @__PURE__ */
|
|
10778
|
+
alternative.description && /* @__PURE__ */ jsx53("p", { className: "text-sm text-text-600 mt-1", children: alternative.description })
|
|
10729
10779
|
] })
|
|
10730
10780
|
] }),
|
|
10731
|
-
statusBadge && /* @__PURE__ */
|
|
10781
|
+
statusBadge && /* @__PURE__ */ jsx53("div", { className: "flex-shrink-0", children: statusBadge })
|
|
10732
10782
|
] })
|
|
10733
10783
|
},
|
|
10734
10784
|
alternativeId
|
|
10735
10785
|
);
|
|
10736
10786
|
}
|
|
10737
|
-
return /* @__PURE__ */
|
|
10787
|
+
return /* @__PURE__ */ jsxs38(
|
|
10738
10788
|
"div",
|
|
10739
10789
|
{
|
|
10740
10790
|
className: cn(
|
|
@@ -10743,9 +10793,9 @@ var AlternativesList = ({
|
|
|
10743
10793
|
alternative.disabled ? "opacity-50" : ""
|
|
10744
10794
|
),
|
|
10745
10795
|
children: [
|
|
10746
|
-
/* @__PURE__ */
|
|
10796
|
+
/* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-2 flex-1", children: [
|
|
10747
10797
|
renderRadio(),
|
|
10748
|
-
/* @__PURE__ */
|
|
10798
|
+
/* @__PURE__ */ jsx53(
|
|
10749
10799
|
"span",
|
|
10750
10800
|
{
|
|
10751
10801
|
className: cn(
|
|
@@ -10756,14 +10806,14 @@ var AlternativesList = ({
|
|
|
10756
10806
|
}
|
|
10757
10807
|
)
|
|
10758
10808
|
] }),
|
|
10759
|
-
statusBadge && /* @__PURE__ */
|
|
10809
|
+
statusBadge && /* @__PURE__ */ jsx53("div", { className: "flex-shrink-0", children: statusBadge })
|
|
10760
10810
|
]
|
|
10761
10811
|
},
|
|
10762
10812
|
alternativeId
|
|
10763
10813
|
);
|
|
10764
10814
|
};
|
|
10765
10815
|
if (isReadonly) {
|
|
10766
|
-
return /* @__PURE__ */
|
|
10816
|
+
return /* @__PURE__ */ jsx53(
|
|
10767
10817
|
"div",
|
|
10768
10818
|
{
|
|
10769
10819
|
className: cn("flex flex-col", getLayoutClasses(), "w-full", className),
|
|
@@ -10773,7 +10823,7 @@ var AlternativesList = ({
|
|
|
10773
10823
|
}
|
|
10774
10824
|
);
|
|
10775
10825
|
}
|
|
10776
|
-
return /* @__PURE__ */
|
|
10826
|
+
return /* @__PURE__ */ jsx53(
|
|
10777
10827
|
RadioGroup,
|
|
10778
10828
|
{
|
|
10779
10829
|
name: groupName,
|
|
@@ -10790,7 +10840,7 @@ var AlternativesList = ({
|
|
|
10790
10840
|
const statusStyles = getStatusStyles2(alternative.status, false);
|
|
10791
10841
|
const statusBadge = getStatusBadge2(alternative.status);
|
|
10792
10842
|
if (layout === "detailed") {
|
|
10793
|
-
return /* @__PURE__ */
|
|
10843
|
+
return /* @__PURE__ */ jsx53(
|
|
10794
10844
|
"div",
|
|
10795
10845
|
{
|
|
10796
10846
|
className: cn(
|
|
@@ -10798,9 +10848,9 @@ var AlternativesList = ({
|
|
|
10798
10848
|
statusStyles,
|
|
10799
10849
|
alternative.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"
|
|
10800
10850
|
),
|
|
10801
|
-
children: /* @__PURE__ */
|
|
10802
|
-
/* @__PURE__ */
|
|
10803
|
-
/* @__PURE__ */
|
|
10851
|
+
children: /* @__PURE__ */ jsxs38("div", { className: "flex items-start justify-between gap-3", children: [
|
|
10852
|
+
/* @__PURE__ */ jsxs38("div", { className: "flex items-start gap-3 flex-1", children: [
|
|
10853
|
+
/* @__PURE__ */ jsx53(
|
|
10804
10854
|
RadioGroupItem,
|
|
10805
10855
|
{
|
|
10806
10856
|
value: alternative.value,
|
|
@@ -10809,8 +10859,8 @@ var AlternativesList = ({
|
|
|
10809
10859
|
className: "mt-1"
|
|
10810
10860
|
}
|
|
10811
10861
|
),
|
|
10812
|
-
/* @__PURE__ */
|
|
10813
|
-
/* @__PURE__ */
|
|
10862
|
+
/* @__PURE__ */ jsxs38("div", { className: "flex-1", children: [
|
|
10863
|
+
/* @__PURE__ */ jsx53(
|
|
10814
10864
|
"label",
|
|
10815
10865
|
{
|
|
10816
10866
|
htmlFor: alternativeId,
|
|
@@ -10822,16 +10872,16 @@ var AlternativesList = ({
|
|
|
10822
10872
|
children: alternative.label
|
|
10823
10873
|
}
|
|
10824
10874
|
),
|
|
10825
|
-
alternative.description && /* @__PURE__ */
|
|
10875
|
+
alternative.description && /* @__PURE__ */ jsx53("p", { className: "text-sm text-text-600 mt-1", children: alternative.description })
|
|
10826
10876
|
] })
|
|
10827
10877
|
] }),
|
|
10828
|
-
statusBadge && /* @__PURE__ */
|
|
10878
|
+
statusBadge && /* @__PURE__ */ jsx53("div", { className: "flex-shrink-0", children: statusBadge })
|
|
10829
10879
|
] })
|
|
10830
10880
|
},
|
|
10831
10881
|
alternativeId
|
|
10832
10882
|
);
|
|
10833
10883
|
}
|
|
10834
|
-
return /* @__PURE__ */
|
|
10884
|
+
return /* @__PURE__ */ jsxs38(
|
|
10835
10885
|
"div",
|
|
10836
10886
|
{
|
|
10837
10887
|
className: cn(
|
|
@@ -10840,8 +10890,8 @@ var AlternativesList = ({
|
|
|
10840
10890
|
alternative.disabled ? "opacity-50 cursor-not-allowed" : ""
|
|
10841
10891
|
),
|
|
10842
10892
|
children: [
|
|
10843
|
-
/* @__PURE__ */
|
|
10844
|
-
/* @__PURE__ */
|
|
10893
|
+
/* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-2 flex-1", children: [
|
|
10894
|
+
/* @__PURE__ */ jsx53(
|
|
10845
10895
|
RadioGroupItem,
|
|
10846
10896
|
{
|
|
10847
10897
|
value: alternative.value,
|
|
@@ -10849,7 +10899,7 @@ var AlternativesList = ({
|
|
|
10849
10899
|
disabled: alternative.disabled
|
|
10850
10900
|
}
|
|
10851
10901
|
),
|
|
10852
|
-
/* @__PURE__ */
|
|
10902
|
+
/* @__PURE__ */ jsx53(
|
|
10853
10903
|
"label",
|
|
10854
10904
|
{
|
|
10855
10905
|
htmlFor: alternativeId,
|
|
@@ -10862,7 +10912,7 @@ var AlternativesList = ({
|
|
|
10862
10912
|
}
|
|
10863
10913
|
)
|
|
10864
10914
|
] }),
|
|
10865
|
-
statusBadge && /* @__PURE__ */
|
|
10915
|
+
statusBadge && /* @__PURE__ */ jsx53("div", { className: "flex-shrink-0", children: statusBadge })
|
|
10866
10916
|
]
|
|
10867
10917
|
},
|
|
10868
10918
|
alternativeId
|
|
@@ -10873,7 +10923,7 @@ var AlternativesList = ({
|
|
|
10873
10923
|
};
|
|
10874
10924
|
var HeaderAlternative = forwardRef20(
|
|
10875
10925
|
({ className, title, subTitle, content, ...props }, ref) => {
|
|
10876
|
-
return /* @__PURE__ */
|
|
10926
|
+
return /* @__PURE__ */ jsxs38(
|
|
10877
10927
|
"div",
|
|
10878
10928
|
{
|
|
10879
10929
|
ref,
|
|
@@ -10883,11 +10933,11 @@ var HeaderAlternative = forwardRef20(
|
|
|
10883
10933
|
),
|
|
10884
10934
|
...props,
|
|
10885
10935
|
children: [
|
|
10886
|
-
/* @__PURE__ */
|
|
10887
|
-
/* @__PURE__ */
|
|
10888
|
-
/* @__PURE__ */
|
|
10936
|
+
/* @__PURE__ */ jsxs38("span", { className: "flex flex-col", children: [
|
|
10937
|
+
/* @__PURE__ */ jsx53("p", { className: "text-text-950 font-bold text-lg", children: title }),
|
|
10938
|
+
/* @__PURE__ */ jsx53("p", { className: "text-text-700 text-sm ", children: subTitle })
|
|
10889
10939
|
] }),
|
|
10890
|
-
/* @__PURE__ */
|
|
10940
|
+
/* @__PURE__ */ jsx53("p", { className: "text-text-950 text-md", children: content })
|
|
10891
10941
|
]
|
|
10892
10942
|
}
|
|
10893
10943
|
);
|
|
@@ -11194,6 +11244,7 @@ var useQuizStore = create10()(
|
|
|
11194
11244
|
userId: "",
|
|
11195
11245
|
variant: "default",
|
|
11196
11246
|
minuteCallback: null,
|
|
11247
|
+
dissertativeCharLimit: void 0,
|
|
11197
11248
|
questionsResult: null,
|
|
11198
11249
|
currentQuestionResult: null,
|
|
11199
11250
|
// Setters
|
|
@@ -11203,6 +11254,8 @@ var useQuizStore = create10()(
|
|
|
11203
11254
|
getUserId: () => get().userId,
|
|
11204
11255
|
setVariant: (variant) => set({ variant }),
|
|
11205
11256
|
setQuestionResult: (questionsResult) => set({ questionsResult }),
|
|
11257
|
+
setDissertativeCharLimit: (limit) => set({ dissertativeCharLimit: limit }),
|
|
11258
|
+
getDissertativeCharLimit: () => get().dissertativeCharLimit,
|
|
11206
11259
|
// Navigation
|
|
11207
11260
|
goToNextQuestion: () => {
|
|
11208
11261
|
const { currentQuestionIndex, getTotalQuestions } = get();
|
|
@@ -11292,7 +11345,7 @@ var useQuizStore = create10()(
|
|
|
11292
11345
|
});
|
|
11293
11346
|
},
|
|
11294
11347
|
selectDissertativeAnswer: (questionId, answer) => {
|
|
11295
|
-
const { quiz, userAnswers } = get();
|
|
11348
|
+
const { quiz, userAnswers, dissertativeCharLimit } = get();
|
|
11296
11349
|
if (!quiz) return;
|
|
11297
11350
|
const activityId = quiz.id;
|
|
11298
11351
|
const userId = get().getUserId();
|
|
@@ -11303,6 +11356,10 @@ var useQuizStore = create10()(
|
|
|
11303
11356
|
if (!question || question.questionType !== "DISSERTATIVA" /* DISSERTATIVA */) {
|
|
11304
11357
|
return;
|
|
11305
11358
|
}
|
|
11359
|
+
let validatedAnswer = answer;
|
|
11360
|
+
if (dissertativeCharLimit !== void 0 && answer.length > dissertativeCharLimit) {
|
|
11361
|
+
validatedAnswer = answer.substring(0, dissertativeCharLimit);
|
|
11362
|
+
}
|
|
11306
11363
|
const existingAnswerIndex = userAnswers.findIndex(
|
|
11307
11364
|
(answerItem) => answerItem.questionId === questionId
|
|
11308
11365
|
);
|
|
@@ -11310,7 +11367,7 @@ var useQuizStore = create10()(
|
|
|
11310
11367
|
questionId,
|
|
11311
11368
|
activityId,
|
|
11312
11369
|
userId,
|
|
11313
|
-
answer,
|
|
11370
|
+
answer: validatedAnswer,
|
|
11314
11371
|
optionId: null,
|
|
11315
11372
|
questionType: "DISSERTATIVA" /* DISSERTATIVA */,
|
|
11316
11373
|
answerStatus: "PENDENTE_AVALIACAO" /* PENDENTE_AVALIACAO */
|
|
@@ -11423,6 +11480,7 @@ var useQuizStore = create10()(
|
|
|
11423
11480
|
userId: "",
|
|
11424
11481
|
variant: "default",
|
|
11425
11482
|
minuteCallback: null,
|
|
11483
|
+
dissertativeCharLimit: void 0,
|
|
11426
11484
|
questionsResult: null,
|
|
11427
11485
|
currentQuestionResult: null
|
|
11428
11486
|
});
|
|
@@ -11694,7 +11752,7 @@ import {
|
|
|
11694
11752
|
// src/components/MultipleChoice/MultipleChoice.tsx
|
|
11695
11753
|
import { useEffect as useEffect22, useState as useState23 } from "react";
|
|
11696
11754
|
import { CheckCircle as CheckCircle5, XCircle as XCircle4, Check as Check5 } from "phosphor-react";
|
|
11697
|
-
import { jsx as
|
|
11755
|
+
import { jsx as jsx54, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
11698
11756
|
var MultipleChoiceList = ({
|
|
11699
11757
|
disabled = false,
|
|
11700
11758
|
className = "",
|
|
@@ -11711,9 +11769,9 @@ var MultipleChoiceList = ({
|
|
|
11711
11769
|
const getStatusBadge2 = (status) => {
|
|
11712
11770
|
switch (status) {
|
|
11713
11771
|
case "correct":
|
|
11714
|
-
return /* @__PURE__ */
|
|
11772
|
+
return /* @__PURE__ */ jsx54(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx54(CheckCircle5, {}), children: "Resposta correta" });
|
|
11715
11773
|
case "incorrect":
|
|
11716
|
-
return /* @__PURE__ */
|
|
11774
|
+
return /* @__PURE__ */ jsx54(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx54(XCircle4, {}), children: "Resposta incorreta" });
|
|
11717
11775
|
default:
|
|
11718
11776
|
return null;
|
|
11719
11777
|
}
|
|
@@ -11734,14 +11792,14 @@ var MultipleChoiceList = ({
|
|
|
11734
11792
|
isSelected ? "border-primary-950 bg-primary-950 text-text" : "border-border-400 bg-background",
|
|
11735
11793
|
isDisabled && "opacity-40 cursor-not-allowed"
|
|
11736
11794
|
);
|
|
11737
|
-
return /* @__PURE__ */
|
|
11795
|
+
return /* @__PURE__ */ jsx54("div", { className: checkboxClasses, children: isSelected && /* @__PURE__ */ jsx54(Check5, { size: 16, weight: "bold" }) });
|
|
11738
11796
|
};
|
|
11739
11797
|
if (mode === "readonly") {
|
|
11740
|
-
return /* @__PURE__ */
|
|
11798
|
+
return /* @__PURE__ */ jsx54("div", { className: cn("flex flex-col gap-2", className), children: choices.map((choice, i) => {
|
|
11741
11799
|
const isSelected = actualValue?.includes(choice.value) || false;
|
|
11742
11800
|
const statusStyles = getStatusStyles2(choice.status);
|
|
11743
11801
|
const statusBadge = getStatusBadge2(choice.status);
|
|
11744
|
-
return /* @__PURE__ */
|
|
11802
|
+
return /* @__PURE__ */ jsxs39(
|
|
11745
11803
|
"div",
|
|
11746
11804
|
{
|
|
11747
11805
|
className: cn(
|
|
@@ -11750,9 +11808,9 @@ var MultipleChoiceList = ({
|
|
|
11750
11808
|
choice.disabled ? "opacity-50 cursor-not-allowed" : ""
|
|
11751
11809
|
),
|
|
11752
11810
|
children: [
|
|
11753
|
-
/* @__PURE__ */
|
|
11811
|
+
/* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-2 flex-1", children: [
|
|
11754
11812
|
renderVisualCheckbox(isSelected, choice.disabled || disabled),
|
|
11755
|
-
/* @__PURE__ */
|
|
11813
|
+
/* @__PURE__ */ jsx54(
|
|
11756
11814
|
"span",
|
|
11757
11815
|
{
|
|
11758
11816
|
className: cn(
|
|
@@ -11764,14 +11822,14 @@ var MultipleChoiceList = ({
|
|
|
11764
11822
|
}
|
|
11765
11823
|
)
|
|
11766
11824
|
] }),
|
|
11767
|
-
statusBadge && /* @__PURE__ */
|
|
11825
|
+
statusBadge && /* @__PURE__ */ jsx54("div", { className: "flex-shrink-0", children: statusBadge })
|
|
11768
11826
|
]
|
|
11769
11827
|
},
|
|
11770
11828
|
`readonly-${choice.value}-${i}`
|
|
11771
11829
|
);
|
|
11772
11830
|
}) });
|
|
11773
11831
|
}
|
|
11774
|
-
return /* @__PURE__ */
|
|
11832
|
+
return /* @__PURE__ */ jsx54(
|
|
11775
11833
|
"div",
|
|
11776
11834
|
{
|
|
11777
11835
|
className: cn(
|
|
@@ -11779,7 +11837,7 @@ var MultipleChoiceList = ({
|
|
|
11779
11837
|
disabled ? "opacity-50 cursor-not-allowed" : "",
|
|
11780
11838
|
className
|
|
11781
11839
|
),
|
|
11782
|
-
children: /* @__PURE__ */
|
|
11840
|
+
children: /* @__PURE__ */ jsx54(
|
|
11783
11841
|
CheckboxList_default,
|
|
11784
11842
|
{
|
|
11785
11843
|
name,
|
|
@@ -11789,12 +11847,12 @@ var MultipleChoiceList = ({
|
|
|
11789
11847
|
onHandleSelectedValues?.(v);
|
|
11790
11848
|
},
|
|
11791
11849
|
disabled,
|
|
11792
|
-
children: choices.map((choice, i) => /* @__PURE__ */
|
|
11850
|
+
children: choices.map((choice, i) => /* @__PURE__ */ jsxs39(
|
|
11793
11851
|
"div",
|
|
11794
11852
|
{
|
|
11795
11853
|
className: "flex flex-row gap-2 items-center",
|
|
11796
11854
|
children: [
|
|
11797
|
-
/* @__PURE__ */
|
|
11855
|
+
/* @__PURE__ */ jsx54(
|
|
11798
11856
|
CheckboxListItem,
|
|
11799
11857
|
{
|
|
11800
11858
|
value: choice.value,
|
|
@@ -11802,7 +11860,7 @@ var MultipleChoiceList = ({
|
|
|
11802
11860
|
disabled: choice.disabled || disabled
|
|
11803
11861
|
}
|
|
11804
11862
|
),
|
|
11805
|
-
/* @__PURE__ */
|
|
11863
|
+
/* @__PURE__ */ jsx54(
|
|
11806
11864
|
"label",
|
|
11807
11865
|
{
|
|
11808
11866
|
htmlFor: `interactive-${choice.value}-${i}`,
|
|
@@ -11831,13 +11889,13 @@ import { CheckCircle as CheckCircle6, XCircle as XCircle5 } from "phosphor-react
|
|
|
11831
11889
|
var mock_image_question_default = "./mock-image-question-HEZCLFDL.png";
|
|
11832
11890
|
|
|
11833
11891
|
// src/components/Quiz/QuizContent.tsx
|
|
11834
|
-
import { Fragment as Fragment11, jsx as
|
|
11892
|
+
import { Fragment as Fragment11, jsx as jsx55, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
11835
11893
|
var getStatusBadge = (status) => {
|
|
11836
11894
|
switch (status) {
|
|
11837
11895
|
case "correct":
|
|
11838
|
-
return /* @__PURE__ */
|
|
11896
|
+
return /* @__PURE__ */ jsx55(Badge_default, { variant: "solid", action: "success", iconLeft: /* @__PURE__ */ jsx55(CheckCircle6, {}), children: "Resposta correta" });
|
|
11839
11897
|
case "incorrect":
|
|
11840
|
-
return /* @__PURE__ */
|
|
11898
|
+
return /* @__PURE__ */ jsx55(Badge_default, { variant: "solid", action: "error", iconLeft: /* @__PURE__ */ jsx55(XCircle5, {}), children: "Resposta incorreta" });
|
|
11841
11899
|
default:
|
|
11842
11900
|
return null;
|
|
11843
11901
|
}
|
|
@@ -11852,11 +11910,11 @@ var getStatusStyles = (variantCorrect) => {
|
|
|
11852
11910
|
};
|
|
11853
11911
|
var QuizSubTitle = forwardRef21(
|
|
11854
11912
|
({ subTitle, ...props }, ref) => {
|
|
11855
|
-
return /* @__PURE__ */
|
|
11913
|
+
return /* @__PURE__ */ jsx55("div", { className: "px-4 pb-2 pt-6", ...props, ref, children: /* @__PURE__ */ jsx55("p", { className: "font-bold text-lg text-text-950", children: subTitle }) });
|
|
11856
11914
|
}
|
|
11857
11915
|
);
|
|
11858
11916
|
var QuizContainer = forwardRef21(({ children, className, ...props }, ref) => {
|
|
11859
|
-
return /* @__PURE__ */
|
|
11917
|
+
return /* @__PURE__ */ jsx55(
|
|
11860
11918
|
"div",
|
|
11861
11919
|
{
|
|
11862
11920
|
ref,
|
|
@@ -11909,10 +11967,10 @@ var QuizAlternative = ({ paddingBottom }) => {
|
|
|
11909
11967
|
};
|
|
11910
11968
|
});
|
|
11911
11969
|
if (!alternatives)
|
|
11912
|
-
return /* @__PURE__ */
|
|
11913
|
-
return /* @__PURE__ */
|
|
11914
|
-
/* @__PURE__ */
|
|
11915
|
-
/* @__PURE__ */
|
|
11970
|
+
return /* @__PURE__ */ jsx55("div", { children: /* @__PURE__ */ jsx55("p", { children: "N\xE3o h\xE1 Alternativas" }) });
|
|
11971
|
+
return /* @__PURE__ */ jsxs40(Fragment11, { children: [
|
|
11972
|
+
/* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
11973
|
+
/* @__PURE__ */ jsx55(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx55("div", { className: "space-y-4", children: /* @__PURE__ */ jsx55(
|
|
11916
11974
|
AlternativesList,
|
|
11917
11975
|
{
|
|
11918
11976
|
mode: variant === "default" ? "interactive" : "readonly",
|
|
@@ -12015,10 +12073,10 @@ var QuizMultipleChoice = ({ paddingBottom }) => {
|
|
|
12015
12073
|
};
|
|
12016
12074
|
});
|
|
12017
12075
|
if (!choices)
|
|
12018
|
-
return /* @__PURE__ */
|
|
12019
|
-
return /* @__PURE__ */
|
|
12020
|
-
/* @__PURE__ */
|
|
12021
|
-
/* @__PURE__ */
|
|
12076
|
+
return /* @__PURE__ */ jsx55("div", { children: /* @__PURE__ */ jsx55("p", { children: "N\xE3o h\xE1 Escolhas Multiplas" }) });
|
|
12077
|
+
return /* @__PURE__ */ jsxs40(Fragment11, { children: [
|
|
12078
|
+
/* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
12079
|
+
/* @__PURE__ */ jsx55(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx55("div", { className: "space-y-4", children: /* @__PURE__ */ jsx55(
|
|
12022
12080
|
MultipleChoiceList,
|
|
12023
12081
|
{
|
|
12024
12082
|
choices,
|
|
@@ -12037,7 +12095,8 @@ var QuizDissertative = ({ paddingBottom }) => {
|
|
|
12037
12095
|
getCurrentAnswer,
|
|
12038
12096
|
selectDissertativeAnswer,
|
|
12039
12097
|
getQuestionResultByQuestionId,
|
|
12040
|
-
variant
|
|
12098
|
+
variant,
|
|
12099
|
+
getDissertativeCharLimit
|
|
12041
12100
|
} = useQuizStore();
|
|
12042
12101
|
const currentQuestion = getCurrentQuestion();
|
|
12043
12102
|
const currentQuestionResult = getQuestionResultByQuestionId(
|
|
@@ -12045,6 +12104,7 @@ var QuizDissertative = ({ paddingBottom }) => {
|
|
|
12045
12104
|
);
|
|
12046
12105
|
const currentAnswer = getCurrentAnswer();
|
|
12047
12106
|
const textareaRef = useRef14(null);
|
|
12107
|
+
const charLimit = getDissertativeCharLimit();
|
|
12048
12108
|
const handleAnswerChange = (value) => {
|
|
12049
12109
|
if (currentQuestion) {
|
|
12050
12110
|
selectDissertativeAnswer(currentQuestion.id, value);
|
|
@@ -12064,12 +12124,12 @@ var QuizDissertative = ({ paddingBottom }) => {
|
|
|
12064
12124
|
adjustTextareaHeight();
|
|
12065
12125
|
}, [currentAnswer, adjustTextareaHeight]);
|
|
12066
12126
|
if (!currentQuestion) {
|
|
12067
|
-
return /* @__PURE__ */
|
|
12127
|
+
return /* @__PURE__ */ jsx55("div", { className: "space-y-4", children: /* @__PURE__ */ jsx55("p", { className: "text-text-600 text-md", children: "Nenhuma quest\xE3o dispon\xEDvel" }) });
|
|
12068
12128
|
}
|
|
12069
12129
|
const localAnswer = (variant == "result" ? currentQuestionResult?.answer : currentAnswer?.answer) || "";
|
|
12070
|
-
return /* @__PURE__ */
|
|
12071
|
-
/* @__PURE__ */
|
|
12072
|
-
/* @__PURE__ */
|
|
12130
|
+
return /* @__PURE__ */ jsxs40(Fragment11, { children: [
|
|
12131
|
+
/* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Resposta" }),
|
|
12132
|
+
/* @__PURE__ */ jsx55(QuizContainer, { className: cn(variant != "result" && paddingBottom), children: /* @__PURE__ */ jsx55("div", { className: "space-y-4 max-h-[600px] overflow-y-auto", children: variant === "default" ? /* @__PURE__ */ jsx55("div", { className: "space-y-4", children: /* @__PURE__ */ jsx55(
|
|
12073
12133
|
TextArea_default,
|
|
12074
12134
|
{
|
|
12075
12135
|
ref: textareaRef,
|
|
@@ -12077,12 +12137,14 @@ var QuizDissertative = ({ paddingBottom }) => {
|
|
|
12077
12137
|
value: localAnswer,
|
|
12078
12138
|
onChange: (e) => handleAnswerChange(e.target.value),
|
|
12079
12139
|
rows: 4,
|
|
12080
|
-
className: "min-h-[120px] max-h-[400px] resize-none overflow-y-auto"
|
|
12081
|
-
|
|
12082
|
-
|
|
12083
|
-
|
|
12084
|
-
|
|
12085
|
-
|
|
12140
|
+
className: "min-h-[120px] max-h-[400px] resize-none overflow-y-auto",
|
|
12141
|
+
maxLength: charLimit,
|
|
12142
|
+
showCharacterCount: !!charLimit
|
|
12143
|
+
}
|
|
12144
|
+
) }) : /* @__PURE__ */ jsx55("div", { className: "space-y-4", children: /* @__PURE__ */ jsx55("p", { className: "text-text-600 text-md whitespace-pre-wrap", children: localAnswer || "Nenhuma resposta fornecida" }) }) }) }),
|
|
12145
|
+
variant === "result" && currentQuestionResult?.answerStatus == "RESPOSTA_INCORRETA" /* RESPOSTA_INCORRETA */ && /* @__PURE__ */ jsxs40(Fragment11, { children: [
|
|
12146
|
+
/* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Observa\xE7\xE3o do professor" }),
|
|
12147
|
+
/* @__PURE__ */ jsx55(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx55("p", { className: "text-text-600 text-md whitespace-pre-wrap", children: currentQuestionResult?.teacherFeedback }) })
|
|
12086
12148
|
] })
|
|
12087
12149
|
] });
|
|
12088
12150
|
};
|
|
@@ -12108,16 +12170,16 @@ var QuizTrueOrFalse = ({ paddingBottom }) => {
|
|
|
12108
12170
|
];
|
|
12109
12171
|
const getLetterByIndex = (index) => String.fromCodePoint(97 + index);
|
|
12110
12172
|
const isDefaultVariant = variant === "default";
|
|
12111
|
-
return /* @__PURE__ */
|
|
12112
|
-
/* @__PURE__ */
|
|
12113
|
-
/* @__PURE__ */
|
|
12173
|
+
return /* @__PURE__ */ jsxs40(Fragment11, { children: [
|
|
12174
|
+
/* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
12175
|
+
/* @__PURE__ */ jsx55(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx55("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
|
|
12114
12176
|
const variantCorrect = option.isCorrect ? "correct" : "incorrect";
|
|
12115
|
-
return /* @__PURE__ */
|
|
12177
|
+
return /* @__PURE__ */ jsxs40(
|
|
12116
12178
|
"section",
|
|
12117
12179
|
{
|
|
12118
12180
|
className: "flex flex-col gap-2",
|
|
12119
12181
|
children: [
|
|
12120
|
-
/* @__PURE__ */
|
|
12182
|
+
/* @__PURE__ */ jsxs40(
|
|
12121
12183
|
"div",
|
|
12122
12184
|
{
|
|
12123
12185
|
className: cn(
|
|
@@ -12125,20 +12187,20 @@ var QuizTrueOrFalse = ({ paddingBottom }) => {
|
|
|
12125
12187
|
isDefaultVariant ? "" : getStatusStyles(variantCorrect)
|
|
12126
12188
|
),
|
|
12127
12189
|
children: [
|
|
12128
|
-
/* @__PURE__ */
|
|
12129
|
-
isDefaultVariant ? /* @__PURE__ */
|
|
12130
|
-
/* @__PURE__ */
|
|
12131
|
-
/* @__PURE__ */
|
|
12132
|
-
/* @__PURE__ */
|
|
12133
|
-
/* @__PURE__ */
|
|
12190
|
+
/* @__PURE__ */ jsx55("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index).concat(") ").concat(option.label) }),
|
|
12191
|
+
isDefaultVariant ? /* @__PURE__ */ jsxs40(Select_default, { size: "medium", children: [
|
|
12192
|
+
/* @__PURE__ */ jsx55(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ jsx55(SelectValue, { placeholder: "Selecione opc\xE3o" }) }),
|
|
12193
|
+
/* @__PURE__ */ jsxs40(SelectContent, { children: [
|
|
12194
|
+
/* @__PURE__ */ jsx55(SelectItem, { value: "V", children: "Verdadeiro" }),
|
|
12195
|
+
/* @__PURE__ */ jsx55(SelectItem, { value: "F", children: "Falso" })
|
|
12134
12196
|
] })
|
|
12135
|
-
] }) : /* @__PURE__ */
|
|
12197
|
+
] }) : /* @__PURE__ */ jsx55("div", { className: "flex-shrink-0", children: getStatusBadge(variantCorrect) })
|
|
12136
12198
|
]
|
|
12137
12199
|
}
|
|
12138
12200
|
),
|
|
12139
|
-
!isDefaultVariant && /* @__PURE__ */
|
|
12140
|
-
/* @__PURE__ */
|
|
12141
|
-
!option.isCorrect && /* @__PURE__ */
|
|
12201
|
+
!isDefaultVariant && /* @__PURE__ */ jsxs40("span", { className: "flex flex-row gap-2 items-center", children: [
|
|
12202
|
+
/* @__PURE__ */ jsx55("p", { className: "text-text-800 text-2xs", children: "Resposta selecionada: V" }),
|
|
12203
|
+
!option.isCorrect && /* @__PURE__ */ jsx55("p", { className: "text-text-800 text-2xs", children: "Resposta correta: F" })
|
|
12142
12204
|
] })
|
|
12143
12205
|
]
|
|
12144
12206
|
},
|
|
@@ -12228,13 +12290,13 @@ var QuizConnectDots = ({ paddingBottom }) => {
|
|
|
12228
12290
|
const assignedDots = new Set(
|
|
12229
12291
|
userAnswers.map((a) => a.dotOption).filter(Boolean)
|
|
12230
12292
|
);
|
|
12231
|
-
return /* @__PURE__ */
|
|
12232
|
-
/* @__PURE__ */
|
|
12233
|
-
/* @__PURE__ */
|
|
12293
|
+
return /* @__PURE__ */ jsxs40(Fragment11, { children: [
|
|
12294
|
+
/* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
12295
|
+
/* @__PURE__ */ jsx55(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsx55("div", { className: "flex flex-col gap-3.5", children: options.map((option, index) => {
|
|
12234
12296
|
const answer = userAnswers[index];
|
|
12235
12297
|
const variantCorrect = answer.isCorrect ? "correct" : "incorrect";
|
|
12236
|
-
return /* @__PURE__ */
|
|
12237
|
-
/* @__PURE__ */
|
|
12298
|
+
return /* @__PURE__ */ jsxs40("section", { className: "flex flex-col gap-2", children: [
|
|
12299
|
+
/* @__PURE__ */ jsxs40(
|
|
12238
12300
|
"div",
|
|
12239
12301
|
{
|
|
12240
12302
|
className: cn(
|
|
@@ -12242,30 +12304,30 @@ var QuizConnectDots = ({ paddingBottom }) => {
|
|
|
12242
12304
|
isDefaultVariant ? "" : getStatusStyles(variantCorrect)
|
|
12243
12305
|
),
|
|
12244
12306
|
children: [
|
|
12245
|
-
/* @__PURE__ */
|
|
12246
|
-
isDefaultVariant ? /* @__PURE__ */
|
|
12307
|
+
/* @__PURE__ */ jsx55("p", { className: "text-text-900 text-sm", children: getLetterByIndex(index) + ") " + option.label }),
|
|
12308
|
+
isDefaultVariant ? /* @__PURE__ */ jsxs40(
|
|
12247
12309
|
Select_default,
|
|
12248
12310
|
{
|
|
12249
12311
|
size: "medium",
|
|
12250
12312
|
value: answer.dotOption || void 0,
|
|
12251
12313
|
onValueChange: (value) => handleSelectDot(index, value),
|
|
12252
12314
|
children: [
|
|
12253
|
-
/* @__PURE__ */
|
|
12254
|
-
/* @__PURE__ */
|
|
12315
|
+
/* @__PURE__ */ jsx55(SelectTrigger, { className: "w-[180px]", children: /* @__PURE__ */ jsx55(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
|
|
12316
|
+
/* @__PURE__ */ jsx55(SelectContent, { children: dotsOptions.filter(
|
|
12255
12317
|
(dot) => !assignedDots.has(dot.label) || answer.dotOption === dot.label
|
|
12256
|
-
).map((dot) => /* @__PURE__ */
|
|
12318
|
+
).map((dot) => /* @__PURE__ */ jsx55(SelectItem, { value: dot.label, children: dot.label }, dot.label)) })
|
|
12257
12319
|
]
|
|
12258
12320
|
}
|
|
12259
|
-
) : /* @__PURE__ */
|
|
12321
|
+
) : /* @__PURE__ */ jsx55("div", { className: "flex-shrink-0", children: answer.isCorrect === null ? null : getStatusBadge(variantCorrect) })
|
|
12260
12322
|
]
|
|
12261
12323
|
}
|
|
12262
12324
|
),
|
|
12263
|
-
!isDefaultVariant && /* @__PURE__ */
|
|
12264
|
-
/* @__PURE__ */
|
|
12325
|
+
!isDefaultVariant && /* @__PURE__ */ jsxs40("span", { className: "flex flex-row gap-2 items-center", children: [
|
|
12326
|
+
/* @__PURE__ */ jsxs40("p", { className: "text-text-800 text-2xs", children: [
|
|
12265
12327
|
"Resposta selecionada: ",
|
|
12266
12328
|
answer.dotOption || "Nenhuma"
|
|
12267
12329
|
] }),
|
|
12268
|
-
!answer.isCorrect && /* @__PURE__ */
|
|
12330
|
+
!answer.isCorrect && /* @__PURE__ */ jsxs40("p", { className: "text-text-800 text-2xs", children: [
|
|
12269
12331
|
"Resposta correta: ",
|
|
12270
12332
|
answer.correctOption
|
|
12271
12333
|
] })
|
|
@@ -12334,18 +12396,18 @@ var QuizFill = ({ paddingBottom }) => {
|
|
|
12334
12396
|
const mockAnswer = mockUserAnswers.find(
|
|
12335
12397
|
(answer) => answer.selectId === selectId
|
|
12336
12398
|
);
|
|
12337
|
-
return /* @__PURE__ */
|
|
12399
|
+
return /* @__PURE__ */ jsx55("p", { className: "inline-flex mb-2.5 text-success-600 font-semibold text-md border-b-2 border-success-600", children: mockAnswer?.correctAnswer });
|
|
12338
12400
|
};
|
|
12339
12401
|
const renderDefaultElement = (selectId, startIndex, selectedValue, availableOptionsForThisSelect) => {
|
|
12340
|
-
return /* @__PURE__ */
|
|
12402
|
+
return /* @__PURE__ */ jsxs40(
|
|
12341
12403
|
Select_default,
|
|
12342
12404
|
{
|
|
12343
12405
|
value: selectedValue,
|
|
12344
12406
|
onValueChange: (value) => handleSelectChange(selectId, value),
|
|
12345
12407
|
className: "inline-flex mb-2.5",
|
|
12346
12408
|
children: [
|
|
12347
|
-
/* @__PURE__ */
|
|
12348
|
-
/* @__PURE__ */
|
|
12409
|
+
/* @__PURE__ */ jsx55(SelectTrigger, { className: "inline-flex w-auto min-w-[140px] h-8 mx-1 bg-background border-gray-300", children: /* @__PURE__ */ jsx55(SelectValue, { placeholder: "Selecione op\xE7\xE3o" }) }),
|
|
12410
|
+
/* @__PURE__ */ jsx55(SelectContent, { children: availableOptionsForThisSelect.map((option, index) => /* @__PURE__ */ jsx55(SelectItem, { value: option, children: option }, `${option}-${index}`)) })
|
|
12349
12411
|
]
|
|
12350
12412
|
},
|
|
12351
12413
|
`${selectId}-${startIndex}`
|
|
@@ -12357,8 +12419,8 @@ var QuizFill = ({ paddingBottom }) => {
|
|
|
12357
12419
|
);
|
|
12358
12420
|
if (!mockAnswer) return null;
|
|
12359
12421
|
const action = mockAnswer.isCorrect ? "success" : "error";
|
|
12360
|
-
const icon = mockAnswer.isCorrect ? /* @__PURE__ */
|
|
12361
|
-
return /* @__PURE__ */
|
|
12422
|
+
const icon = mockAnswer.isCorrect ? /* @__PURE__ */ jsx55(CheckCircle6, {}) : /* @__PURE__ */ jsx55(XCircle5, {});
|
|
12423
|
+
return /* @__PURE__ */ jsx55(
|
|
12362
12424
|
Badge_default,
|
|
12363
12425
|
{
|
|
12364
12426
|
variant: "solid",
|
|
@@ -12366,7 +12428,7 @@ var QuizFill = ({ paddingBottom }) => {
|
|
|
12366
12428
|
iconRight: icon,
|
|
12367
12429
|
size: "large",
|
|
12368
12430
|
className: "py-3 w-[180px] justify-between mb-2.5",
|
|
12369
|
-
children: /* @__PURE__ */
|
|
12431
|
+
children: /* @__PURE__ */ jsx55("span", { className: "text-text-900", children: mockAnswer.userAnswer })
|
|
12370
12432
|
},
|
|
12371
12433
|
selectId
|
|
12372
12434
|
);
|
|
@@ -12422,25 +12484,25 @@ var QuizFill = ({ paddingBottom }) => {
|
|
|
12422
12484
|
}
|
|
12423
12485
|
return elements;
|
|
12424
12486
|
};
|
|
12425
|
-
return /* @__PURE__ */
|
|
12426
|
-
/* @__PURE__ */
|
|
12427
|
-
/* @__PURE__ */
|
|
12487
|
+
return /* @__PURE__ */ jsxs40(Fragment11, { children: [
|
|
12488
|
+
/* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Alternativas" }),
|
|
12489
|
+
/* @__PURE__ */ jsx55(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx55("div", { className: "space-y-6 px-4 h-auto", children: /* @__PURE__ */ jsx55(
|
|
12428
12490
|
"div",
|
|
12429
12491
|
{
|
|
12430
12492
|
className: cn(
|
|
12431
12493
|
"text-lg text-text-900 leading-8 h-auto",
|
|
12432
12494
|
variant != "result" && paddingBottom
|
|
12433
12495
|
),
|
|
12434
|
-
children: renderTextWithSelects(exampleText).map((element) => /* @__PURE__ */
|
|
12496
|
+
children: renderTextWithSelects(exampleText).map((element) => /* @__PURE__ */ jsx55("span", { children: element.element }, element.id))
|
|
12435
12497
|
}
|
|
12436
12498
|
) }) }),
|
|
12437
|
-
variant === "result" && /* @__PURE__ */
|
|
12438
|
-
/* @__PURE__ */
|
|
12439
|
-
/* @__PURE__ */
|
|
12499
|
+
variant === "result" && /* @__PURE__ */ jsxs40(Fragment11, { children: [
|
|
12500
|
+
/* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Resultado" }),
|
|
12501
|
+
/* @__PURE__ */ jsx55(QuizContainer, { className: "h-auto pb-0", children: /* @__PURE__ */ jsx55("div", { className: "space-y-6 px-4", children: /* @__PURE__ */ jsx55(
|
|
12440
12502
|
"div",
|
|
12441
12503
|
{
|
|
12442
12504
|
className: cn("text-lg text-text-900 leading-8", paddingBottom),
|
|
12443
|
-
children: renderTextWithSelects(exampleText, true).map((element) => /* @__PURE__ */
|
|
12505
|
+
children: renderTextWithSelects(exampleText, true).map((element) => /* @__PURE__ */ jsx55("span", { children: element.element }, element.id))
|
|
12444
12506
|
}
|
|
12445
12507
|
) }) })
|
|
12446
12508
|
] })
|
|
@@ -12494,36 +12556,36 @@ var QuizImageQuestion = ({ paddingBottom }) => {
|
|
|
12494
12556
|
}
|
|
12495
12557
|
return "bg-success-600/70 border-white";
|
|
12496
12558
|
};
|
|
12497
|
-
return /* @__PURE__ */
|
|
12498
|
-
/* @__PURE__ */
|
|
12499
|
-
/* @__PURE__ */
|
|
12559
|
+
return /* @__PURE__ */ jsxs40(Fragment11, { children: [
|
|
12560
|
+
/* @__PURE__ */ jsx55(QuizSubTitle, { subTitle: "Clique na \xE1rea correta" }),
|
|
12561
|
+
/* @__PURE__ */ jsx55(QuizContainer, { className: cn("", paddingBottom), children: /* @__PURE__ */ jsxs40(
|
|
12500
12562
|
"div",
|
|
12501
12563
|
{
|
|
12502
12564
|
"data-testid": "quiz-image-container",
|
|
12503
12565
|
className: "space-y-6 p-3 relative inline-block",
|
|
12504
12566
|
children: [
|
|
12505
|
-
variant == "result" && /* @__PURE__ */
|
|
12567
|
+
variant == "result" && /* @__PURE__ */ jsxs40(
|
|
12506
12568
|
"div",
|
|
12507
12569
|
{
|
|
12508
12570
|
"data-testid": "quiz-legend",
|
|
12509
12571
|
className: "flex items-center gap-4 text-xs",
|
|
12510
12572
|
children: [
|
|
12511
|
-
/* @__PURE__ */
|
|
12512
|
-
/* @__PURE__ */
|
|
12513
|
-
/* @__PURE__ */
|
|
12573
|
+
/* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-2", children: [
|
|
12574
|
+
/* @__PURE__ */ jsx55("div", { className: "w-3 h-3 rounded-full bg-indicator-primary/70 border border-[#F8CC2E]" }),
|
|
12575
|
+
/* @__PURE__ */ jsx55("span", { className: "text-text-600 font-medium text-sm", children: "\xC1rea correta" })
|
|
12514
12576
|
] }),
|
|
12515
|
-
/* @__PURE__ */
|
|
12516
|
-
/* @__PURE__ */
|
|
12517
|
-
/* @__PURE__ */
|
|
12577
|
+
/* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-2", children: [
|
|
12578
|
+
/* @__PURE__ */ jsx55("div", { className: "w-3 h-3 rounded-full bg-success-600/70 border border-white" }),
|
|
12579
|
+
/* @__PURE__ */ jsx55("span", { className: "text-text-600 font-medium text-sm", children: "Resposta correta" })
|
|
12518
12580
|
] }),
|
|
12519
|
-
/* @__PURE__ */
|
|
12520
|
-
/* @__PURE__ */
|
|
12521
|
-
/* @__PURE__ */
|
|
12581
|
+
/* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-2", children: [
|
|
12582
|
+
/* @__PURE__ */ jsx55("div", { className: "w-3 h-3 rounded-full bg-indicator-error/70 border border-white" }),
|
|
12583
|
+
/* @__PURE__ */ jsx55("span", { className: "text-text-600 font-medium text-sm", children: "Resposta incorreta" })
|
|
12522
12584
|
] })
|
|
12523
12585
|
]
|
|
12524
12586
|
}
|
|
12525
12587
|
),
|
|
12526
|
-
/* @__PURE__ */
|
|
12588
|
+
/* @__PURE__ */ jsxs40(
|
|
12527
12589
|
"button",
|
|
12528
12590
|
{
|
|
12529
12591
|
"data-testid": "quiz-image-button",
|
|
@@ -12538,7 +12600,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
|
|
|
12538
12600
|
},
|
|
12539
12601
|
"aria-label": "\xC1rea da imagem interativa",
|
|
12540
12602
|
children: [
|
|
12541
|
-
/* @__PURE__ */
|
|
12603
|
+
/* @__PURE__ */ jsx55(
|
|
12542
12604
|
"img",
|
|
12543
12605
|
{
|
|
12544
12606
|
"data-testid": "quiz-image",
|
|
@@ -12547,7 +12609,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
|
|
|
12547
12609
|
className: "w-full h-auto rounded-md"
|
|
12548
12610
|
}
|
|
12549
12611
|
),
|
|
12550
|
-
variant === "result" && /* @__PURE__ */
|
|
12612
|
+
variant === "result" && /* @__PURE__ */ jsx55(
|
|
12551
12613
|
"div",
|
|
12552
12614
|
{
|
|
12553
12615
|
"data-testid": "quiz-correct-circle",
|
|
@@ -12562,7 +12624,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
|
|
|
12562
12624
|
}
|
|
12563
12625
|
}
|
|
12564
12626
|
),
|
|
12565
|
-
clickPositionRelative && /* @__PURE__ */
|
|
12627
|
+
clickPositionRelative && /* @__PURE__ */ jsx55(
|
|
12566
12628
|
"div",
|
|
12567
12629
|
{
|
|
12568
12630
|
"data-testid": "quiz-user-circle",
|
|
@@ -12587,7 +12649,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
|
|
|
12587
12649
|
};
|
|
12588
12650
|
|
|
12589
12651
|
// src/components/Quiz/Quiz.tsx
|
|
12590
|
-
import { Fragment as Fragment12, jsx as
|
|
12652
|
+
import { Fragment as Fragment12, jsx as jsx56, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
12591
12653
|
var getQuizTypeConfig = (type) => {
|
|
12592
12654
|
const QUIZ_TYPE_CONFIG = {
|
|
12593
12655
|
["SIMULADO" /* SIMULADO */]: {
|
|
@@ -12629,7 +12691,7 @@ var Quiz = forwardRef22(({ children, className, variant = "default", ...props },
|
|
|
12629
12691
|
useEffect24(() => {
|
|
12630
12692
|
setVariant(variant);
|
|
12631
12693
|
}, [variant, setVariant]);
|
|
12632
|
-
return /* @__PURE__ */
|
|
12694
|
+
return /* @__PURE__ */ jsx56("div", { ref, className: cn("flex flex-col", className), ...props, children });
|
|
12633
12695
|
});
|
|
12634
12696
|
var QuizTitle = forwardRef22(({ className, onBack, ...props }, ref) => {
|
|
12635
12697
|
const {
|
|
@@ -12665,8 +12727,8 @@ var QuizTitle = forwardRef22(({ className, onBack, ...props }, ref) => {
|
|
|
12665
12727
|
const handleCancelExit = () => {
|
|
12666
12728
|
setShowExitConfirmation(false);
|
|
12667
12729
|
};
|
|
12668
|
-
return /* @__PURE__ */
|
|
12669
|
-
/* @__PURE__ */
|
|
12730
|
+
return /* @__PURE__ */ jsxs41(Fragment12, { children: [
|
|
12731
|
+
/* @__PURE__ */ jsxs41(
|
|
12670
12732
|
"div",
|
|
12671
12733
|
{
|
|
12672
12734
|
ref,
|
|
@@ -12676,24 +12738,24 @@ var QuizTitle = forwardRef22(({ className, onBack, ...props }, ref) => {
|
|
|
12676
12738
|
),
|
|
12677
12739
|
...props,
|
|
12678
12740
|
children: [
|
|
12679
|
-
/* @__PURE__ */
|
|
12741
|
+
/* @__PURE__ */ jsx56(
|
|
12680
12742
|
IconButton_default,
|
|
12681
12743
|
{
|
|
12682
|
-
icon: /* @__PURE__ */
|
|
12744
|
+
icon: /* @__PURE__ */ jsx56(CaretLeft2, { size: 24 }),
|
|
12683
12745
|
size: "md",
|
|
12684
12746
|
"aria-label": "Voltar",
|
|
12685
12747
|
onClick: handleBackClick
|
|
12686
12748
|
}
|
|
12687
12749
|
),
|
|
12688
|
-
/* @__PURE__ */
|
|
12689
|
-
/* @__PURE__ */
|
|
12690
|
-
/* @__PURE__ */
|
|
12750
|
+
/* @__PURE__ */ jsxs41("span", { className: "flex flex-col gap-2 text-center", children: [
|
|
12751
|
+
/* @__PURE__ */ jsx56("p", { className: "text-text-950 font-bold text-md", children: quizTitle }),
|
|
12752
|
+
/* @__PURE__ */ jsx56("p", { className: "text-text-600 text-xs", children: totalQuestions > 0 ? `${currentQuestionIndex + 1} de ${totalQuestions}` : "0 de 0" })
|
|
12691
12753
|
] }),
|
|
12692
|
-
/* @__PURE__ */
|
|
12754
|
+
/* @__PURE__ */ jsx56("span", { className: "flex flex-row items-center justify-center", children: /* @__PURE__ */ jsx56(Badge_default, { variant: "outlined", action: "info", iconLeft: /* @__PURE__ */ jsx56(Clock2, {}), children: isStarted ? formatTime2(timeElapsed) : "00:00" }) })
|
|
12693
12755
|
]
|
|
12694
12756
|
}
|
|
12695
12757
|
),
|
|
12696
|
-
/* @__PURE__ */
|
|
12758
|
+
/* @__PURE__ */ jsx56(
|
|
12697
12759
|
AlertDialog,
|
|
12698
12760
|
{
|
|
12699
12761
|
isOpen: showExitConfirmation,
|
|
@@ -12713,7 +12775,7 @@ var QuizHeader = () => {
|
|
|
12713
12775
|
const currentQuestion = getCurrentQuestion();
|
|
12714
12776
|
let currentId = currentQuestion && "questionId" in currentQuestion ? currentQuestion.questionId : currentQuestion?.id;
|
|
12715
12777
|
const questionIndex = getQuestionIndex(currentId);
|
|
12716
|
-
return /* @__PURE__ */
|
|
12778
|
+
return /* @__PURE__ */ jsx56(
|
|
12717
12779
|
HeaderAlternative,
|
|
12718
12780
|
{
|
|
12719
12781
|
title: currentQuestion ? `Quest\xE3o ${questionIndex.toString().padStart(2, "0")}` : "Quest\xE3o",
|
|
@@ -12735,7 +12797,7 @@ var QuizContent = ({ paddingBottom }) => {
|
|
|
12735
12797
|
["IMAGEM" /* IMAGEM */]: QuizImageQuestion
|
|
12736
12798
|
};
|
|
12737
12799
|
const QuestionComponent = currentQuestion ? questionComponents[currentQuestion.questionType] : null;
|
|
12738
|
-
return QuestionComponent ? /* @__PURE__ */
|
|
12800
|
+
return QuestionComponent ? /* @__PURE__ */ jsx56(QuestionComponent, { paddingBottom }) : null;
|
|
12739
12801
|
};
|
|
12740
12802
|
var QuizQuestionList = ({
|
|
12741
12803
|
filterType = "all",
|
|
@@ -12782,18 +12844,18 @@ var QuizQuestionList = ({
|
|
|
12782
12844
|
return "Em branco";
|
|
12783
12845
|
}
|
|
12784
12846
|
};
|
|
12785
|
-
return /* @__PURE__ */
|
|
12786
|
-
Object.entries(filteredGroupedQuestions).length == 0 && /* @__PURE__ */
|
|
12847
|
+
return /* @__PURE__ */ jsxs41("div", { className: "space-y-6 px-4 h-full", children: [
|
|
12848
|
+
Object.entries(filteredGroupedQuestions).length == 0 && /* @__PURE__ */ jsx56("div", { className: "flex items-center justify-center text-gray-500 py-8 h-full", children: /* @__PURE__ */ jsx56("p", { className: "text-lg", children: "Nenhum resultado" }) }),
|
|
12787
12849
|
Object.entries(filteredGroupedQuestions).map(
|
|
12788
|
-
([subjectId, questions]) => /* @__PURE__ */
|
|
12789
|
-
/* @__PURE__ */
|
|
12790
|
-
/* @__PURE__ */
|
|
12791
|
-
/* @__PURE__ */
|
|
12850
|
+
([subjectId, questions]) => /* @__PURE__ */ jsxs41("section", { className: "flex flex-col gap-2", children: [
|
|
12851
|
+
/* @__PURE__ */ jsxs41("span", { className: "pt-6 pb-4 flex flex-row gap-2", children: [
|
|
12852
|
+
/* @__PURE__ */ jsx56("div", { className: "bg-primary-500 p-1 rounded-sm flex items-center justify-center", children: /* @__PURE__ */ jsx56(BookOpen, { size: 17, className: "text-white" }) }),
|
|
12853
|
+
/* @__PURE__ */ jsx56("p", { className: "text-text-800 font-bold text-lg", children: questions?.[0]?.knowledgeMatrix?.[0]?.subject?.name ?? "Sem mat\xE9ria" })
|
|
12792
12854
|
] }),
|
|
12793
|
-
/* @__PURE__ */
|
|
12855
|
+
/* @__PURE__ */ jsx56("ul", { className: "flex flex-col gap-2", children: questions.map((question) => {
|
|
12794
12856
|
const status = getQuestionStatus(question.id);
|
|
12795
12857
|
const questionNumber = getQuestionIndex(question.id);
|
|
12796
|
-
return /* @__PURE__ */
|
|
12858
|
+
return /* @__PURE__ */ jsx56(
|
|
12797
12859
|
CardStatus,
|
|
12798
12860
|
{
|
|
12799
12861
|
header: `Quest\xE3o ${questionNumber.toString().padStart(2, "0")}`,
|
|
@@ -12900,8 +12962,8 @@ var QuizFooter = forwardRef22(
|
|
|
12900
12962
|
return;
|
|
12901
12963
|
}
|
|
12902
12964
|
};
|
|
12903
|
-
return /* @__PURE__ */
|
|
12904
|
-
/* @__PURE__ */
|
|
12965
|
+
return /* @__PURE__ */ jsxs41(Fragment12, { children: [
|
|
12966
|
+
/* @__PURE__ */ jsx56(
|
|
12905
12967
|
"footer",
|
|
12906
12968
|
{
|
|
12907
12969
|
ref,
|
|
@@ -12910,17 +12972,17 @@ var QuizFooter = forwardRef22(
|
|
|
12910
12972
|
className
|
|
12911
12973
|
),
|
|
12912
12974
|
...props,
|
|
12913
|
-
children: variant === "default" ? /* @__PURE__ */
|
|
12914
|
-
/* @__PURE__ */
|
|
12915
|
-
/* @__PURE__ */
|
|
12975
|
+
children: variant === "default" ? /* @__PURE__ */ jsxs41(Fragment12, { children: [
|
|
12976
|
+
/* @__PURE__ */ jsxs41("div", { className: "flex flex-row items-center gap-1", children: [
|
|
12977
|
+
/* @__PURE__ */ jsx56(
|
|
12916
12978
|
IconButton_default,
|
|
12917
12979
|
{
|
|
12918
|
-
icon: /* @__PURE__ */
|
|
12980
|
+
icon: /* @__PURE__ */ jsx56(SquaresFour, { size: 24, className: "text-text-950" }),
|
|
12919
12981
|
size: "md",
|
|
12920
12982
|
onClick: () => openModal("modalNavigate")
|
|
12921
12983
|
}
|
|
12922
12984
|
),
|
|
12923
|
-
isFirstQuestion ? /* @__PURE__ */
|
|
12985
|
+
isFirstQuestion ? /* @__PURE__ */ jsx56(
|
|
12924
12986
|
Button_default,
|
|
12925
12987
|
{
|
|
12926
12988
|
variant: "outline",
|
|
@@ -12931,13 +12993,13 @@ var QuizFooter = forwardRef22(
|
|
|
12931
12993
|
},
|
|
12932
12994
|
children: "Pular"
|
|
12933
12995
|
}
|
|
12934
|
-
) : /* @__PURE__ */
|
|
12996
|
+
) : /* @__PURE__ */ jsx56(
|
|
12935
12997
|
Button_default,
|
|
12936
12998
|
{
|
|
12937
12999
|
size: "medium",
|
|
12938
13000
|
variant: "link",
|
|
12939
13001
|
action: "primary",
|
|
12940
|
-
iconLeft: /* @__PURE__ */
|
|
13002
|
+
iconLeft: /* @__PURE__ */ jsx56(CaretLeft2, { size: 18 }),
|
|
12941
13003
|
onClick: () => {
|
|
12942
13004
|
goToPreviousQuestion();
|
|
12943
13005
|
},
|
|
@@ -12945,7 +13007,7 @@ var QuizFooter = forwardRef22(
|
|
|
12945
13007
|
}
|
|
12946
13008
|
)
|
|
12947
13009
|
] }),
|
|
12948
|
-
!isFirstQuestion && !isLastQuestion && /* @__PURE__ */
|
|
13010
|
+
!isFirstQuestion && !isLastQuestion && /* @__PURE__ */ jsx56(
|
|
12949
13011
|
Button_default,
|
|
12950
13012
|
{
|
|
12951
13013
|
size: "small",
|
|
@@ -12958,7 +13020,7 @@ var QuizFooter = forwardRef22(
|
|
|
12958
13020
|
children: "Pular"
|
|
12959
13021
|
}
|
|
12960
13022
|
),
|
|
12961
|
-
isLastQuestion ? /* @__PURE__ */
|
|
13023
|
+
isLastQuestion ? /* @__PURE__ */ jsx56(
|
|
12962
13024
|
Button_default,
|
|
12963
13025
|
{
|
|
12964
13026
|
size: "medium",
|
|
@@ -12967,13 +13029,13 @@ var QuizFooter = forwardRef22(
|
|
|
12967
13029
|
onClick: handleFinishQuiz,
|
|
12968
13030
|
children: "Finalizar"
|
|
12969
13031
|
}
|
|
12970
|
-
) : /* @__PURE__ */
|
|
13032
|
+
) : /* @__PURE__ */ jsx56(
|
|
12971
13033
|
Button_default,
|
|
12972
13034
|
{
|
|
12973
13035
|
size: "medium",
|
|
12974
13036
|
variant: "link",
|
|
12975
13037
|
action: "primary",
|
|
12976
|
-
iconRight: /* @__PURE__ */
|
|
13038
|
+
iconRight: /* @__PURE__ */ jsx56(CaretRight5, { size: 18 }),
|
|
12977
13039
|
disabled: !currentAnswer && !isCurrentQuestionSkipped,
|
|
12978
13040
|
onClick: () => {
|
|
12979
13041
|
goToNextQuestion();
|
|
@@ -12981,7 +13043,7 @@ var QuizFooter = forwardRef22(
|
|
|
12981
13043
|
children: "Avan\xE7ar"
|
|
12982
13044
|
}
|
|
12983
13045
|
)
|
|
12984
|
-
] }) : /* @__PURE__ */
|
|
13046
|
+
] }) : /* @__PURE__ */ jsx56("div", { className: "flex flex-row items-center justify-center w-full", children: /* @__PURE__ */ jsx56(
|
|
12985
13047
|
Button_default,
|
|
12986
13048
|
{
|
|
12987
13049
|
variant: "link",
|
|
@@ -12993,7 +13055,7 @@ var QuizFooter = forwardRef22(
|
|
|
12993
13055
|
) })
|
|
12994
13056
|
}
|
|
12995
13057
|
),
|
|
12996
|
-
/* @__PURE__ */
|
|
13058
|
+
/* @__PURE__ */ jsx56(
|
|
12997
13059
|
AlertDialog,
|
|
12998
13060
|
{
|
|
12999
13061
|
isOpen: isModalOpen("alertDialog"),
|
|
@@ -13005,7 +13067,7 @@ var QuizFooter = forwardRef22(
|
|
|
13005
13067
|
onSubmit: handleAlertSubmit
|
|
13006
13068
|
}
|
|
13007
13069
|
),
|
|
13008
|
-
/* @__PURE__ */
|
|
13070
|
+
/* @__PURE__ */ jsx56(
|
|
13009
13071
|
Modal_default,
|
|
13010
13072
|
{
|
|
13011
13073
|
isOpen: isModalOpen("modalResult"),
|
|
@@ -13014,11 +13076,11 @@ var QuizFooter = forwardRef22(
|
|
|
13014
13076
|
closeOnEscape: false,
|
|
13015
13077
|
hideCloseButton: true,
|
|
13016
13078
|
size: "md",
|
|
13017
|
-
children: /* @__PURE__ */
|
|
13018
|
-
resultImageComponent ? /* @__PURE__ */
|
|
13019
|
-
/* @__PURE__ */
|
|
13020
|
-
/* @__PURE__ */
|
|
13021
|
-
/* @__PURE__ */
|
|
13079
|
+
children: /* @__PURE__ */ jsxs41("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
|
|
13080
|
+
resultImageComponent ? /* @__PURE__ */ jsx56("div", { className: "w-[282px] h-auto", children: resultImageComponent }) : /* @__PURE__ */ jsx56("div", { className: "w-[282px] h-[200px] bg-gray-100 rounded-md flex items-center justify-center", children: /* @__PURE__ */ jsx56("span", { className: "text-gray-500 text-sm", children: "Imagem de resultado" }) }),
|
|
13081
|
+
/* @__PURE__ */ jsxs41("div", { className: "flex flex-col gap-2 text-center", children: [
|
|
13082
|
+
/* @__PURE__ */ jsx56("h2", { className: "text-text-950 font-bold text-lg", children: getCompletionTitle(quizType) }),
|
|
13083
|
+
/* @__PURE__ */ jsxs41("p", { className: "text-text-500 font-sm", children: [
|
|
13022
13084
|
"Voc\xEA acertou ",
|
|
13023
13085
|
correctAnswers ?? "--",
|
|
13024
13086
|
" de ",
|
|
@@ -13027,8 +13089,8 @@ var QuizFooter = forwardRef22(
|
|
|
13027
13089
|
"quest\xF5es."
|
|
13028
13090
|
] })
|
|
13029
13091
|
] }),
|
|
13030
|
-
/* @__PURE__ */
|
|
13031
|
-
/* @__PURE__ */
|
|
13092
|
+
/* @__PURE__ */ jsxs41("div", { className: "px-6 flex flex-row items-center gap-2 w-full", children: [
|
|
13093
|
+
/* @__PURE__ */ jsx56(
|
|
13032
13094
|
Button_default,
|
|
13033
13095
|
{
|
|
13034
13096
|
variant: "outline",
|
|
@@ -13038,38 +13100,38 @@ var QuizFooter = forwardRef22(
|
|
|
13038
13100
|
children: quizTypeLabel === "Question\xE1rio" ? "Ir para aulas" : `Ir para ${quizTypeLabel.toLocaleLowerCase()}s`
|
|
13039
13101
|
}
|
|
13040
13102
|
),
|
|
13041
|
-
/* @__PURE__ */
|
|
13103
|
+
/* @__PURE__ */ jsx56(Button_default, { className: "w-full", onClick: onDetailResult, children: "Detalhar resultado" })
|
|
13042
13104
|
] })
|
|
13043
13105
|
] })
|
|
13044
13106
|
}
|
|
13045
13107
|
),
|
|
13046
|
-
/* @__PURE__ */
|
|
13108
|
+
/* @__PURE__ */ jsx56(
|
|
13047
13109
|
Modal_default,
|
|
13048
13110
|
{
|
|
13049
13111
|
isOpen: isModalOpen("modalNavigate"),
|
|
13050
13112
|
onClose: closeModal,
|
|
13051
13113
|
title: "Quest\xF5es",
|
|
13052
13114
|
size: "lg",
|
|
13053
|
-
children: /* @__PURE__ */
|
|
13054
|
-
/* @__PURE__ */
|
|
13055
|
-
/* @__PURE__ */
|
|
13056
|
-
/* @__PURE__ */
|
|
13057
|
-
/* @__PURE__ */
|
|
13115
|
+
children: /* @__PURE__ */ jsxs41("div", { className: "flex flex-col w-full not-lg:h-[calc(100vh-200px)] lg:max-h-[687px] lg:h-[687px]", children: [
|
|
13116
|
+
/* @__PURE__ */ jsxs41("div", { className: "flex flex-row justify-between items-center py-6 pt-6 pb-4 border-b border-border-200 flex-shrink-0", children: [
|
|
13117
|
+
/* @__PURE__ */ jsx56("p", { className: "text-text-950 font-bold text-lg", children: "Filtrar por" }),
|
|
13118
|
+
/* @__PURE__ */ jsx56("span", { className: "max-w-[266px]", children: /* @__PURE__ */ jsxs41(Select_default, { value: filterType, onValueChange: setFilterType, children: [
|
|
13119
|
+
/* @__PURE__ */ jsx56(
|
|
13058
13120
|
SelectTrigger,
|
|
13059
13121
|
{
|
|
13060
13122
|
variant: "rounded",
|
|
13061
13123
|
className: "max-w-[266px] min-w-[160px]",
|
|
13062
|
-
children: /* @__PURE__ */
|
|
13124
|
+
children: /* @__PURE__ */ jsx56(SelectValue, { placeholder: "Selecione uma op\xE7\xE3o" })
|
|
13063
13125
|
}
|
|
13064
13126
|
),
|
|
13065
|
-
/* @__PURE__ */
|
|
13066
|
-
/* @__PURE__ */
|
|
13067
|
-
/* @__PURE__ */
|
|
13068
|
-
/* @__PURE__ */
|
|
13127
|
+
/* @__PURE__ */ jsxs41(SelectContent, { children: [
|
|
13128
|
+
/* @__PURE__ */ jsx56(SelectItem, { value: "all", children: "Todas" }),
|
|
13129
|
+
/* @__PURE__ */ jsx56(SelectItem, { value: "unanswered", children: "Em branco" }),
|
|
13130
|
+
/* @__PURE__ */ jsx56(SelectItem, { value: "answered", children: "Respondidas" })
|
|
13069
13131
|
] })
|
|
13070
13132
|
] }) })
|
|
13071
13133
|
] }),
|
|
13072
|
-
/* @__PURE__ */
|
|
13134
|
+
/* @__PURE__ */ jsx56("div", { className: "flex flex-col gap-2 flex-1 min-h-0 overflow-y-auto", children: /* @__PURE__ */ jsx56(
|
|
13073
13135
|
QuizQuestionList,
|
|
13074
13136
|
{
|
|
13075
13137
|
filterType,
|
|
@@ -13079,7 +13141,7 @@ var QuizFooter = forwardRef22(
|
|
|
13079
13141
|
] })
|
|
13080
13142
|
}
|
|
13081
13143
|
),
|
|
13082
|
-
/* @__PURE__ */
|
|
13144
|
+
/* @__PURE__ */ jsx56(
|
|
13083
13145
|
Modal_default,
|
|
13084
13146
|
{
|
|
13085
13147
|
isOpen: isModalOpen("modalResolution"),
|
|
@@ -13089,7 +13151,7 @@ var QuizFooter = forwardRef22(
|
|
|
13089
13151
|
children: currentQuestion?.solutionExplanation
|
|
13090
13152
|
}
|
|
13091
13153
|
),
|
|
13092
|
-
/* @__PURE__ */
|
|
13154
|
+
/* @__PURE__ */ jsx56(
|
|
13093
13155
|
Modal_default,
|
|
13094
13156
|
{
|
|
13095
13157
|
isOpen: isModalOpen("modalQuestionnaireAllCorrect"),
|
|
@@ -13098,17 +13160,17 @@ var QuizFooter = forwardRef22(
|
|
|
13098
13160
|
closeOnEscape: false,
|
|
13099
13161
|
hideCloseButton: true,
|
|
13100
13162
|
size: "md",
|
|
13101
|
-
children: /* @__PURE__ */
|
|
13102
|
-
resultImageComponent ? /* @__PURE__ */
|
|
13103
|
-
/* @__PURE__ */
|
|
13104
|
-
/* @__PURE__ */
|
|
13105
|
-
/* @__PURE__ */
|
|
13163
|
+
children: /* @__PURE__ */ jsxs41("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
|
|
13164
|
+
resultImageComponent ? /* @__PURE__ */ jsx56("div", { className: "w-[282px] h-auto", children: resultImageComponent }) : /* @__PURE__ */ jsx56("div", { className: "w-[282px] h-[200px] bg-gray-100 rounded-md flex items-center justify-center", children: /* @__PURE__ */ jsx56("span", { className: "text-gray-500 text-sm", children: "Imagem de resultado" }) }),
|
|
13165
|
+
/* @__PURE__ */ jsxs41("div", { className: "flex flex-col gap-2 text-center", children: [
|
|
13166
|
+
/* @__PURE__ */ jsx56("h2", { className: "text-text-950 font-bold text-lg", children: "\u{1F389} Parab\xE9ns!" }),
|
|
13167
|
+
/* @__PURE__ */ jsx56("p", { className: "text-text-500 font-sm", children: "Voc\xEA concluiu o m\xF3dulo Movimento Uniforme." })
|
|
13106
13168
|
] }),
|
|
13107
|
-
/* @__PURE__ */
|
|
13169
|
+
/* @__PURE__ */ jsx56("div", { className: "px-6 flex flex-row items-center gap-2 w-full", children: /* @__PURE__ */ jsx56(Button_default, { className: "w-full", onClick: onGoToNextModule, children: "Pr\xF3ximo m\xF3dulo" }) })
|
|
13108
13170
|
] })
|
|
13109
13171
|
}
|
|
13110
13172
|
),
|
|
13111
|
-
/* @__PURE__ */
|
|
13173
|
+
/* @__PURE__ */ jsx56(
|
|
13112
13174
|
Modal_default,
|
|
13113
13175
|
{
|
|
13114
13176
|
isOpen: isModalOpen("modalQuestionnaireAllIncorrect"),
|
|
@@ -13117,16 +13179,16 @@ var QuizFooter = forwardRef22(
|
|
|
13117
13179
|
closeOnEscape: false,
|
|
13118
13180
|
hideCloseButton: true,
|
|
13119
13181
|
size: "md",
|
|
13120
|
-
children: /* @__PURE__ */
|
|
13121
|
-
resultIncorrectImageComponent ? /* @__PURE__ */
|
|
13122
|
-
/* @__PURE__ */
|
|
13123
|
-
/* @__PURE__ */
|
|
13124
|
-
/* @__PURE__ */
|
|
13125
|
-
/* @__PURE__ */
|
|
13126
|
-
/* @__PURE__ */
|
|
13182
|
+
children: /* @__PURE__ */ jsxs41("div", { className: "flex flex-col w-full h-full items-center justify-center gap-4", children: [
|
|
13183
|
+
resultIncorrectImageComponent ? /* @__PURE__ */ jsx56("div", { className: "w-[282px] h-auto", children: resultIncorrectImageComponent }) : /* @__PURE__ */ jsx56("div", { className: "w-[282px] h-[200px] bg-gray-100 rounded-md flex items-center justify-center", children: /* @__PURE__ */ jsx56("span", { className: "text-gray-500 text-sm", children: "Imagem de resultado" }) }),
|
|
13184
|
+
/* @__PURE__ */ jsxs41("div", { className: "flex flex-col gap-2 text-center", children: [
|
|
13185
|
+
/* @__PURE__ */ jsx56("h2", { className: "text-text-950 font-bold text-lg", children: "\u{1F615} N\xE3o foi dessa vez..." }),
|
|
13186
|
+
/* @__PURE__ */ jsx56("p", { className: "text-text-500 font-sm", children: "Voc\xEA tirou 0 no question\xE1rio, mas n\xE3o se preocupe! Isso \xE9 apenas uma oportunidade de aprendizado." }),
|
|
13187
|
+
/* @__PURE__ */ jsx56("p", { className: "text-text-500 font-sm", children: "Que tal tentar novamente para melhorar sua nota? Estamos aqui para te ajudar a entender o conte\xFAdo e evoluir." }),
|
|
13188
|
+
/* @__PURE__ */ jsx56("p", { className: "text-text-500 font-sm", children: "Clique em Repetir Question\xE1rio e mostre do que voc\xEA \xE9 capaz! \u{1F4AA}" })
|
|
13127
13189
|
] }),
|
|
13128
|
-
/* @__PURE__ */
|
|
13129
|
-
/* @__PURE__ */
|
|
13190
|
+
/* @__PURE__ */ jsxs41("div", { className: "flex flex-row justify-center items-center gap-2 w-full", children: [
|
|
13191
|
+
/* @__PURE__ */ jsx56(
|
|
13130
13192
|
Button_default,
|
|
13131
13193
|
{
|
|
13132
13194
|
type: "button",
|
|
@@ -13140,7 +13202,7 @@ var QuizFooter = forwardRef22(
|
|
|
13140
13202
|
children: "Tentar depois"
|
|
13141
13203
|
}
|
|
13142
13204
|
),
|
|
13143
|
-
/* @__PURE__ */
|
|
13205
|
+
/* @__PURE__ */ jsx56(
|
|
13144
13206
|
Button_default,
|
|
13145
13207
|
{
|
|
13146
13208
|
variant: "outline",
|
|
@@ -13150,7 +13212,7 @@ var QuizFooter = forwardRef22(
|
|
|
13150
13212
|
children: "Detalhar resultado"
|
|
13151
13213
|
}
|
|
13152
13214
|
),
|
|
13153
|
-
/* @__PURE__ */
|
|
13215
|
+
/* @__PURE__ */ jsx56(
|
|
13154
13216
|
Button_default,
|
|
13155
13217
|
{
|
|
13156
13218
|
className: "w-auto",
|
|
@@ -13163,7 +13225,7 @@ var QuizFooter = forwardRef22(
|
|
|
13163
13225
|
] })
|
|
13164
13226
|
}
|
|
13165
13227
|
),
|
|
13166
|
-
/* @__PURE__ */
|
|
13228
|
+
/* @__PURE__ */ jsx56(
|
|
13167
13229
|
AlertDialog,
|
|
13168
13230
|
{
|
|
13169
13231
|
isOpen: isModalOpen("alertDialogTryLater"),
|
|
@@ -13189,24 +13251,24 @@ var QuizFooter = forwardRef22(
|
|
|
13189
13251
|
// src/components/Quiz/QuizResult.tsx
|
|
13190
13252
|
import { forwardRef as forwardRef23, useEffect as useEffect25, useState as useState26 } from "react";
|
|
13191
13253
|
import { Clock as Clock3 } from "phosphor-react";
|
|
13192
|
-
import { jsx as
|
|
13254
|
+
import { jsx as jsx57, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
13193
13255
|
var QuizBadge = ({
|
|
13194
13256
|
subtype
|
|
13195
13257
|
}) => {
|
|
13196
13258
|
switch (subtype) {
|
|
13197
13259
|
case "PROVA" /* PROVA */:
|
|
13198
|
-
return /* @__PURE__ */
|
|
13260
|
+
return /* @__PURE__ */ jsx57(Badge_default, { variant: "examsOutlined", action: "exam2", "data-testid": "quiz-badge", children: "Prova" });
|
|
13199
13261
|
case "ENEM_PROVA_1" /* ENEM_PROVA_1 */:
|
|
13200
13262
|
case "ENEM_PROVA_2" /* ENEM_PROVA_2 */:
|
|
13201
|
-
return /* @__PURE__ */
|
|
13263
|
+
return /* @__PURE__ */ jsx57(Badge_default, { variant: "examsOutlined", action: "exam1", "data-testid": "quiz-badge", children: "Enem" });
|
|
13202
13264
|
case "VESTIBULAR" /* VESTIBULAR */:
|
|
13203
|
-
return /* @__PURE__ */
|
|
13265
|
+
return /* @__PURE__ */ jsx57(Badge_default, { variant: "examsOutlined", action: "exam4", "data-testid": "quiz-badge", children: "Vestibular" });
|
|
13204
13266
|
case "SIMULADO" /* SIMULADO */:
|
|
13205
13267
|
case "SIMULADAO" /* SIMULADAO */:
|
|
13206
13268
|
case void 0:
|
|
13207
|
-
return /* @__PURE__ */
|
|
13269
|
+
return /* @__PURE__ */ jsx57(Badge_default, { variant: "examsOutlined", action: "exam3", "data-testid": "quiz-badge", children: "Simulad\xE3o" });
|
|
13208
13270
|
default:
|
|
13209
|
-
return /* @__PURE__ */
|
|
13271
|
+
return /* @__PURE__ */ jsx57(Badge_default, { variant: "solid", action: "info", "data-testid": "quiz-badge", children: subtype });
|
|
13210
13272
|
}
|
|
13211
13273
|
};
|
|
13212
13274
|
var QuizHeaderResult = forwardRef23(
|
|
@@ -13263,7 +13325,7 @@ var QuizHeaderResult = forwardRef23(
|
|
|
13263
13325
|
return "N\xE3o foi dessa vez...voc\xEA deixou a resposta em branco";
|
|
13264
13326
|
}
|
|
13265
13327
|
};
|
|
13266
|
-
return /* @__PURE__ */
|
|
13328
|
+
return /* @__PURE__ */ jsxs42(
|
|
13267
13329
|
"div",
|
|
13268
13330
|
{
|
|
13269
13331
|
ref,
|
|
@@ -13274,8 +13336,8 @@ var QuizHeaderResult = forwardRef23(
|
|
|
13274
13336
|
),
|
|
13275
13337
|
...props,
|
|
13276
13338
|
children: [
|
|
13277
|
-
/* @__PURE__ */
|
|
13278
|
-
/* @__PURE__ */
|
|
13339
|
+
/* @__PURE__ */ jsx57("p", { className: "text-text-950 font-bold text-lg", children: "Resultado" }),
|
|
13340
|
+
/* @__PURE__ */ jsx57("p", { className: "text-text-700 text-md", children: getLabelByAnswersStatus() })
|
|
13279
13341
|
]
|
|
13280
13342
|
}
|
|
13281
13343
|
);
|
|
@@ -13283,7 +13345,7 @@ var QuizHeaderResult = forwardRef23(
|
|
|
13283
13345
|
);
|
|
13284
13346
|
var QuizResultHeaderTitle = forwardRef23(({ className, showBadge = true, onRepeat, canRetry, ...props }, ref) => {
|
|
13285
13347
|
const { quiz } = useQuizStore();
|
|
13286
|
-
return /* @__PURE__ */
|
|
13348
|
+
return /* @__PURE__ */ jsxs42(
|
|
13287
13349
|
"div",
|
|
13288
13350
|
{
|
|
13289
13351
|
ref,
|
|
@@ -13293,9 +13355,9 @@ var QuizResultHeaderTitle = forwardRef23(({ className, showBadge = true, onRepea
|
|
|
13293
13355
|
),
|
|
13294
13356
|
...props,
|
|
13295
13357
|
children: [
|
|
13296
|
-
/* @__PURE__ */
|
|
13297
|
-
/* @__PURE__ */
|
|
13298
|
-
canRetry && onRepeat && /* @__PURE__ */
|
|
13358
|
+
/* @__PURE__ */ jsx57("p", { className: "text-text-950 font-bold text-2xl", children: "Resultado" }),
|
|
13359
|
+
/* @__PURE__ */ jsxs42("div", { className: "flex flex-row gap-3 items-center", children: [
|
|
13360
|
+
canRetry && onRepeat && /* @__PURE__ */ jsx57(
|
|
13299
13361
|
Button_default,
|
|
13300
13362
|
{
|
|
13301
13363
|
variant: "solid",
|
|
@@ -13305,7 +13367,7 @@ var QuizResultHeaderTitle = forwardRef23(({ className, showBadge = true, onRepea
|
|
|
13305
13367
|
children: "Repetir question\xE1rio"
|
|
13306
13368
|
}
|
|
13307
13369
|
),
|
|
13308
|
-
showBadge && /* @__PURE__ */
|
|
13370
|
+
showBadge && /* @__PURE__ */ jsx57(QuizBadge, { subtype: quiz?.subtype || void 0 })
|
|
13309
13371
|
] })
|
|
13310
13372
|
]
|
|
13311
13373
|
}
|
|
@@ -13314,7 +13376,7 @@ var QuizResultHeaderTitle = forwardRef23(({ className, showBadge = true, onRepea
|
|
|
13314
13376
|
var QuizResultTitle = forwardRef23(({ className, ...props }, ref) => {
|
|
13315
13377
|
const { getQuizTitle } = useQuizStore();
|
|
13316
13378
|
const quizTitle = getQuizTitle();
|
|
13317
|
-
return /* @__PURE__ */
|
|
13379
|
+
return /* @__PURE__ */ jsx57(
|
|
13318
13380
|
"p",
|
|
13319
13381
|
{
|
|
13320
13382
|
className: cn("pt-6 pb-4 text-text-950 font-bold text-lg", className),
|
|
@@ -13375,7 +13437,7 @@ var QuizResultPerformance = forwardRef23(({ showDetails = true, ...props }, ref)
|
|
|
13375
13437
|
};
|
|
13376
13438
|
const percentage = totalQuestions > 0 ? Math.round(stats.correctAnswers / totalQuestions * 100) : 0;
|
|
13377
13439
|
const classesJustifyBetween = showDetails ? "justify-between" : "justify-center";
|
|
13378
|
-
return /* @__PURE__ */
|
|
13440
|
+
return /* @__PURE__ */ jsxs42(
|
|
13379
13441
|
"div",
|
|
13380
13442
|
{
|
|
13381
13443
|
className: cn(
|
|
@@ -13385,8 +13447,8 @@ var QuizResultPerformance = forwardRef23(({ showDetails = true, ...props }, ref)
|
|
|
13385
13447
|
ref,
|
|
13386
13448
|
...props,
|
|
13387
13449
|
children: [
|
|
13388
|
-
/* @__PURE__ */
|
|
13389
|
-
/* @__PURE__ */
|
|
13450
|
+
/* @__PURE__ */ jsxs42("div", { className: "relative", children: [
|
|
13451
|
+
/* @__PURE__ */ jsx57(
|
|
13390
13452
|
ProgressCircle_default,
|
|
13391
13453
|
{
|
|
13392
13454
|
size: "medium",
|
|
@@ -13396,24 +13458,24 @@ var QuizResultPerformance = forwardRef23(({ showDetails = true, ...props }, ref)
|
|
|
13396
13458
|
label: ""
|
|
13397
13459
|
}
|
|
13398
13460
|
),
|
|
13399
|
-
/* @__PURE__ */
|
|
13400
|
-
showDetails && /* @__PURE__ */
|
|
13401
|
-
/* @__PURE__ */
|
|
13402
|
-
/* @__PURE__ */
|
|
13461
|
+
/* @__PURE__ */ jsxs42("div", { className: "absolute inset-0 flex flex-col items-center justify-center", children: [
|
|
13462
|
+
showDetails && /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-1 mb-1", children: [
|
|
13463
|
+
/* @__PURE__ */ jsx57(Clock3, { size: 12, weight: "regular", className: "text-text-800" }),
|
|
13464
|
+
/* @__PURE__ */ jsx57("span", { className: "text-2xs font-medium text-text-800", children: formatTime2(
|
|
13403
13465
|
(getQuestionResultStatistics()?.timeSpent ?? 0) * 60
|
|
13404
13466
|
) })
|
|
13405
13467
|
] }),
|
|
13406
|
-
/* @__PURE__ */
|
|
13468
|
+
/* @__PURE__ */ jsxs42("div", { className: "text-2xl font-medium text-text-800 leading-7", children: [
|
|
13407
13469
|
getQuestionResultStatistics()?.correctAnswers ?? "--",
|
|
13408
13470
|
" de",
|
|
13409
13471
|
" ",
|
|
13410
13472
|
totalQuestions
|
|
13411
13473
|
] }),
|
|
13412
|
-
/* @__PURE__ */
|
|
13474
|
+
/* @__PURE__ */ jsx57("div", { className: "text-2xs font-medium text-text-600 mt-1", children: "Corretas" })
|
|
13413
13475
|
] })
|
|
13414
13476
|
] }),
|
|
13415
|
-
showDetails && /* @__PURE__ */
|
|
13416
|
-
/* @__PURE__ */
|
|
13477
|
+
showDetails && /* @__PURE__ */ jsxs42("div", { className: "flex flex-col gap-4 w-full", children: [
|
|
13478
|
+
/* @__PURE__ */ jsx57(
|
|
13417
13479
|
ProgressBar_default,
|
|
13418
13480
|
{
|
|
13419
13481
|
className: "w-full",
|
|
@@ -13427,7 +13489,7 @@ var QuizResultPerformance = forwardRef23(({ showDetails = true, ...props }, ref)
|
|
|
13427
13489
|
percentageClassName: "text-xs font-medium leading-[14px] text-right"
|
|
13428
13490
|
}
|
|
13429
13491
|
),
|
|
13430
|
-
/* @__PURE__ */
|
|
13492
|
+
/* @__PURE__ */ jsx57(
|
|
13431
13493
|
ProgressBar_default,
|
|
13432
13494
|
{
|
|
13433
13495
|
className: "w-full",
|
|
@@ -13441,7 +13503,7 @@ var QuizResultPerformance = forwardRef23(({ showDetails = true, ...props }, ref)
|
|
|
13441
13503
|
percentageClassName: "text-xs font-medium leading-[14px] text-right"
|
|
13442
13504
|
}
|
|
13443
13505
|
),
|
|
13444
|
-
/* @__PURE__ */
|
|
13506
|
+
/* @__PURE__ */ jsx57(
|
|
13445
13507
|
ProgressBar_default,
|
|
13446
13508
|
{
|
|
13447
13509
|
className: "w-full",
|
|
@@ -13488,9 +13550,9 @@ var QuizListResult = forwardRef23(({ className, onSubjectClick, ...props }, ref)
|
|
|
13488
13550
|
};
|
|
13489
13551
|
}
|
|
13490
13552
|
);
|
|
13491
|
-
return /* @__PURE__ */
|
|
13492
|
-
/* @__PURE__ */
|
|
13493
|
-
/* @__PURE__ */
|
|
13553
|
+
return /* @__PURE__ */ jsxs42("section", { ref, className, ...props, children: [
|
|
13554
|
+
/* @__PURE__ */ jsx57("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Mat\xE9rias" }),
|
|
13555
|
+
/* @__PURE__ */ jsx57("ul", { className: "flex flex-col gap-2", children: subjectsStats.map((subject) => /* @__PURE__ */ jsx57("li", { children: /* @__PURE__ */ jsx57(
|
|
13494
13556
|
CardResults,
|
|
13495
13557
|
{
|
|
13496
13558
|
onClick: () => onSubjectClick?.(subject.subject.id),
|
|
@@ -13514,16 +13576,16 @@ var QuizListResultByMateria = ({
|
|
|
13514
13576
|
const groupedQuestions = getQuestionsGroupedBySubject();
|
|
13515
13577
|
const answeredQuestions = groupedQuestions[subject] || [];
|
|
13516
13578
|
const formattedQuestions = subject == "all" ? Object.values(groupedQuestions).flat() : answeredQuestions;
|
|
13517
|
-
return /* @__PURE__ */
|
|
13518
|
-
/* @__PURE__ */
|
|
13519
|
-
/* @__PURE__ */
|
|
13520
|
-
/* @__PURE__ */
|
|
13521
|
-
/* @__PURE__ */
|
|
13579
|
+
return /* @__PURE__ */ jsxs42("div", { className: "flex flex-col", children: [
|
|
13580
|
+
/* @__PURE__ */ jsx57("div", { className: "flex flex-row pt-4 justify-between", children: /* @__PURE__ */ jsx57("p", { className: "text-text-950 font-bold text-2xl", children: subjectName || formattedQuestions?.[0]?.knowledgeMatrix?.[0]?.subject?.name || "Sem mat\xE9ria" }) }),
|
|
13581
|
+
/* @__PURE__ */ jsxs42("section", { className: "flex flex-col ", children: [
|
|
13582
|
+
/* @__PURE__ */ jsx57("p", { className: "pt-6 pb-4 text-text-950 font-bold text-lg", children: "Resultado das quest\xF5es" }),
|
|
13583
|
+
/* @__PURE__ */ jsx57("ul", { className: "flex flex-col gap-2 pt-4", children: formattedQuestions.map((question) => {
|
|
13522
13584
|
const questionIndex = getQuestionIndex(
|
|
13523
13585
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13524
13586
|
question.questionId ?? question.id
|
|
13525
13587
|
);
|
|
13526
|
-
return /* @__PURE__ */
|
|
13588
|
+
return /* @__PURE__ */ jsx57("li", { children: /* @__PURE__ */ jsx57(
|
|
13527
13589
|
CardStatus,
|
|
13528
13590
|
{
|
|
13529
13591
|
className: "max-w-full",
|
|
@@ -13549,7 +13611,7 @@ var QuizListResultByMateria = ({
|
|
|
13549
13611
|
|
|
13550
13612
|
// src/components/BreadcrumbMenu/BreadcrumbMenu.tsx
|
|
13551
13613
|
import { useNavigate } from "react-router-dom";
|
|
13552
|
-
import { jsx as
|
|
13614
|
+
import { jsx as jsx58 } from "react/jsx-runtime";
|
|
13553
13615
|
var BreadcrumbMenu = ({
|
|
13554
13616
|
breadcrumbs,
|
|
13555
13617
|
onBreadcrumbClick,
|
|
@@ -13562,17 +13624,17 @@ var BreadcrumbMenu = ({
|
|
|
13562
13624
|
}
|
|
13563
13625
|
navigate(breadcrumb.url);
|
|
13564
13626
|
};
|
|
13565
|
-
return /* @__PURE__ */
|
|
13627
|
+
return /* @__PURE__ */ jsx58(
|
|
13566
13628
|
Menu,
|
|
13567
13629
|
{
|
|
13568
13630
|
value: `breadcrumb-${breadcrumbs.length - 1}`,
|
|
13569
13631
|
defaultValue: "breadcrumb-0",
|
|
13570
13632
|
variant: "breadcrumb",
|
|
13571
13633
|
className,
|
|
13572
|
-
children: /* @__PURE__ */
|
|
13634
|
+
children: /* @__PURE__ */ jsx58(MenuContent, { className: "w-full flex flex-row flex-wrap gap-2 !px-0", children: breadcrumbs.map((breadcrumb, index) => {
|
|
13573
13635
|
const isLast = index === breadcrumbs.length - 1;
|
|
13574
13636
|
const hasSeparator = !isLast;
|
|
13575
|
-
return /* @__PURE__ */
|
|
13637
|
+
return /* @__PURE__ */ jsx58(
|
|
13576
13638
|
MenuItem,
|
|
13577
13639
|
{
|
|
13578
13640
|
variant: "breadcrumb",
|
|
@@ -14117,6 +14179,7 @@ export {
|
|
|
14117
14179
|
Modal_default as Modal,
|
|
14118
14180
|
MultipleChoiceList,
|
|
14119
14181
|
NavButton_default as NavButton,
|
|
14182
|
+
NoSearchResult_default as NoSearchResult,
|
|
14120
14183
|
NotFound_default as NotFound,
|
|
14121
14184
|
NotificationCard_default as NotificationCard,
|
|
14122
14185
|
NotificationEntityType,
|