analytica-frontend-lib 1.1.18 → 1.1.19
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/hooks/useMobile/index.d.mts +24 -0
- package/dist/hooks/useMobile/index.d.ts +24 -0
- package/dist/hooks/useMobile/index.js +87 -0
- package/dist/hooks/useMobile/index.js.map +1 -0
- package/dist/hooks/useMobile/index.mjs +61 -0
- package/dist/hooks/useMobile/index.mjs.map +1 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +197 -136
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +113 -54
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -5903,10 +5903,67 @@ var IconRender = ({
|
|
|
5903
5903
|
};
|
|
5904
5904
|
var IconRender_default = IconRender;
|
|
5905
5905
|
|
|
5906
|
+
// src/hooks/useMobile.ts
|
|
5907
|
+
import { useState as useState12, useEffect as useEffect9 } from "react";
|
|
5908
|
+
var MOBILE_WIDTH = 500;
|
|
5909
|
+
var TABLET_WIDTH = 931;
|
|
5910
|
+
var DEFAULT_WIDTH = 1200;
|
|
5911
|
+
var getWindowWidth = () => {
|
|
5912
|
+
if (typeof window === "undefined") {
|
|
5913
|
+
return DEFAULT_WIDTH;
|
|
5914
|
+
}
|
|
5915
|
+
return window.innerWidth;
|
|
5916
|
+
};
|
|
5917
|
+
var getDeviceType = () => {
|
|
5918
|
+
const width = getWindowWidth();
|
|
5919
|
+
return width < TABLET_WIDTH ? "responsive" : "desktop";
|
|
5920
|
+
};
|
|
5921
|
+
var useMobile = () => {
|
|
5922
|
+
const [isMobile, setIsMobile] = useState12(false);
|
|
5923
|
+
const [isTablet, setIsTablet] = useState12(false);
|
|
5924
|
+
useEffect9(() => {
|
|
5925
|
+
const checkScreenSize = () => {
|
|
5926
|
+
const width = getWindowWidth();
|
|
5927
|
+
setIsMobile(width < MOBILE_WIDTH);
|
|
5928
|
+
setIsTablet(width < TABLET_WIDTH);
|
|
5929
|
+
};
|
|
5930
|
+
checkScreenSize();
|
|
5931
|
+
window.addEventListener("resize", checkScreenSize);
|
|
5932
|
+
return () => window.removeEventListener("resize", checkScreenSize);
|
|
5933
|
+
}, []);
|
|
5934
|
+
const getFormContainerClasses = () => {
|
|
5935
|
+
if (isMobile) {
|
|
5936
|
+
return "w-full px-4";
|
|
5937
|
+
}
|
|
5938
|
+
if (isTablet) {
|
|
5939
|
+
return "w-full px-6";
|
|
5940
|
+
}
|
|
5941
|
+
return "w-full max-w-[992px] mx-auto px-0";
|
|
5942
|
+
};
|
|
5943
|
+
const getMobileHeaderClasses = () => {
|
|
5944
|
+
return "flex flex-col items-start gap-4 mb-6";
|
|
5945
|
+
};
|
|
5946
|
+
const getDesktopHeaderClasses = () => {
|
|
5947
|
+
return "flex flex-row justify-between items-center gap-6 mb-8";
|
|
5948
|
+
};
|
|
5949
|
+
const getHeaderClasses = () => {
|
|
5950
|
+
return isMobile ? getMobileHeaderClasses() : getDesktopHeaderClasses();
|
|
5951
|
+
};
|
|
5952
|
+
return {
|
|
5953
|
+
isMobile,
|
|
5954
|
+
isTablet,
|
|
5955
|
+
getFormContainerClasses,
|
|
5956
|
+
getHeaderClasses,
|
|
5957
|
+
getMobileHeaderClasses,
|
|
5958
|
+
getDesktopHeaderClasses,
|
|
5959
|
+
getDeviceType
|
|
5960
|
+
};
|
|
5961
|
+
};
|
|
5962
|
+
|
|
5906
5963
|
// src/components/Select/Select.tsx
|
|
5907
5964
|
import { create as create5, useStore as useStore4 } from "zustand";
|
|
5908
5965
|
import {
|
|
5909
|
-
useEffect as
|
|
5966
|
+
useEffect as useEffect10,
|
|
5910
5967
|
useRef as useRef7,
|
|
5911
5968
|
forwardRef as forwardRef16,
|
|
5912
5969
|
isValidElement as isValidElement4,
|
|
@@ -6037,13 +6094,13 @@ var Select = ({
|
|
|
6037
6094
|
search(children2);
|
|
6038
6095
|
return found;
|
|
6039
6096
|
};
|
|
6040
|
-
|
|
6097
|
+
useEffect10(() => {
|
|
6041
6098
|
if (!selectedLabel && defaultValue) {
|
|
6042
6099
|
const label2 = findLabelForValue(children, defaultValue);
|
|
6043
6100
|
if (label2) store.setState({ selectedLabel: label2 });
|
|
6044
6101
|
}
|
|
6045
6102
|
}, [children, defaultValue, selectedLabel]);
|
|
6046
|
-
|
|
6103
|
+
useEffect10(() => {
|
|
6047
6104
|
const handleClickOutside = (event) => {
|
|
6048
6105
|
if (selectRef.current && !selectRef.current.contains(event.target)) {
|
|
6049
6106
|
setOpen(false);
|
|
@@ -6078,7 +6135,7 @@ var Select = ({
|
|
|
6078
6135
|
document.removeEventListener("keydown", handleArrowKeys);
|
|
6079
6136
|
};
|
|
6080
6137
|
}, [open]);
|
|
6081
|
-
|
|
6138
|
+
useEffect10(() => {
|
|
6082
6139
|
if (propValue) {
|
|
6083
6140
|
setValue(propValue);
|
|
6084
6141
|
const label2 = findLabelForValue(children, propValue);
|
|
@@ -6261,13 +6318,13 @@ var Select_default = Select;
|
|
|
6261
6318
|
// src/components/Menu/Menu.tsx
|
|
6262
6319
|
import { create as create6, useStore as useStore5 } from "zustand";
|
|
6263
6320
|
import {
|
|
6264
|
-
useEffect as
|
|
6321
|
+
useEffect as useEffect11,
|
|
6265
6322
|
useRef as useRef8,
|
|
6266
6323
|
forwardRef as forwardRef17,
|
|
6267
6324
|
isValidElement as isValidElement5,
|
|
6268
6325
|
Children as Children5,
|
|
6269
6326
|
cloneElement as cloneElement5,
|
|
6270
|
-
useState as
|
|
6327
|
+
useState as useState13
|
|
6271
6328
|
} from "react";
|
|
6272
6329
|
import { CaretLeft as CaretLeft2, CaretRight as CaretRight3 } from "phosphor-react";
|
|
6273
6330
|
import { jsx as jsx33, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
@@ -6302,7 +6359,7 @@ var Menu = forwardRef17(
|
|
|
6302
6359
|
storeRef.current ??= createMenuStore(onValueChange);
|
|
6303
6360
|
const store = storeRef.current;
|
|
6304
6361
|
const { setValue } = useStore5(store, (s) => s);
|
|
6305
|
-
|
|
6362
|
+
useEffect11(() => {
|
|
6306
6363
|
setValue(propValue ?? defaultValue);
|
|
6307
6364
|
}, [defaultValue, propValue, setValue]);
|
|
6308
6365
|
const baseClasses = "w-full py-2 flex flex-row items-center justify-center";
|
|
@@ -6479,9 +6536,9 @@ var MenuOverflow = ({
|
|
|
6479
6536
|
...props
|
|
6480
6537
|
}) => {
|
|
6481
6538
|
const containerRef = useRef8(null);
|
|
6482
|
-
const [showLeftArrow, setShowLeftArrow] =
|
|
6483
|
-
const [showRightArrow, setShowRightArrow] =
|
|
6484
|
-
|
|
6539
|
+
const [showLeftArrow, setShowLeftArrow] = useState13(false);
|
|
6540
|
+
const [showRightArrow, setShowRightArrow] = useState13(false);
|
|
6541
|
+
useEffect11(() => {
|
|
6485
6542
|
const checkScroll = () => internalCheckScroll(
|
|
6486
6543
|
containerRef.current,
|
|
6487
6544
|
setShowLeftArrow,
|
|
@@ -6808,8 +6865,8 @@ var NotFound_default = NotFound;
|
|
|
6808
6865
|
// src/components/VideoPlayer/VideoPlayer.tsx
|
|
6809
6866
|
import {
|
|
6810
6867
|
useRef as useRef9,
|
|
6811
|
-
useState as
|
|
6812
|
-
useEffect as
|
|
6868
|
+
useState as useState14,
|
|
6869
|
+
useEffect as useEffect12,
|
|
6813
6870
|
useCallback
|
|
6814
6871
|
} from "react";
|
|
6815
6872
|
import {
|
|
@@ -6926,20 +6983,20 @@ var VideoPlayer = ({
|
|
|
6926
6983
|
storageKey = "video-progress"
|
|
6927
6984
|
}) => {
|
|
6928
6985
|
const videoRef = useRef9(null);
|
|
6929
|
-
const [isPlaying, setIsPlaying] =
|
|
6930
|
-
const [currentTime, setCurrentTime] =
|
|
6931
|
-
const [duration, setDuration] =
|
|
6932
|
-
const [isMuted, setIsMuted] =
|
|
6933
|
-
const [volume, setVolume] =
|
|
6934
|
-
const [isFullscreen, setIsFullscreen] =
|
|
6935
|
-
const [showControls, setShowControls] =
|
|
6936
|
-
const [hasCompleted, setHasCompleted] =
|
|
6937
|
-
const [showCaptions, setShowCaptions] =
|
|
6938
|
-
|
|
6986
|
+
const [isPlaying, setIsPlaying] = useState14(false);
|
|
6987
|
+
const [currentTime, setCurrentTime] = useState14(0);
|
|
6988
|
+
const [duration, setDuration] = useState14(0);
|
|
6989
|
+
const [isMuted, setIsMuted] = useState14(false);
|
|
6990
|
+
const [volume, setVolume] = useState14(1);
|
|
6991
|
+
const [isFullscreen, setIsFullscreen] = useState14(false);
|
|
6992
|
+
const [showControls, setShowControls] = useState14(true);
|
|
6993
|
+
const [hasCompleted, setHasCompleted] = useState14(false);
|
|
6994
|
+
const [showCaptions, setShowCaptions] = useState14(false);
|
|
6995
|
+
useEffect12(() => {
|
|
6939
6996
|
setHasCompleted(false);
|
|
6940
6997
|
}, [src]);
|
|
6941
|
-
const [playbackRate, setPlaybackRate] =
|
|
6942
|
-
const [showSpeedMenu, setShowSpeedMenu] =
|
|
6998
|
+
const [playbackRate, setPlaybackRate] = useState14(1);
|
|
6999
|
+
const [showSpeedMenu, setShowSpeedMenu] = useState14(false);
|
|
6943
7000
|
const lastSaveTimeRef = useRef9(0);
|
|
6944
7001
|
const trackRef = useRef9(null);
|
|
6945
7002
|
const controlsTimeoutRef = useRef9(null);
|
|
@@ -7007,13 +7064,13 @@ var VideoPlayer = ({
|
|
|
7007
7064
|
}, LEAVE_HIDE_TIMEOUT);
|
|
7008
7065
|
}
|
|
7009
7066
|
}, [isFullscreen, clearControlsTimeout, isUserInteracting]);
|
|
7010
|
-
|
|
7067
|
+
useEffect12(() => {
|
|
7011
7068
|
if (videoRef.current) {
|
|
7012
7069
|
videoRef.current.volume = volume;
|
|
7013
7070
|
videoRef.current.muted = isMuted;
|
|
7014
7071
|
}
|
|
7015
7072
|
}, [volume, isMuted]);
|
|
7016
|
-
|
|
7073
|
+
useEffect12(() => {
|
|
7017
7074
|
const video = videoRef.current;
|
|
7018
7075
|
if (!video) return;
|
|
7019
7076
|
const onPlay = () => setIsPlaying(true);
|
|
@@ -7028,7 +7085,7 @@ var VideoPlayer = ({
|
|
|
7028
7085
|
video.removeEventListener("ended", onEnded);
|
|
7029
7086
|
};
|
|
7030
7087
|
}, []);
|
|
7031
|
-
|
|
7088
|
+
useEffect12(() => {
|
|
7032
7089
|
if (isPlaying) {
|
|
7033
7090
|
showControlsWithTimer();
|
|
7034
7091
|
} else {
|
|
@@ -7040,7 +7097,7 @@ var VideoPlayer = ({
|
|
|
7040
7097
|
}
|
|
7041
7098
|
}
|
|
7042
7099
|
}, [isPlaying, isFullscreen, showControlsWithTimer, clearControlsTimeout]);
|
|
7043
|
-
|
|
7100
|
+
useEffect12(() => {
|
|
7044
7101
|
const handleFullscreenChange = () => {
|
|
7045
7102
|
const isCurrentlyFullscreen = !!document.fullscreenElement;
|
|
7046
7103
|
setIsFullscreen(isCurrentlyFullscreen);
|
|
@@ -7053,7 +7110,7 @@ var VideoPlayer = ({
|
|
|
7053
7110
|
document.removeEventListener("fullscreenchange", handleFullscreenChange);
|
|
7054
7111
|
};
|
|
7055
7112
|
}, [showControlsWithTimer]);
|
|
7056
|
-
|
|
7113
|
+
useEffect12(() => {
|
|
7057
7114
|
const init = () => {
|
|
7058
7115
|
if (!isFullscreen) {
|
|
7059
7116
|
showControlsWithTimer();
|
|
@@ -7086,7 +7143,7 @@ var VideoPlayer = ({
|
|
|
7086
7143
|
if (hasValidSaved) return saved;
|
|
7087
7144
|
return void 0;
|
|
7088
7145
|
}, [autoSave, storageKey, src, initialTime]);
|
|
7089
|
-
|
|
7146
|
+
useEffect12(() => {
|
|
7090
7147
|
const start = getInitialTime();
|
|
7091
7148
|
if (start !== void 0 && videoRef.current) {
|
|
7092
7149
|
videoRef.current.currentTime = start;
|
|
@@ -7207,12 +7264,12 @@ var VideoPlayer = ({
|
|
|
7207
7264
|
setDuration(videoRef.current.duration);
|
|
7208
7265
|
}
|
|
7209
7266
|
}, []);
|
|
7210
|
-
|
|
7267
|
+
useEffect12(() => {
|
|
7211
7268
|
if (trackRef.current?.track) {
|
|
7212
7269
|
trackRef.current.track.mode = showCaptions && subtitles ? "showing" : "hidden";
|
|
7213
7270
|
}
|
|
7214
7271
|
}, [subtitles, showCaptions]);
|
|
7215
|
-
|
|
7272
|
+
useEffect12(() => {
|
|
7216
7273
|
const handleVisibilityChange = () => {
|
|
7217
7274
|
if (document.hidden && isPlaying && videoRef.current) {
|
|
7218
7275
|
videoRef.current.pause();
|
|
@@ -7465,7 +7522,7 @@ var VideoPlayer = ({
|
|
|
7465
7522
|
var VideoPlayer_default = VideoPlayer;
|
|
7466
7523
|
|
|
7467
7524
|
// src/components/Whiteboard/Whiteboard.tsx
|
|
7468
|
-
import { useCallback as useCallback2, useState as
|
|
7525
|
+
import { useCallback as useCallback2, useState as useState15 } from "react";
|
|
7469
7526
|
import { DownloadSimple } from "phosphor-react";
|
|
7470
7527
|
import { Fragment as Fragment7, jsx as jsx37, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
7471
7528
|
var IMAGE_WIDTH = 225;
|
|
@@ -7478,7 +7535,7 @@ var Whiteboard = ({
|
|
|
7478
7535
|
imagesPerRow = 2,
|
|
7479
7536
|
...rest
|
|
7480
7537
|
}) => {
|
|
7481
|
-
const [imageErrors, setImageErrors] =
|
|
7538
|
+
const [imageErrors, setImageErrors] = useState15(/* @__PURE__ */ new Set());
|
|
7482
7539
|
const handleDownload = useCallback2(
|
|
7483
7540
|
(image) => {
|
|
7484
7541
|
if (onDownload) {
|
|
@@ -7586,8 +7643,8 @@ var Whiteboard_default = Whiteboard;
|
|
|
7586
7643
|
import {
|
|
7587
7644
|
createContext,
|
|
7588
7645
|
useContext,
|
|
7589
|
-
useEffect as
|
|
7590
|
-
useState as
|
|
7646
|
+
useEffect as useEffect13,
|
|
7647
|
+
useState as useState16,
|
|
7591
7648
|
useCallback as useCallback3,
|
|
7592
7649
|
useMemo as useMemo4
|
|
7593
7650
|
} from "react";
|
|
@@ -7603,7 +7660,7 @@ var AuthProvider = ({
|
|
|
7603
7660
|
getSessionFn,
|
|
7604
7661
|
getTokensFn
|
|
7605
7662
|
}) => {
|
|
7606
|
-
const [authState, setAuthState] =
|
|
7663
|
+
const [authState, setAuthState] = useState16({
|
|
7607
7664
|
isAuthenticated: false,
|
|
7608
7665
|
isLoading: true,
|
|
7609
7666
|
...initialAuthState
|
|
@@ -7651,7 +7708,7 @@ var AuthProvider = ({
|
|
|
7651
7708
|
tokens: void 0
|
|
7652
7709
|
}));
|
|
7653
7710
|
}, [signOutFn]);
|
|
7654
|
-
|
|
7711
|
+
useEffect13(() => {
|
|
7655
7712
|
checkAuth();
|
|
7656
7713
|
}, [checkAuth]);
|
|
7657
7714
|
const contextValue = useMemo4(
|
|
@@ -7805,7 +7862,7 @@ function createZustandAuthAdapter(useAuthStore) {
|
|
|
7805
7862
|
}
|
|
7806
7863
|
|
|
7807
7864
|
// src/components/Auth/useUrlAuthentication.ts
|
|
7808
|
-
import { useEffect as
|
|
7865
|
+
import { useEffect as useEffect14 } from "react";
|
|
7809
7866
|
import { useLocation as useLocation2 } from "react-router-dom";
|
|
7810
7867
|
var getAuthParams = (location, extractParams) => {
|
|
7811
7868
|
const searchParams = new URLSearchParams(location.search);
|
|
@@ -7853,7 +7910,7 @@ var handleUserData = (responseData, setUser) => {
|
|
|
7853
7910
|
};
|
|
7854
7911
|
function useUrlAuthentication(options) {
|
|
7855
7912
|
const location = useLocation2();
|
|
7856
|
-
|
|
7913
|
+
useEffect14(() => {
|
|
7857
7914
|
const handleAuthentication = async () => {
|
|
7858
7915
|
const authParams = getAuthParams(location, options.extractParams);
|
|
7859
7916
|
if (!hasValidAuthParams(authParams)) {
|
|
@@ -7915,10 +7972,10 @@ import {
|
|
|
7915
7972
|
} from "phosphor-react";
|
|
7916
7973
|
import {
|
|
7917
7974
|
forwardRef as forwardRef19,
|
|
7918
|
-
useEffect as
|
|
7975
|
+
useEffect as useEffect15,
|
|
7919
7976
|
useMemo as useMemo6,
|
|
7920
7977
|
useId as useId10,
|
|
7921
|
-
useState as
|
|
7978
|
+
useState as useState17,
|
|
7922
7979
|
useCallback as useCallback4,
|
|
7923
7980
|
useRef as useRef10
|
|
7924
7981
|
} from "react";
|
|
@@ -8519,7 +8576,7 @@ var getStatusStyles = (variantCorrect) => {
|
|
|
8519
8576
|
};
|
|
8520
8577
|
var Quiz = forwardRef19(({ children, className, variant = "default", ...props }, ref) => {
|
|
8521
8578
|
const { setVariant } = useQuizStore();
|
|
8522
|
-
|
|
8579
|
+
useEffect15(() => {
|
|
8523
8580
|
setVariant(variant);
|
|
8524
8581
|
}, [variant, setVariant]);
|
|
8525
8582
|
return /* @__PURE__ */ jsx39(
|
|
@@ -8538,8 +8595,8 @@ var Quiz = forwardRef19(({ children, className, variant = "default", ...props },
|
|
|
8538
8595
|
var QuizHeaderResult = forwardRef19(
|
|
8539
8596
|
({ className, ...props }, ref) => {
|
|
8540
8597
|
const { getQuestionResultByQuestionId, getCurrentQuestion } = useQuizStore();
|
|
8541
|
-
const [isCorrect, setIsCorrect] =
|
|
8542
|
-
|
|
8598
|
+
const [isCorrect, setIsCorrect] = useState17(false);
|
|
8599
|
+
useEffect15(() => {
|
|
8543
8600
|
const cq = getCurrentQuestion();
|
|
8544
8601
|
if (!cq) {
|
|
8545
8602
|
setIsCorrect(false);
|
|
@@ -8829,7 +8886,7 @@ var QuizDissertative = ({ paddingBottom }) => {
|
|
|
8829
8886
|
textareaRef.current.style.height = `${newHeight}px`;
|
|
8830
8887
|
}
|
|
8831
8888
|
}, []);
|
|
8832
|
-
|
|
8889
|
+
useEffect15(() => {
|
|
8833
8890
|
adjustTextareaHeight();
|
|
8834
8891
|
}, [currentAnswer, adjustTextareaHeight]);
|
|
8835
8892
|
if (!currentQuestion) {
|
|
@@ -8968,7 +9025,7 @@ var QuizConnectDots = ({ paddingBottom }) => {
|
|
|
8968
9025
|
isCorrect: false
|
|
8969
9026
|
}
|
|
8970
9027
|
];
|
|
8971
|
-
const [userAnswers, setUserAnswers] =
|
|
9028
|
+
const [userAnswers, setUserAnswers] = useState17(() => {
|
|
8972
9029
|
if (variant === "result") {
|
|
8973
9030
|
return mockUserAnswers;
|
|
8974
9031
|
}
|
|
@@ -9087,7 +9144,7 @@ var QuizFill = ({ paddingBottom }) => {
|
|
|
9087
9144
|
isCorrect: true
|
|
9088
9145
|
}
|
|
9089
9146
|
];
|
|
9090
|
-
const [answers, setAnswers] =
|
|
9147
|
+
const [answers, setAnswers] = useState17({});
|
|
9091
9148
|
const baseId = useId10();
|
|
9092
9149
|
const getAvailableOptionsForSelect = (selectId) => {
|
|
9093
9150
|
const usedOptions = Object.entries(answers).filter(([key]) => key !== selectId).map(([, value]) => value);
|
|
@@ -9225,7 +9282,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
|
|
|
9225
9282
|
};
|
|
9226
9283
|
const correctRadiusRelative = calculateCorrectRadiusRelative();
|
|
9227
9284
|
const mockUserAnswerRelative = { x: 0.72, y: 0.348 };
|
|
9228
|
-
const [clickPositionRelative, setClickPositionRelative] =
|
|
9285
|
+
const [clickPositionRelative, setClickPositionRelative] = useState17(variant == "result" ? mockUserAnswerRelative : null);
|
|
9229
9286
|
const convertToRelativeCoordinates = (x, y, rect) => {
|
|
9230
9287
|
const safeWidth = Math.max(rect.width, 1e-3);
|
|
9231
9288
|
const safeHeight = Math.max(rect.height, 1e-3);
|
|
@@ -9449,11 +9506,11 @@ var QuizFooter = forwardRef19(
|
|
|
9449
9506
|
const currentAnswer = getCurrentAnswer();
|
|
9450
9507
|
const currentQuestion = getCurrentQuestion();
|
|
9451
9508
|
const isCurrentQuestionSkipped = currentQuestion ? getQuestionStatusFromUserAnswers(currentQuestion.id) === "skipped" : false;
|
|
9452
|
-
const [alertDialogOpen, setAlertDialogOpen] =
|
|
9453
|
-
const [modalResultOpen, setModalResultOpen] =
|
|
9454
|
-
const [modalNavigateOpen, setModalNavigateOpen] =
|
|
9455
|
-
const [modalResolutionOpen, setModalResolutionOpen] =
|
|
9456
|
-
const [filterType, setFilterType] =
|
|
9509
|
+
const [alertDialogOpen, setAlertDialogOpen] = useState17(false);
|
|
9510
|
+
const [modalResultOpen, setModalResultOpen] = useState17(false);
|
|
9511
|
+
const [modalNavigateOpen, setModalNavigateOpen] = useState17(false);
|
|
9512
|
+
const [modalResolutionOpen, setModalResolutionOpen] = useState17(false);
|
|
9513
|
+
const [filterType, setFilterType] = useState17(void 0);
|
|
9457
9514
|
const unansweredQuestions = getUnansweredQuestionsFromUserAnswers();
|
|
9458
9515
|
const allQuestions = getTotalQuestions();
|
|
9459
9516
|
const handleFinishQuiz = async () => {
|
|
@@ -10007,11 +10064,13 @@ export {
|
|
|
10007
10064
|
VideoPlayer_default as VideoPlayer,
|
|
10008
10065
|
Whiteboard_default as Whiteboard,
|
|
10009
10066
|
createZustandAuthAdapter,
|
|
10067
|
+
getDeviceType,
|
|
10010
10068
|
getRootDomain,
|
|
10011
10069
|
getStatusBadge,
|
|
10012
10070
|
useApiConfig,
|
|
10013
10071
|
useAuth,
|
|
10014
10072
|
useAuthGuard,
|
|
10073
|
+
useMobile,
|
|
10015
10074
|
useQuizStore,
|
|
10016
10075
|
useRouteAuth,
|
|
10017
10076
|
ToastStore_default as useToastStore,
|