@magmamath/students-features 1.3.23-rc.12 → 1.3.23-rc.14

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.
Files changed (34) hide show
  1. package/dist/commonjs/features/voice/playing/components/VoiceTranscription.js +6 -0
  2. package/dist/commonjs/features/voice/playing/components/VoiceTranscription.js.map +1 -1
  3. package/dist/commonjs/features/voice/playing/components/VoiceTranscriptionHeaderActions.js +1 -1
  4. package/dist/commonjs/features/voice/playing/components/VoiceTranscriptionHeaderActions.js.map +1 -1
  5. package/dist/commonjs/features/voice/playing/hooks/useVoiceTranscriptionAutoExpand.js +46 -0
  6. package/dist/commonjs/features/voice/playing/hooks/useVoiceTranscriptionAutoExpand.js.map +1 -0
  7. package/dist/commonjs/features/voice/playing/hooks/useVoiceTranscriptionEffects.js +0 -13
  8. package/dist/commonjs/features/voice/playing/hooks/useVoiceTranscriptionEffects.js.map +1 -1
  9. package/dist/commonjs/shared/components/PlayButton.js +1 -1
  10. package/dist/commonjs/shared/components/PlayButton.js.map +1 -1
  11. package/dist/module/features/voice/playing/components/VoiceTranscription.js +6 -0
  12. package/dist/module/features/voice/playing/components/VoiceTranscription.js.map +1 -1
  13. package/dist/module/features/voice/playing/components/VoiceTranscriptionHeaderActions.js +2 -2
  14. package/dist/module/features/voice/playing/components/VoiceTranscriptionHeaderActions.js.map +1 -1
  15. package/dist/module/features/voice/playing/hooks/useVoiceTranscriptionAutoExpand.js +41 -0
  16. package/dist/module/features/voice/playing/hooks/useVoiceTranscriptionAutoExpand.js.map +1 -0
  17. package/dist/module/features/voice/playing/hooks/useVoiceTranscriptionEffects.js +0 -13
  18. package/dist/module/features/voice/playing/hooks/useVoiceTranscriptionEffects.js.map +1 -1
  19. package/dist/module/shared/components/PlayButton.js +2 -2
  20. package/dist/module/shared/components/PlayButton.js.map +1 -1
  21. package/dist/typescript/commonjs/features/voice/playing/components/VoiceTranscription.d.ts.map +1 -1
  22. package/dist/typescript/commonjs/features/voice/playing/hooks/useVoiceTranscriptionAutoExpand.d.ts +16 -0
  23. package/dist/typescript/commonjs/features/voice/playing/hooks/useVoiceTranscriptionAutoExpand.d.ts.map +1 -0
  24. package/dist/typescript/commonjs/features/voice/playing/hooks/useVoiceTranscriptionEffects.d.ts.map +1 -1
  25. package/dist/typescript/module/features/voice/playing/components/VoiceTranscription.d.ts.map +1 -1
  26. package/dist/typescript/module/features/voice/playing/hooks/useVoiceTranscriptionAutoExpand.d.ts +16 -0
  27. package/dist/typescript/module/features/voice/playing/hooks/useVoiceTranscriptionAutoExpand.d.ts.map +1 -0
  28. package/dist/typescript/module/features/voice/playing/hooks/useVoiceTranscriptionEffects.d.ts.map +1 -1
  29. package/package.json +2 -2
  30. package/src/features/voice/playing/components/VoiceTranscription.tsx +7 -0
  31. package/src/features/voice/playing/components/VoiceTranscriptionHeaderActions.tsx +2 -2
  32. package/src/features/voice/playing/hooks/useVoiceTranscriptionAutoExpand.ts +57 -0
  33. package/src/features/voice/playing/hooks/useVoiceTranscriptionEffects.ts +0 -15
  34. package/src/shared/components/PlayButton.tsx +2 -2
@@ -17,6 +17,7 @@ var _supportedLanguages = require("../../../translation/providers/google/support
17
17
  var _i18n = require("../../../../i18n/i18n.js");
18
18
  var _useVoiceTranscriptionEffects = require("../hooks/useVoiceTranscriptionEffects.js");
19
19
  var _useVoiceTranscriptionAutoTranslate = require("../hooks/useVoiceTranscriptionAutoTranslate.js");
20
+ var _useVoiceTranscriptionAutoExpand = require("../hooks/useVoiceTranscriptionAutoExpand.js");
20
21
  var _VoiceTranscriptContent = require("./VoiceTranscriptContent.js");
21
22
  var _VoiceTranscriptionCollapsible = require("./VoiceTranscriptionCollapsible.js");
22
23
  var _VoiceTranscriptionHeaderActions = require("./VoiceTranscriptionHeaderActions.js");
@@ -65,6 +66,11 @@ const VoiceTranscription = ({
65
66
  activeAttempt,
66
67
  problemId
67
68
  });
69
+ (0, _useVoiceTranscriptionAutoExpand.useVoiceTranscriptionAutoExpand)({
70
+ model,
71
+ activeAttempt,
72
+ targetLanguage: i18n.language
73
+ });
68
74
  (0, _react.useEffect)(() => {
69
75
  if (showTranslation && activeAttempt !== null && !cachedTranslation && !isTranslating) {
70
76
  model.translation.translate({
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeUi","require","_effectorReact","_react","_interopRequireWildcard","_reactI18next","_reactNative","_reactNativeReanimated","_interopRequireDefault","_constants","_helpers","_types","_supportedLanguages","_i18n","_useVoiceTranscriptionEffects","_useVoiceTranscriptionAutoTranslate","_VoiceTranscriptContent","_VoiceTranscriptionCollapsible","_VoiceTranscriptionHeaderActions","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","VoiceTranscription","style","model","answers","attemptOffset","attemptsCount","problemId","variant","VoiceTranscriptionVariant","SMALL","useText","i18n","useTranslation","playerState","isLoadingTranscripts","isTranslationActive","translations","isTranslating","useUnit","$playerState","loader","loadAllTranscripts","pending","translation","$isActive","$translations","translate","activeAttempt","getActiveAttempt","isLargeVariant","LARGE","answersKey","useMemo","map","_id","audioFileId","join","useVoiceTranscriptionEffects","hasActiveAudio","undefined","activeTranscript","getTranscript","hasTranscriptText","NO_AUDIO_BE_MESSAGE","isActiveTranscriptLoading","transcriptLanguage","getTranscriptLanguage","isSourceSameAsTarget","resolveGoogleLanguageCode","language","canTranslate","cachedTranslation","showTranslation","isTranslationLoading","displayText","useVoiceTranscriptionAutoTranslate","translationModel","useEffect","attemptNumber","targetLanguage","handlePlayPress","useCallback","setActive","togglePlayPause","handleTranslationToggle","toggle","jsxs","View","styles","container","largeContainer","children","header","jsx","Typography","title","VoiceTranscriptionHeaderActions","onPlayPress","onTranslationPress","VoiceTranscriptContent","text","isLoading","VoiceTranscriptionCollapsible","dropdown","exports","StyleSheet","create","position","top","left","width","maxHeight","minHeight","padding","boxShadow","borderRadius","backgroundColor","COLORS","NEUTRAL_1","overflow","height","flexDirection","justifyContent","alignItems","marginBottom","color","NEUTRAL_9","marginLeft"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/components/VoiceTranscription.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeUi","require","_effectorReact","_react","_interopRequireWildcard","_reactI18next","_reactNative","_reactNativeReanimated","_interopRequireDefault","_constants","_helpers","_types","_supportedLanguages","_i18n","_useVoiceTranscriptionEffects","_useVoiceTranscriptionAutoTranslate","_useVoiceTranscriptionAutoExpand","_VoiceTranscriptContent","_VoiceTranscriptionCollapsible","_VoiceTranscriptionHeaderActions","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","VoiceTranscription","style","model","answers","attemptOffset","attemptsCount","problemId","variant","VoiceTranscriptionVariant","SMALL","useText","i18n","useTranslation","playerState","isLoadingTranscripts","isTranslationActive","translations","isTranslating","useUnit","$playerState","loader","loadAllTranscripts","pending","translation","$isActive","$translations","translate","activeAttempt","getActiveAttempt","isLargeVariant","LARGE","answersKey","useMemo","map","_id","audioFileId","join","useVoiceTranscriptionEffects","hasActiveAudio","undefined","activeTranscript","getTranscript","hasTranscriptText","NO_AUDIO_BE_MESSAGE","isActiveTranscriptLoading","transcriptLanguage","getTranscriptLanguage","isSourceSameAsTarget","resolveGoogleLanguageCode","language","canTranslate","cachedTranslation","showTranslation","isTranslationLoading","displayText","useVoiceTranscriptionAutoTranslate","translationModel","useVoiceTranscriptionAutoExpand","targetLanguage","useEffect","attemptNumber","handlePlayPress","useCallback","setActive","togglePlayPause","handleTranslationToggle","toggle","jsxs","View","styles","container","largeContainer","children","header","jsx","Typography","title","VoiceTranscriptionHeaderActions","onPlayPress","onTranslationPress","VoiceTranscriptContent","text","isLoading","VoiceTranscriptionCollapsible","dropdown","exports","StyleSheet","create","position","top","left","width","maxHeight","minHeight","padding","boxShadow","borderRadius","backgroundColor","COLORS","NEUTRAL_1","overflow","height","flexDirection","justifyContent","alignItems","marginBottom","color","NEUTRAL_9","marginLeft"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/components/VoiceTranscription.tsx"],"mappings":"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","ignoreList":[]}
@@ -36,7 +36,7 @@ const VoiceTranscriptionHeaderActions = ({
36
36
  state: playButtonState,
37
37
  onPress: onPlayPress,
38
38
  activityIndicatorColor: _reactNativeUi.COLORS.NEUTRAL_1
39
- }), canTranslate && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Button, {
39
+ }), canTranslate && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.ReanimatedButton, {
40
40
  variant: "secondary",
41
41
  size: "small",
42
42
  colorScheme: _styleTypes.ColorScheme.Blue,
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeUi","require","_react","_interopRequireDefault","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_styleTypes","_PlayButton","_index","_helpers","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","VoiceTranscriptionHeaderActions","playerState","isTranslationActive","canTranslate","onPlayPress","onTranslationPress","playButtonState","isActive","PlayerState","IDLE","isLoading","LOADING","status","getAudioStatus","jsxs","View","entering","FadeIn","duration","exiting","FadeOut","style","styles","container","children","jsx","PlayButton","state","onPress","activityIndicatorColor","COLORS","NEUTRAL_1","Button","variant","size","colorScheme","ColorScheme","Blue","icon","GlobeIcon","color","NEUTRAL_9","exports","StyleSheet","create","flexDirection","alignItems","gap","SPACING"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/components/VoiceTranscriptionHeaderActions.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeUi","require","_react","_interopRequireDefault","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_styleTypes","_PlayButton","_index","_helpers","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","VoiceTranscriptionHeaderActions","playerState","isTranslationActive","canTranslate","onPlayPress","onTranslationPress","playButtonState","isActive","PlayerState","IDLE","isLoading","LOADING","status","getAudioStatus","jsxs","View","entering","FadeIn","duration","exiting","FadeOut","style","styles","container","children","jsx","PlayButton","state","onPress","activityIndicatorColor","COLORS","NEUTRAL_1","ReanimatedButton","variant","size","colorScheme","ColorScheme","Blue","icon","GlobeIcon","color","NEUTRAL_9","exports","StyleSheet","create","flexDirection","alignItems","gap","SPACING"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/components/VoiceTranscriptionHeaderActions.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useVoiceTranscriptionAutoExpand = void 0;
7
+ var _react = require("react");
8
+ var _effectorReact = require("effector-react");
9
+ var _constants = require("../../constants.js");
10
+ var _supportedLanguages = require("../../../translation/providers/google/supportedLanguages.js");
11
+ /**
12
+ * Auto-expands the transcription dropdown based on content readiness:
13
+ * - Stays collapsed during transcript loading or for drawing-only attempts.
14
+ * - When source language matches target, expands as soon as a real transcript is loaded.
15
+ * - When source differs from target, waits until the translation for that attempt is
16
+ * available, then expands.
17
+ */
18
+ const useVoiceTranscriptionAutoExpand = ({
19
+ model,
20
+ activeAttempt,
21
+ targetLanguage
22
+ }) => {
23
+ const [transcriptsLoaded, translations] = (0, _effectorReact.useUnit)([model.loader.$transcriptsLoaded, model.translation.$translations]);
24
+ (0, _react.useEffect)(() => {
25
+ if (activeAttempt === null) return;
26
+ if (!transcriptsLoaded) {
27
+ model.dropdown.setExpanded(false);
28
+ return;
29
+ }
30
+ const transcript = model.loader.getTranscript(activeAttempt);
31
+ const hasRealTranscript = !!transcript && transcript !== _constants.NO_AUDIO_BE_MESSAGE;
32
+ if (!hasRealTranscript) {
33
+ model.dropdown.setExpanded(false);
34
+ return;
35
+ }
36
+ const sourceLanguage = model.loader.getTranscriptLanguage(activeAttempt);
37
+ const needsTranslation = !!sourceLanguage && (0, _supportedLanguages.resolveGoogleLanguageCode)(sourceLanguage) !== (0, _supportedLanguages.resolveGoogleLanguageCode)(targetLanguage);
38
+ if (needsTranslation) {
39
+ model.dropdown.setExpanded(!!translations[activeAttempt]);
40
+ return;
41
+ }
42
+ model.dropdown.setExpanded(true);
43
+ }, [activeAttempt, transcriptsLoaded, translations, targetLanguage, model]);
44
+ };
45
+ exports.useVoiceTranscriptionAutoExpand = useVoiceTranscriptionAutoExpand;
46
+ //# sourceMappingURL=useVoiceTranscriptionAutoExpand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_effectorReact","_constants","_supportedLanguages","useVoiceTranscriptionAutoExpand","model","activeAttempt","targetLanguage","transcriptsLoaded","translations","useUnit","loader","$transcriptsLoaded","translation","$translations","useEffect","dropdown","setExpanded","transcript","getTranscript","hasRealTranscript","NO_AUDIO_BE_MESSAGE","sourceLanguage","getTranscriptLanguage","needsTranslation","resolveGoogleLanguageCode","exports"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/hooks/useVoiceTranscriptionAutoExpand.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAEA,IAAAG,mBAAA,GAAAH,OAAA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMI,+BAA+B,GAAGA,CAAC;EAC9CC,KAAK;EACLC,aAAa;EACbC;AACM,CAAC,KAAK;EACZ,MAAM,CAACC,iBAAiB,EAAEC,YAAY,CAAC,GAAG,IAAAC,sBAAO,EAAC,CAChDL,KAAK,CAACM,MAAM,CAACC,kBAAkB,EAC/BP,KAAK,CAACQ,WAAW,CAACC,aAAa,CAChC,CAAC;EAEF,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIT,aAAa,KAAK,IAAI,EAAE;IAE5B,IAAI,CAACE,iBAAiB,EAAE;MACtBH,KAAK,CAACW,QAAQ,CAACC,WAAW,CAAC,KAAK,CAAC;MACjC;IACF;IAEA,MAAMC,UAAU,GAAGb,KAAK,CAACM,MAAM,CAACQ,aAAa,CAACb,aAAa,CAAC;IAC5D,MAAMc,iBAAiB,GAAG,CAAC,CAACF,UAAU,IAAIA,UAAU,KAAKG,8BAAmB;IAC5E,IAAI,CAACD,iBAAiB,EAAE;MACtBf,KAAK,CAACW,QAAQ,CAACC,WAAW,CAAC,KAAK,CAAC;MACjC;IACF;IAEA,MAAMK,cAAc,GAAGjB,KAAK,CAACM,MAAM,CAACY,qBAAqB,CAACjB,aAAa,CAAC;IACxE,MAAMkB,gBAAgB,GACpB,CAAC,CAACF,cAAc,IAChB,IAAAG,6CAAyB,EAACH,cAAc,CAAC,KAAK,IAAAG,6CAAyB,EAAClB,cAAc,CAAC;IAEzF,IAAIiB,gBAAgB,EAAE;MACpBnB,KAAK,CAACW,QAAQ,CAACC,WAAW,CAAC,CAAC,CAACR,YAAY,CAACH,aAAa,CAAC,CAAC;MACzD;IACF;IAEAD,KAAK,CAACW,QAAQ,CAACC,WAAW,CAAC,IAAI,CAAC;EAClC,CAAC,EAAE,CAACX,aAAa,EAAEE,iBAAiB,EAAEC,YAAY,EAAEF,cAAc,EAAEF,KAAK,CAAC,CAAC;AAC7E,CAAC;AAAAqB,OAAA,CAAAtB,+BAAA,GAAAA,+BAAA","ignoreList":[]}
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useVoiceTranscriptionEffects = void 0;
7
7
  var _react = require("react");
8
- var _effectorReact = require("effector-react");
9
- var _constants = require("../../constants.js");
10
8
  const useVoiceTranscriptionEffects = ({
11
9
  model,
12
10
  answers,
@@ -23,17 +21,6 @@ const useVoiceTranscriptionEffects = ({
23
21
  (0, _react.useEffect)(() => {
24
22
  model.resetPlayer();
25
23
  }, [problemId]);
26
- const transcriptsLoaded = (0, _effectorReact.useUnit)(model.loader.$transcriptsLoaded);
27
- (0, _react.useEffect)(() => {
28
- if (activeAttempt === null) return;
29
- if (!transcriptsLoaded) {
30
- model.dropdown.setExpanded(false);
31
- return;
32
- }
33
- const transcript = model.loader.getTranscript(activeAttempt);
34
- const hasRealTranscript = !!transcript && transcript !== _constants.NO_AUDIO_BE_MESSAGE;
35
- model.dropdown.setExpanded(hasRealTranscript);
36
- }, [activeAttempt, transcriptsLoaded, model]);
37
24
  (0, _react.useEffect)(() => {
38
25
  if (answersRef.current.some(answer => answer.audioFileId)) {
39
26
  model.initializeWithAudios(answersRef.current);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_effectorReact","_constants","useVoiceTranscriptionEffects","model","answers","answersKey","problemId","activeAttempt","answersRef","useRef","current","useEffect","reinitializePlayer","cleanup","resetPlayer","transcriptsLoaded","useUnit","loader","$transcriptsLoaded","dropdown","setExpanded","transcript","getTranscript","hasRealTranscript","NO_AUDIO_BE_MESSAGE","some","answer","audioFileId","initializeWithAudios","loadAllTranscripts","stopAudio","exports"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/hooks/useVoiceTranscriptionEffects.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAGA,IAAAE,UAAA,GAAAF,OAAA;AAUO,MAAMG,4BAA4B,GAAGA,CAAC;EAC3CC,KAAK;EACLC,OAAO;EACPC,UAAU;EACVC,SAAS;EACTC;AACM,CAAC,KAAK;EACZ,MAAMC,UAAU,GAAG,IAAAC,aAAM,EAACL,OAAO,CAAC;EAClCI,UAAU,CAACE,OAAO,GAAGN,OAAO;EAE5B,IAAAO,gBAAS,EAAC,MAAM;IACdR,KAAK,CAACS,kBAAkB,CAAC,CAAC;IAC1B,OAAO,MAAMT,KAAK,CAACU,OAAO,CAAC,CAAC;EAC9B,CAAC,EAAE,CAACV,KAAK,CAAC,CAAC;EAEX,IAAAQ,gBAAS,EAAC,MAAM;IACdR,KAAK,CAACW,WAAW,CAAC,CAAC;EACrB,CAAC,EAAE,CAACR,SAAS,CAAC,CAAC;EAEf,MAAMS,iBAAiB,GAAG,IAAAC,sBAAO,EAACb,KAAK,CAACc,MAAM,CAACC,kBAAkB,CAAC;EAElE,IAAAP,gBAAS,EAAC,MAAM;IACd,IAAIJ,aAAa,KAAK,IAAI,EAAE;IAC5B,IAAI,CAACQ,iBAAiB,EAAE;MACtBZ,KAAK,CAACgB,QAAQ,CAACC,WAAW,CAAC,KAAK,CAAC;MACjC;IACF;IACA,MAAMC,UAAU,GAAGlB,KAAK,CAACc,MAAM,CAACK,aAAa,CAACf,aAAa,CAAC;IAC5D,MAAMgB,iBAAiB,GAAG,CAAC,CAACF,UAAU,IAAIA,UAAU,KAAKG,8BAAmB;IAC5ErB,KAAK,CAACgB,QAAQ,CAACC,WAAW,CAACG,iBAAiB,CAAC;EAC/C,CAAC,EAAE,CAAChB,aAAa,EAAEQ,iBAAiB,EAAEZ,KAAK,CAAC,CAAC;EAE7C,IAAAQ,gBAAS,EAAC,MAAM;IACd,IAAIH,UAAU,CAACE,OAAO,CAACe,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACC,WAAW,CAAC,EAAE;MAC3DxB,KAAK,CAACyB,oBAAoB,CAACpB,UAAU,CAACE,OAAO,CAAC;MAC9CP,KAAK,CAACc,MAAM,CAACY,kBAAkB,CAAC,CAAC;IACnC;EACF,CAAC,EAAE,CAAC1B,KAAK,EAAEE,UAAU,CAAC,CAAC;EAEvB,IAAAM,gBAAS,EAAC,MAAM;IACdR,KAAK,CAAC2B,SAAS,CAAC,CAAC;EACnB,CAAC,EAAE,CAACvB,aAAa,CAAC,CAAC;AACrB,CAAC;AAAAwB,OAAA,CAAA7B,4BAAA,GAAAA,4BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","useVoiceTranscriptionEffects","model","answers","answersKey","problemId","activeAttempt","answersRef","useRef","current","useEffect","reinitializePlayer","cleanup","resetPlayer","some","answer","audioFileId","initializeWithAudios","loader","loadAllTranscripts","stopAudio","exports"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/hooks/useVoiceTranscriptionEffects.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAYO,MAAMC,4BAA4B,GAAGA,CAAC;EAC3CC,KAAK;EACLC,OAAO;EACPC,UAAU;EACVC,SAAS;EACTC;AACM,CAAC,KAAK;EACZ,MAAMC,UAAU,GAAG,IAAAC,aAAM,EAACL,OAAO,CAAC;EAClCI,UAAU,CAACE,OAAO,GAAGN,OAAO;EAE5B,IAAAO,gBAAS,EAAC,MAAM;IACdR,KAAK,CAACS,kBAAkB,CAAC,CAAC;IAC1B,OAAO,MAAMT,KAAK,CAACU,OAAO,CAAC,CAAC;EAC9B,CAAC,EAAE,CAACV,KAAK,CAAC,CAAC;EAEX,IAAAQ,gBAAS,EAAC,MAAM;IACdR,KAAK,CAACW,WAAW,CAAC,CAAC;EACrB,CAAC,EAAE,CAACR,SAAS,CAAC,CAAC;EAEf,IAAAK,gBAAS,EAAC,MAAM;IACd,IAAIH,UAAU,CAACE,OAAO,CAACK,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACC,WAAW,CAAC,EAAE;MAC3Dd,KAAK,CAACe,oBAAoB,CAACV,UAAU,CAACE,OAAO,CAAC;MAC9CP,KAAK,CAACgB,MAAM,CAACC,kBAAkB,CAAC,CAAC;IACnC;EACF,CAAC,EAAE,CAACjB,KAAK,EAAEE,UAAU,CAAC,CAAC;EAEvB,IAAAM,gBAAS,EAAC,MAAM;IACdR,KAAK,CAACkB,SAAS,CAAC,CAAC;EACnB,CAAC,EAAE,CAACd,aAAa,CAAC,CAAC;AACrB,CAAC;AAAAe,OAAA,CAAApB,4BAAA,GAAAA,4BAAA","ignoreList":[]}
@@ -49,7 +49,7 @@ const PlayButton = ({
49
49
  activityIndicatorColor,
50
50
  ...props
51
51
  }) => {
52
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Button, {
52
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.ReanimatedButton, {
53
53
  disabled: disabled,
54
54
  isActive: isActive,
55
55
  variant: 'secondary',
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_SpeakerIcon","_PlayIcon","_PauseIcon","_constants","_styleTypes","_jsxRuntime","e","__esModule","default","TextToSpeechIcon","status","isActive","isLoading","colorScheme","ColorScheme","Blue","activityIndicatorColor","jsx","ActivityIndicator","color","CONTROLS_COLORS_MAP","background","SpeakerIcon","PauseIcon","COLORS","NEUTRAL_1","PlayIcon","PlayButton","state","disabled","onPress","props","Button","variant","size","icon","exports"],"sourceRoot":"../../../../src","sources":["shared/components/PlayButton.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAEA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAEA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAAsE,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAD,uBAAAU,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAUtE,MAAMG,gBAAgB,GAAGA,CAAC;EACxBC,MAAM;EACNC,QAAQ;EACRC,SAAS;EACTC,WAAW,GAAGC,uBAAW,CAACC,IAAI;EAC9BC;AACqB,CAAC,KAAK;EAC3B,IAAIJ,SAAS,IAAID,QAAQ,EAAE;IACzB,oBACE,IAAAN,WAAA,CAAAY,GAAA,EAACnB,YAAA,CAAAoB,iBAAiB;MAChBC,KAAK,EAAEH,sBAAsB,IAAII,8BAAmB,CAACP,WAAW,CAAC,CAACQ;IAAW,CAC9E,CAAC;EAEN;EAEA,IAAI,CAACV,QAAQ,EAAE;IACb,oBAAO,IAAAN,WAAA,CAAAY,GAAA,EAACjB,YAAA,CAAAsB,WAAW,IAAE,CAAC;EACxB;EAEA,IAAIZ,MAAM,KAAK,SAAS,EAAE,oBAAO,IAAAL,WAAA,CAAAY,GAAA,EAACf,UAAA,CAAAqB,SAAS;IAACJ,KAAK,EAAEK,qBAAM,CAACC;EAAU,CAAE,CAAC;EACvE,IAAIf,MAAM,KAAK,QAAQ,EAAE,oBAAO,IAAAL,WAAA,CAAAY,GAAA,EAAChB,SAAA,CAAAyB,QAAQ;IAACP,KAAK,EAAEK,qBAAM,CAACC;EAAU,CAAE,CAAC;EACrE,oBAAO,IAAApB,WAAA,CAAAY,GAAA,EAACjB,YAAA,CAAAsB,WAAW,IAAE,CAAC;AACxB,CAAC;AAgBM,MAAMK,UAAU,GAAGA,CAAC;EACzBC,KAAK,EAAE;IAAElB,MAAM;IAAEmB,QAAQ;IAAElB,QAAQ;IAAEC;EAAU,CAAC;EAChDC,WAAW,GAAGC,uBAAW,CAACC,IAAI;EAC9Be,OAAO;EACPd,sBAAsB;EACtB,GAAGe;AACqB,CAAC,KAAK;EAC9B,oBACE,IAAA1B,WAAA,CAAAY,GAAA,EAAClB,cAAA,CAAAiC,MAAM;IACLH,QAAQ,EAAEA,QAAS;IACnBlB,QAAQ,EAAEA,QAAS;IACnBsB,OAAO,EAAE,WAAY;IACrBpB,WAAW,EAAEA,WAAY;IACzBqB,IAAI,EAAE,OAAQ;IACdJ,OAAO,EAAEA,OAAQ;IACjBK,IAAI,eACF,IAAA9B,WAAA,CAAAY,GAAA,EAACR,gBAAgB;MACfE,QAAQ,EAAEA,QAAS;MACnBC,SAAS,EAAEA,SAAU;MACrBF,MAAM,EAAEA,MAAO;MACfG,WAAW,EAAEA,WAAY;MACzBG,sBAAsB,EAAEA;IAAuB,CAChD,CACF;IAAA,GACGe;EAAK,CACV,CAAC;AAEN,CAAC;AAAAK,OAAA,CAAAT,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeUi","_SpeakerIcon","_PlayIcon","_PauseIcon","_constants","_styleTypes","_jsxRuntime","e","__esModule","default","TextToSpeechIcon","status","isActive","isLoading","colorScheme","ColorScheme","Blue","activityIndicatorColor","jsx","ActivityIndicator","color","CONTROLS_COLORS_MAP","background","SpeakerIcon","PauseIcon","COLORS","NEUTRAL_1","PlayIcon","PlayButton","state","disabled","onPress","props","ReanimatedButton","variant","size","icon","exports"],"sourceRoot":"../../../../src","sources":["shared/components/PlayButton.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAEA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAEA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAAsE,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAD,uBAAAU,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAUtE,MAAMG,gBAAgB,GAAGA,CAAC;EACxBC,MAAM;EACNC,QAAQ;EACRC,SAAS;EACTC,WAAW,GAAGC,uBAAW,CAACC,IAAI;EAC9BC;AACqB,CAAC,KAAK;EAC3B,IAAIJ,SAAS,IAAID,QAAQ,EAAE;IACzB,oBACE,IAAAN,WAAA,CAAAY,GAAA,EAACnB,YAAA,CAAAoB,iBAAiB;MAChBC,KAAK,EAAEH,sBAAsB,IAAII,8BAAmB,CAACP,WAAW,CAAC,CAACQ;IAAW,CAC9E,CAAC;EAEN;EAEA,IAAI,CAACV,QAAQ,EAAE;IACb,oBAAO,IAAAN,WAAA,CAAAY,GAAA,EAACjB,YAAA,CAAAsB,WAAW,IAAE,CAAC;EACxB;EAEA,IAAIZ,MAAM,KAAK,SAAS,EAAE,oBAAO,IAAAL,WAAA,CAAAY,GAAA,EAACf,UAAA,CAAAqB,SAAS;IAACJ,KAAK,EAAEK,qBAAM,CAACC;EAAU,CAAE,CAAC;EACvE,IAAIf,MAAM,KAAK,QAAQ,EAAE,oBAAO,IAAAL,WAAA,CAAAY,GAAA,EAAChB,SAAA,CAAAyB,QAAQ;IAACP,KAAK,EAAEK,qBAAM,CAACC;EAAU,CAAE,CAAC;EACrE,oBAAO,IAAApB,WAAA,CAAAY,GAAA,EAACjB,YAAA,CAAAsB,WAAW,IAAE,CAAC;AACxB,CAAC;AAgBM,MAAMK,UAAU,GAAGA,CAAC;EACzBC,KAAK,EAAE;IAAElB,MAAM;IAAEmB,QAAQ;IAAElB,QAAQ;IAAEC;EAAU,CAAC;EAChDC,WAAW,GAAGC,uBAAW,CAACC,IAAI;EAC9Be,OAAO;EACPd,sBAAsB;EACtB,GAAGe;AACqB,CAAC,KAAK;EAC9B,oBACE,IAAA1B,WAAA,CAAAY,GAAA,EAAClB,cAAA,CAAAiC,gBAAgB;IACfH,QAAQ,EAAEA,QAAS;IACnBlB,QAAQ,EAAEA,QAAS;IACnBsB,OAAO,EAAE,WAAY;IACrBpB,WAAW,EAAEA,WAAY;IACzBqB,IAAI,EAAE,OAAQ;IACdJ,OAAO,EAAEA,OAAQ;IACjBK,IAAI,eACF,IAAA9B,WAAA,CAAAY,GAAA,EAACR,gBAAgB;MACfE,QAAQ,EAAEA,QAAS;MACnBC,SAAS,EAAEA,SAAU;MACrBF,MAAM,EAAEA,MAAO;MACfG,WAAW,EAAEA,WAAY;MACzBG,sBAAsB,EAAEA;IAAuB,CAChD,CACF;IAAA,GACGe;EAAK,CACV,CAAC;AAEN,CAAC;AAAAK,OAAA,CAAAT,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -13,6 +13,7 @@ import { resolveGoogleLanguageCode } from "../../../translation/providers/google
13
13
  import { useText } from "../../../../i18n/i18n.js";
14
14
  import { useVoiceTranscriptionEffects } from "../hooks/useVoiceTranscriptionEffects.js";
15
15
  import { useVoiceTranscriptionAutoTranslate } from "../hooks/useVoiceTranscriptionAutoTranslate.js";
16
+ import { useVoiceTranscriptionAutoExpand } from "../hooks/useVoiceTranscriptionAutoExpand.js";
16
17
  import { VoiceTranscriptContent } from "./VoiceTranscriptContent.js";
17
18
  import { VoiceTranscriptionCollapsible } from "./VoiceTranscriptionCollapsible.js";
18
19
  import { VoiceTranscriptionHeaderActions } from "./VoiceTranscriptionHeaderActions.js";
@@ -58,6 +59,11 @@ export const VoiceTranscription = ({
58
59
  activeAttempt,
59
60
  problemId
60
61
  });
62
+ useVoiceTranscriptionAutoExpand({
63
+ model,
64
+ activeAttempt,
65
+ targetLanguage: i18n.language
66
+ });
61
67
  useEffect(() => {
62
68
  if (showTranslation && activeAttempt !== null && !cachedTranslation && !isTranslating) {
63
69
  model.translation.translate({
@@ -1 +1 @@
1
- {"version":3,"names":["Typography","COLORS","useUnit","React","useCallback","useEffect","useMemo","useTranslation","StyleSheet","View","Animated","NO_AUDIO_BE_MESSAGE","getActiveAttempt","VoiceTranscriptionVariant","resolveGoogleLanguageCode","useText","useVoiceTranscriptionEffects","useVoiceTranscriptionAutoTranslate","VoiceTranscriptContent","VoiceTranscriptionCollapsible","VoiceTranscriptionHeaderActions","jsx","_jsx","jsxs","_jsxs","VoiceTranscription","style","model","answers","attemptOffset","attemptsCount","problemId","variant","SMALL","t","i18n","playerState","isLoadingTranscripts","isTranslationActive","translations","isTranslating","$playerState","loader","loadAllTranscripts","pending","translation","$isActive","$translations","translate","activeAttempt","isLargeVariant","LARGE","answersKey","map","a","_id","audioFileId","join","hasActiveAudio","undefined","activeTranscript","getTranscript","hasTranscriptText","isActiveTranscriptLoading","transcriptLanguage","getTranscriptLanguage","isSourceSameAsTarget","language","canTranslate","cachedTranslation","showTranslation","isTranslationLoading","displayText","translationModel","attemptNumber","targetLanguage","handlePlayPress","setActive","togglePlayPause","handleTranslationToggle","toggle","styles","container","largeContainer","children","header","title","onPlayPress","onTranslationPress","text","isLoading","dropdown","create","position","top","left","width","maxHeight","minHeight","padding","boxShadow","borderRadius","backgroundColor","NEUTRAL_1","overflow","height","flexDirection","justifyContent","alignItems","marginBottom","color","NEUTRAL_9","marginLeft"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/components/VoiceTranscription.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Typography","COLORS","useUnit","React","useCallback","useEffect","useMemo","useTranslation","StyleSheet","View","Animated","NO_AUDIO_BE_MESSAGE","getActiveAttempt","VoiceTranscriptionVariant","resolveGoogleLanguageCode","useText","useVoiceTranscriptionEffects","useVoiceTranscriptionAutoTranslate","useVoiceTranscriptionAutoExpand","VoiceTranscriptContent","VoiceTranscriptionCollapsible","VoiceTranscriptionHeaderActions","jsx","_jsx","jsxs","_jsxs","VoiceTranscription","style","model","answers","attemptOffset","attemptsCount","problemId","variant","SMALL","t","i18n","playerState","isLoadingTranscripts","isTranslationActive","translations","isTranslating","$playerState","loader","loadAllTranscripts","pending","translation","$isActive","$translations","translate","activeAttempt","isLargeVariant","LARGE","answersKey","map","a","_id","audioFileId","join","hasActiveAudio","undefined","activeTranscript","getTranscript","hasTranscriptText","isActiveTranscriptLoading","transcriptLanguage","getTranscriptLanguage","isSourceSameAsTarget","language","canTranslate","cachedTranslation","showTranslation","isTranslationLoading","displayText","translationModel","targetLanguage","attemptNumber","handlePlayPress","setActive","togglePlayPause","handleTranslationToggle","toggle","styles","container","largeContainer","children","header","title","onPlayPress","onTranslationPress","text","isLoading","dropdown","create","position","top","left","width","maxHeight","minHeight","padding","boxShadow","borderRadius","backgroundColor","NEUTRAL_1","overflow","height","flexDirection","justifyContent","alignItems","marginBottom","color","NEUTRAL_9","marginLeft"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/components/VoiceTranscription.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { Button, COLORS, GlobeIcon, SPACING } from '@magmamath/react-native-ui';
3
+ import { ReanimatedButton, COLORS, GlobeIcon, SPACING } from '@magmamath/react-native-ui';
4
4
  import React from 'react';
5
5
  import { StyleSheet } from 'react-native';
6
6
  import Animated, { FadeIn, FadeOut } from 'react-native-reanimated';
@@ -29,7 +29,7 @@ export const VoiceTranscriptionHeaderActions = ({
29
29
  state: playButtonState,
30
30
  onPress: onPlayPress,
31
31
  activityIndicatorColor: COLORS.NEUTRAL_1
32
- }), canTranslate && /*#__PURE__*/_jsx(Button, {
32
+ }), canTranslate && /*#__PURE__*/_jsx(ReanimatedButton, {
33
33
  variant: "secondary",
34
34
  size: "small",
35
35
  colorScheme: ColorScheme.Blue,
@@ -1 +1 @@
1
- {"version":3,"names":["Button","COLORS","GlobeIcon","SPACING","React","StyleSheet","Animated","FadeIn","FadeOut","ColorScheme","PlayButton","PlayerState","getAudioStatus","jsx","_jsx","jsxs","_jsxs","VoiceTranscriptionHeaderActions","playerState","isTranslationActive","canTranslate","onPlayPress","onTranslationPress","playButtonState","isActive","IDLE","isLoading","LOADING","status","View","entering","duration","exiting","style","styles","container","children","state","onPress","activityIndicatorColor","NEUTRAL_1","variant","size","colorScheme","Blue","icon","color","NEUTRAL_9","create","flexDirection","alignItems","gap"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/components/VoiceTranscriptionHeaderActions.tsx"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,MAAM,EAAEC,SAAS,EAAEC,OAAO,QAAQ,4BAA4B;AAC/E,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,QAAQ,IAAIC,MAAM,EAAEC,OAAO,QAAQ,yBAAyB;AACnE,SAASC,WAAW,QAAQ,uCAAoC;AAChE,SAASC,UAAU,QAAQ,6CAA0C;AACrE,SAASC,WAAW,QAAQ,mBAAU;AACtC,SAASC,cAAc,QAAQ,kBAAe;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAU9C,OAAO,MAAMC,+BAA+B,GAAGA,CAAC;EAC9CC,WAAW;EACXC,mBAAmB;EACnBC,YAAY;EACZC,WAAW;EACXC;AACqC,CAAC,KAAK;EAC3C,MAAMC,eAAe,GAAG;IACtBC,QAAQ,EAAEN,WAAW,KAAKP,WAAW,CAACc,IAAI;IAC1CC,SAAS,EAAER,WAAW,KAAKP,WAAW,CAACgB,OAAO;IAC9CC,MAAM,EAAEhB,cAAc,CAACM,WAAW;EACpC,CAAC;EAED,oBACEF,KAAA,CAACV,QAAQ,CAACuB,IAAI;IACZC,QAAQ,EAAEvB,MAAM,CAACwB,QAAQ,CAAC,GAAG,CAAE;IAC/BC,OAAO,EAAExB,OAAO,CAACuB,QAAQ,CAAC,GAAG,CAAE;IAC/BE,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAExBtB,IAAA,CAACJ,UAAU;MACT2B,KAAK,EAAEd,eAAgB;MACvBe,OAAO,EAAEjB,WAAY;MACrBkB,sBAAsB,EAAEtC,MAAM,CAACuC;IAAU,CAC1C,CAAC,EACDpB,YAAY,iBACXN,IAAA,CAACd,MAAM;MACLyC,OAAO,EAAC,WAAW;MACnBC,IAAI,EAAC,OAAO;MACZC,WAAW,EAAElC,WAAW,CAACmC,IAAK;MAC9BpB,QAAQ,EAAEL,mBAAoB;MAC9BmB,OAAO,EAAEhB,kBAAmB;MAC5BuB,IAAI,eAAE/B,IAAA,CAACZ,SAAS;QAAC4C,KAAK,EAAE3B,mBAAmB,GAAGlB,MAAM,CAACuC,SAAS,GAAGvC,MAAM,CAAC8C;MAAU,CAAE;IAAE,CACvF,CACF;EAAA,CACY,CAAC;AAEpB,CAAC;AAED,MAAMb,MAAM,GAAG7B,UAAU,CAAC2C,MAAM,CAAC;EAC/Bb,SAAS,EAAE;IACTc,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAEhD,OAAO,CAAC,GAAG;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["ReanimatedButton","COLORS","GlobeIcon","SPACING","React","StyleSheet","Animated","FadeIn","FadeOut","ColorScheme","PlayButton","PlayerState","getAudioStatus","jsx","_jsx","jsxs","_jsxs","VoiceTranscriptionHeaderActions","playerState","isTranslationActive","canTranslate","onPlayPress","onTranslationPress","playButtonState","isActive","IDLE","isLoading","LOADING","status","View","entering","duration","exiting","style","styles","container","children","state","onPress","activityIndicatorColor","NEUTRAL_1","variant","size","colorScheme","Blue","icon","color","NEUTRAL_9","create","flexDirection","alignItems","gap"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/components/VoiceTranscriptionHeaderActions.tsx"],"mappings":";;AAAA,SAASA,gBAAgB,EAAEC,MAAM,EAAEC,SAAS,EAAEC,OAAO,QAAQ,4BAA4B;AACzF,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,QAAQ,IAAIC,MAAM,EAAEC,OAAO,QAAQ,yBAAyB;AACnE,SAASC,WAAW,QAAQ,uCAAoC;AAChE,SAASC,UAAU,QAAQ,6CAA0C;AACrE,SAASC,WAAW,QAAQ,mBAAU;AACtC,SAASC,cAAc,QAAQ,kBAAe;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAU9C,OAAO,MAAMC,+BAA+B,GAAGA,CAAC;EAC9CC,WAAW;EACXC,mBAAmB;EACnBC,YAAY;EACZC,WAAW;EACXC;AACqC,CAAC,KAAK;EAC3C,MAAMC,eAAe,GAAG;IACtBC,QAAQ,EAAEN,WAAW,KAAKP,WAAW,CAACc,IAAI;IAC1CC,SAAS,EAAER,WAAW,KAAKP,WAAW,CAACgB,OAAO;IAC9CC,MAAM,EAAEhB,cAAc,CAACM,WAAW;EACpC,CAAC;EAED,oBACEF,KAAA,CAACV,QAAQ,CAACuB,IAAI;IACZC,QAAQ,EAAEvB,MAAM,CAACwB,QAAQ,CAAC,GAAG,CAAE;IAC/BC,OAAO,EAAExB,OAAO,CAACuB,QAAQ,CAAC,GAAG,CAAE;IAC/BE,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBAExBtB,IAAA,CAACJ,UAAU;MACT2B,KAAK,EAAEd,eAAgB;MACvBe,OAAO,EAAEjB,WAAY;MACrBkB,sBAAsB,EAAEtC,MAAM,CAACuC;IAAU,CAC1C,CAAC,EACDpB,YAAY,iBACXN,IAAA,CAACd,gBAAgB;MACfyC,OAAO,EAAC,WAAW;MACnBC,IAAI,EAAC,OAAO;MACZC,WAAW,EAAElC,WAAW,CAACmC,IAAK;MAC9BpB,QAAQ,EAAEL,mBAAoB;MAC9BmB,OAAO,EAAEhB,kBAAmB;MAC5BuB,IAAI,eAAE/B,IAAA,CAACZ,SAAS;QAAC4C,KAAK,EAAE3B,mBAAmB,GAAGlB,MAAM,CAACuC,SAAS,GAAGvC,MAAM,CAAC8C;MAAU,CAAE;IAAE,CACvF,CACF;EAAA,CACY,CAAC;AAEpB,CAAC;AAED,MAAMb,MAAM,GAAG7B,UAAU,CAAC2C,MAAM,CAAC;EAC/Bb,SAAS,EAAE;IACTc,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAEhD,OAAO,CAAC,GAAG;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ import { useEffect } from 'react';
4
+ import { useUnit } from 'effector-react';
5
+ import { NO_AUDIO_BE_MESSAGE } from "../../constants.js";
6
+ import { resolveGoogleLanguageCode } from "../../../translation/providers/google/supportedLanguages.js";
7
+ /**
8
+ * Auto-expands the transcription dropdown based on content readiness:
9
+ * - Stays collapsed during transcript loading or for drawing-only attempts.
10
+ * - When source language matches target, expands as soon as a real transcript is loaded.
11
+ * - When source differs from target, waits until the translation for that attempt is
12
+ * available, then expands.
13
+ */
14
+ export const useVoiceTranscriptionAutoExpand = ({
15
+ model,
16
+ activeAttempt,
17
+ targetLanguage
18
+ }) => {
19
+ const [transcriptsLoaded, translations] = useUnit([model.loader.$transcriptsLoaded, model.translation.$translations]);
20
+ useEffect(() => {
21
+ if (activeAttempt === null) return;
22
+ if (!transcriptsLoaded) {
23
+ model.dropdown.setExpanded(false);
24
+ return;
25
+ }
26
+ const transcript = model.loader.getTranscript(activeAttempt);
27
+ const hasRealTranscript = !!transcript && transcript !== NO_AUDIO_BE_MESSAGE;
28
+ if (!hasRealTranscript) {
29
+ model.dropdown.setExpanded(false);
30
+ return;
31
+ }
32
+ const sourceLanguage = model.loader.getTranscriptLanguage(activeAttempt);
33
+ const needsTranslation = !!sourceLanguage && resolveGoogleLanguageCode(sourceLanguage) !== resolveGoogleLanguageCode(targetLanguage);
34
+ if (needsTranslation) {
35
+ model.dropdown.setExpanded(!!translations[activeAttempt]);
36
+ return;
37
+ }
38
+ model.dropdown.setExpanded(true);
39
+ }, [activeAttempt, transcriptsLoaded, translations, targetLanguage, model]);
40
+ };
41
+ //# sourceMappingURL=useVoiceTranscriptionAutoExpand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useUnit","NO_AUDIO_BE_MESSAGE","resolveGoogleLanguageCode","useVoiceTranscriptionAutoExpand","model","activeAttempt","targetLanguage","transcriptsLoaded","translations","loader","$transcriptsLoaded","translation","$translations","dropdown","setExpanded","transcript","getTranscript","hasRealTranscript","sourceLanguage","getTranscriptLanguage","needsTranslation"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/hooks/useVoiceTranscriptionAutoExpand.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,mBAAmB,QAAQ,oBAAiB;AAErD,SAASC,yBAAyB,QAAQ,6DAA0D;AAQpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,+BAA+B,GAAGA,CAAC;EAC9CC,KAAK;EACLC,aAAa;EACbC;AACM,CAAC,KAAK;EACZ,MAAM,CAACC,iBAAiB,EAAEC,YAAY,CAAC,GAAGR,OAAO,CAAC,CAChDI,KAAK,CAACK,MAAM,CAACC,kBAAkB,EAC/BN,KAAK,CAACO,WAAW,CAACC,aAAa,CAChC,CAAC;EAEFb,SAAS,CAAC,MAAM;IACd,IAAIM,aAAa,KAAK,IAAI,EAAE;IAE5B,IAAI,CAACE,iBAAiB,EAAE;MACtBH,KAAK,CAACS,QAAQ,CAACC,WAAW,CAAC,KAAK,CAAC;MACjC;IACF;IAEA,MAAMC,UAAU,GAAGX,KAAK,CAACK,MAAM,CAACO,aAAa,CAACX,aAAa,CAAC;IAC5D,MAAMY,iBAAiB,GAAG,CAAC,CAACF,UAAU,IAAIA,UAAU,KAAKd,mBAAmB;IAC5E,IAAI,CAACgB,iBAAiB,EAAE;MACtBb,KAAK,CAACS,QAAQ,CAACC,WAAW,CAAC,KAAK,CAAC;MACjC;IACF;IAEA,MAAMI,cAAc,GAAGd,KAAK,CAACK,MAAM,CAACU,qBAAqB,CAACd,aAAa,CAAC;IACxE,MAAMe,gBAAgB,GACpB,CAAC,CAACF,cAAc,IAChBhB,yBAAyB,CAACgB,cAAc,CAAC,KAAKhB,yBAAyB,CAACI,cAAc,CAAC;IAEzF,IAAIc,gBAAgB,EAAE;MACpBhB,KAAK,CAACS,QAAQ,CAACC,WAAW,CAAC,CAAC,CAACN,YAAY,CAACH,aAAa,CAAC,CAAC;MACzD;IACF;IAEAD,KAAK,CAACS,QAAQ,CAACC,WAAW,CAAC,IAAI,CAAC;EAClC,CAAC,EAAE,CAACT,aAAa,EAAEE,iBAAiB,EAAEC,YAAY,EAAEF,cAAc,EAAEF,KAAK,CAAC,CAAC;AAC7E,CAAC","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  import { useEffect, useRef } from 'react';
4
- import { useUnit } from 'effector-react';
5
- import { NO_AUDIO_BE_MESSAGE } from "../../constants.js";
6
4
  export const useVoiceTranscriptionEffects = ({
7
5
  model,
8
6
  answers,
@@ -19,17 +17,6 @@ export const useVoiceTranscriptionEffects = ({
19
17
  useEffect(() => {
20
18
  model.resetPlayer();
21
19
  }, [problemId]);
22
- const transcriptsLoaded = useUnit(model.loader.$transcriptsLoaded);
23
- useEffect(() => {
24
- if (activeAttempt === null) return;
25
- if (!transcriptsLoaded) {
26
- model.dropdown.setExpanded(false);
27
- return;
28
- }
29
- const transcript = model.loader.getTranscript(activeAttempt);
30
- const hasRealTranscript = !!transcript && transcript !== NO_AUDIO_BE_MESSAGE;
31
- model.dropdown.setExpanded(hasRealTranscript);
32
- }, [activeAttempt, transcriptsLoaded, model]);
33
20
  useEffect(() => {
34
21
  if (answersRef.current.some(answer => answer.audioFileId)) {
35
22
  model.initializeWithAudios(answersRef.current);
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","useUnit","NO_AUDIO_BE_MESSAGE","useVoiceTranscriptionEffects","model","answers","answersKey","problemId","activeAttempt","answersRef","current","reinitializePlayer","cleanup","resetPlayer","transcriptsLoaded","loader","$transcriptsLoaded","dropdown","setExpanded","transcript","getTranscript","hasRealTranscript","some","answer","audioFileId","initializeWithAudios","loadAllTranscripts","stopAudio"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/hooks/useVoiceTranscriptionEffects.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SAASC,OAAO,QAAQ,gBAAgB;AAGxC,SAASC,mBAAmB,QAAQ,oBAAiB;AAUrD,OAAO,MAAMC,4BAA4B,GAAGA,CAAC;EAC3CC,KAAK;EACLC,OAAO;EACPC,UAAU;EACVC,SAAS;EACTC;AACM,CAAC,KAAK;EACZ,MAAMC,UAAU,GAAGT,MAAM,CAACK,OAAO,CAAC;EAClCI,UAAU,CAACC,OAAO,GAAGL,OAAO;EAE5BN,SAAS,CAAC,MAAM;IACdK,KAAK,CAACO,kBAAkB,CAAC,CAAC;IAC1B,OAAO,MAAMP,KAAK,CAACQ,OAAO,CAAC,CAAC;EAC9B,CAAC,EAAE,CAACR,KAAK,CAAC,CAAC;EAEXL,SAAS,CAAC,MAAM;IACdK,KAAK,CAACS,WAAW,CAAC,CAAC;EACrB,CAAC,EAAE,CAACN,SAAS,CAAC,CAAC;EAEf,MAAMO,iBAAiB,GAAGb,OAAO,CAACG,KAAK,CAACW,MAAM,CAACC,kBAAkB,CAAC;EAElEjB,SAAS,CAAC,MAAM;IACd,IAAIS,aAAa,KAAK,IAAI,EAAE;IAC5B,IAAI,CAACM,iBAAiB,EAAE;MACtBV,KAAK,CAACa,QAAQ,CAACC,WAAW,CAAC,KAAK,CAAC;MACjC;IACF;IACA,MAAMC,UAAU,GAAGf,KAAK,CAACW,MAAM,CAACK,aAAa,CAACZ,aAAa,CAAC;IAC5D,MAAMa,iBAAiB,GAAG,CAAC,CAACF,UAAU,IAAIA,UAAU,KAAKjB,mBAAmB;IAC5EE,KAAK,CAACa,QAAQ,CAACC,WAAW,CAACG,iBAAiB,CAAC;EAC/C,CAAC,EAAE,CAACb,aAAa,EAAEM,iBAAiB,EAAEV,KAAK,CAAC,CAAC;EAE7CL,SAAS,CAAC,MAAM;IACd,IAAIU,UAAU,CAACC,OAAO,CAACY,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACC,WAAW,CAAC,EAAE;MAC3DpB,KAAK,CAACqB,oBAAoB,CAAChB,UAAU,CAACC,OAAO,CAAC;MAC9CN,KAAK,CAACW,MAAM,CAACW,kBAAkB,CAAC,CAAC;IACnC;EACF,CAAC,EAAE,CAACtB,KAAK,EAAEE,UAAU,CAAC,CAAC;EAEvBP,SAAS,CAAC,MAAM;IACdK,KAAK,CAACuB,SAAS,CAAC,CAAC;EACnB,CAAC,EAAE,CAACnB,aAAa,CAAC,CAAC;AACrB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","useVoiceTranscriptionEffects","model","answers","answersKey","problemId","activeAttempt","answersRef","current","reinitializePlayer","cleanup","resetPlayer","some","answer","audioFileId","initializeWithAudios","loader","loadAllTranscripts","stopAudio"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/hooks/useVoiceTranscriptionEffects.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAYzC,OAAO,MAAMC,4BAA4B,GAAGA,CAAC;EAC3CC,KAAK;EACLC,OAAO;EACPC,UAAU;EACVC,SAAS;EACTC;AACM,CAAC,KAAK;EACZ,MAAMC,UAAU,GAAGP,MAAM,CAACG,OAAO,CAAC;EAClCI,UAAU,CAACC,OAAO,GAAGL,OAAO;EAE5BJ,SAAS,CAAC,MAAM;IACdG,KAAK,CAACO,kBAAkB,CAAC,CAAC;IAC1B,OAAO,MAAMP,KAAK,CAACQ,OAAO,CAAC,CAAC;EAC9B,CAAC,EAAE,CAACR,KAAK,CAAC,CAAC;EAEXH,SAAS,CAAC,MAAM;IACdG,KAAK,CAACS,WAAW,CAAC,CAAC;EACrB,CAAC,EAAE,CAACN,SAAS,CAAC,CAAC;EAEfN,SAAS,CAAC,MAAM;IACd,IAAIQ,UAAU,CAACC,OAAO,CAACI,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACC,WAAW,CAAC,EAAE;MAC3DZ,KAAK,CAACa,oBAAoB,CAACR,UAAU,CAACC,OAAO,CAAC;MAC9CN,KAAK,CAACc,MAAM,CAACC,kBAAkB,CAAC,CAAC;IACnC;EACF,CAAC,EAAE,CAACf,KAAK,EAAEE,UAAU,CAAC,CAAC;EAEvBL,SAAS,CAAC,MAAM;IACdG,KAAK,CAACgB,SAAS,CAAC,CAAC;EACnB,CAAC,EAAE,CAACZ,aAAa,CAAC,CAAC;AACrB,CAAC","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import React from 'react';
4
4
  import { ActivityIndicator } from 'react-native';
5
- import { Button, COLORS } from '@magmamath/react-native-ui';
5
+ import { ReanimatedButton, COLORS } from '@magmamath/react-native-ui';
6
6
  import { SpeakerIcon } from "../icons/SpeakerIcon.js";
7
7
  import { PlayIcon } from "../icons/PlayIcon.js";
8
8
  import { PauseIcon } from "../icons/PauseIcon.js";
@@ -44,7 +44,7 @@ export const PlayButton = ({
44
44
  activityIndicatorColor,
45
45
  ...props
46
46
  }) => {
47
- return /*#__PURE__*/_jsx(Button, {
47
+ return /*#__PURE__*/_jsx(ReanimatedButton, {
48
48
  disabled: disabled,
49
49
  isActive: isActive,
50
50
  variant: 'secondary',
@@ -1 +1 @@
1
- {"version":3,"names":["React","ActivityIndicator","Button","COLORS","SpeakerIcon","PlayIcon","PauseIcon","CONTROLS_COLORS_MAP","ColorScheme","jsx","_jsx","TextToSpeechIcon","status","isActive","isLoading","colorScheme","Blue","activityIndicatorColor","color","background","NEUTRAL_1","PlayButton","state","disabled","onPress","props","variant","size","icon"],"sourceRoot":"../../../../src","sources":["shared/components/PlayButton.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,iBAAiB,QAAQ,cAAc;AAChD,SAASC,MAAM,EAAEC,MAAM,QAAQ,4BAA4B;AAE3D,SAASC,WAAW,QAAQ,yBAAsB;AAClD,SAASC,QAAQ,QAAQ,sBAAmB;AAC5C,SAASC,SAAS,QAAQ,uBAAoB;AAE9C,SAASC,mBAAmB,QAAQ,qCAAkC;AACtE,SAASC,WAAW,QAAQ,6CAA0C;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAUtE,MAAMC,gBAAgB,GAAGA,CAAC;EACxBC,MAAM;EACNC,QAAQ;EACRC,SAAS;EACTC,WAAW,GAAGP,WAAW,CAACQ,IAAI;EAC9BC;AACqB,CAAC,KAAK;EAC3B,IAAIH,SAAS,IAAID,QAAQ,EAAE;IACzB,oBACEH,IAAA,CAACT,iBAAiB;MAChBiB,KAAK,EAAED,sBAAsB,IAAIV,mBAAmB,CAACQ,WAAW,CAAC,CAACI;IAAW,CAC9E,CAAC;EAEN;EAEA,IAAI,CAACN,QAAQ,EAAE;IACb,oBAAOH,IAAA,CAACN,WAAW,IAAE,CAAC;EACxB;EAEA,IAAIQ,MAAM,KAAK,SAAS,EAAE,oBAAOF,IAAA,CAACJ,SAAS;IAACY,KAAK,EAAEf,MAAM,CAACiB;EAAU,CAAE,CAAC;EACvE,IAAIR,MAAM,KAAK,QAAQ,EAAE,oBAAOF,IAAA,CAACL,QAAQ;IAACa,KAAK,EAAEf,MAAM,CAACiB;EAAU,CAAE,CAAC;EACrE,oBAAOV,IAAA,CAACN,WAAW,IAAE,CAAC;AACxB,CAAC;AAgBD,OAAO,MAAMiB,UAAU,GAAGA,CAAC;EACzBC,KAAK,EAAE;IAAEV,MAAM;IAAEW,QAAQ;IAAEV,QAAQ;IAAEC;EAAU,CAAC;EAChDC,WAAW,GAAGP,WAAW,CAACQ,IAAI;EAC9BQ,OAAO;EACPP,sBAAsB;EACtB,GAAGQ;AACqB,CAAC,KAAK;EAC9B,oBACEf,IAAA,CAACR,MAAM;IACLqB,QAAQ,EAAEA,QAAS;IACnBV,QAAQ,EAAEA,QAAS;IACnBa,OAAO,EAAE,WAAY;IACrBX,WAAW,EAAEA,WAAY;IACzBY,IAAI,EAAE,OAAQ;IACdH,OAAO,EAAEA,OAAQ;IACjBI,IAAI,eACFlB,IAAA,CAACC,gBAAgB;MACfE,QAAQ,EAAEA,QAAS;MACnBC,SAAS,EAAEA,SAAU;MACrBF,MAAM,EAAEA,MAAO;MACfG,WAAW,EAAEA,WAAY;MACzBE,sBAAsB,EAAEA;IAAuB,CAChD,CACF;IAAA,GACGQ;EAAK,CACV,CAAC;AAEN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","ActivityIndicator","ReanimatedButton","COLORS","SpeakerIcon","PlayIcon","PauseIcon","CONTROLS_COLORS_MAP","ColorScheme","jsx","_jsx","TextToSpeechIcon","status","isActive","isLoading","colorScheme","Blue","activityIndicatorColor","color","background","NEUTRAL_1","PlayButton","state","disabled","onPress","props","variant","size","icon"],"sourceRoot":"../../../../src","sources":["shared/components/PlayButton.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,iBAAiB,QAAQ,cAAc;AAChD,SAASC,gBAAgB,EAAEC,MAAM,QAAQ,4BAA4B;AAErE,SAASC,WAAW,QAAQ,yBAAsB;AAClD,SAASC,QAAQ,QAAQ,sBAAmB;AAC5C,SAASC,SAAS,QAAQ,uBAAoB;AAE9C,SAASC,mBAAmB,QAAQ,qCAAkC;AACtE,SAASC,WAAW,QAAQ,6CAA0C;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAUtE,MAAMC,gBAAgB,GAAGA,CAAC;EACxBC,MAAM;EACNC,QAAQ;EACRC,SAAS;EACTC,WAAW,GAAGP,WAAW,CAACQ,IAAI;EAC9BC;AACqB,CAAC,KAAK;EAC3B,IAAIH,SAAS,IAAID,QAAQ,EAAE;IACzB,oBACEH,IAAA,CAACT,iBAAiB;MAChBiB,KAAK,EAAED,sBAAsB,IAAIV,mBAAmB,CAACQ,WAAW,CAAC,CAACI;IAAW,CAC9E,CAAC;EAEN;EAEA,IAAI,CAACN,QAAQ,EAAE;IACb,oBAAOH,IAAA,CAACN,WAAW,IAAE,CAAC;EACxB;EAEA,IAAIQ,MAAM,KAAK,SAAS,EAAE,oBAAOF,IAAA,CAACJ,SAAS;IAACY,KAAK,EAAEf,MAAM,CAACiB;EAAU,CAAE,CAAC;EACvE,IAAIR,MAAM,KAAK,QAAQ,EAAE,oBAAOF,IAAA,CAACL,QAAQ;IAACa,KAAK,EAAEf,MAAM,CAACiB;EAAU,CAAE,CAAC;EACrE,oBAAOV,IAAA,CAACN,WAAW,IAAE,CAAC;AACxB,CAAC;AAgBD,OAAO,MAAMiB,UAAU,GAAGA,CAAC;EACzBC,KAAK,EAAE;IAAEV,MAAM;IAAEW,QAAQ;IAAEV,QAAQ;IAAEC;EAAU,CAAC;EAChDC,WAAW,GAAGP,WAAW,CAACQ,IAAI;EAC9BQ,OAAO;EACPP,sBAAsB;EACtB,GAAGQ;AACqB,CAAC,KAAK;EAC9B,oBACEf,IAAA,CAACR,gBAAgB;IACfqB,QAAQ,EAAEA,QAAS;IACnBV,QAAQ,EAAEA,QAAS;IACnBa,OAAO,EAAE,WAAY;IACrBX,WAAW,EAAEA,WAAY;IACzBY,IAAI,EAAE,OAAQ;IACdH,OAAO,EAAEA,OAAQ;IACjBI,IAAI,eACFlB,IAAA,CAACC,gBAAgB;MACfE,QAAQ,EAAEA,QAAS;MACnBC,SAAS,EAAEA,SAAU;MACrBF,MAAM,EAAEA,MAAO;MACfG,WAAW,EAAEA,WAAY;MACzBE,sBAAsB,EAAEA;IAAuB,CAChD,CACF;IAAA,GACGQ;EAAK,CACV,CAAC;AAEN,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceTranscription.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/components/VoiceTranscription.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA0C,MAAM,OAAO,CAAA;AAE9D,OAAO,EAAE,SAAS,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAA;AAIrE,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAKpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAK3C,KAAK,uBAAuB,GAAG;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,KAAK,EAAE,gBAAgB,CAAA;IACvB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,yBAAyB,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,kBAAkB,iFAQ5B,uBAAuB,sBA0GzB,CAAA"}
1
+ {"version":3,"file":"VoiceTranscription.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/components/VoiceTranscription.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA0C,MAAM,OAAO,CAAA;AAE9D,OAAO,EAAE,SAAS,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAA;AAIrE,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAMpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAK3C,KAAK,uBAAuB,GAAG;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,KAAK,EAAE,gBAAgB,CAAA;IACvB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,yBAAyB,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,kBAAkB,iFAQ5B,uBAAuB,sBAgHzB,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { VoicePlayerModel } from '../model';
2
+ type Params = {
3
+ model: VoicePlayerModel;
4
+ activeAttempt: number | null;
5
+ targetLanguage: string;
6
+ };
7
+ /**
8
+ * Auto-expands the transcription dropdown based on content readiness:
9
+ * - Stays collapsed during transcript loading or for drawing-only attempts.
10
+ * - When source language matches target, expands as soon as a real transcript is loaded.
11
+ * - When source differs from target, waits until the translation for that attempt is
12
+ * available, then expands.
13
+ */
14
+ export declare const useVoiceTranscriptionAutoExpand: ({ model, activeAttempt, targetLanguage, }: Params) => void;
15
+ export {};
16
+ //# sourceMappingURL=useVoiceTranscriptionAutoExpand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVoiceTranscriptionAutoExpand.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/hooks/useVoiceTranscriptionAutoExpand.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAG3C,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,gBAAgB,CAAA;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,8CAIzC,MAAM,SAiCR,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useVoiceTranscriptionEffects.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/hooks/useVoiceTranscriptionEffects.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAG3C,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,gBAAgB,CAAA;IACvB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,4BAA4B,8DAMtC,MAAM,SAoCR,CAAA"}
1
+ {"version":3,"file":"useVoiceTranscriptionEffects.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/hooks/useVoiceTranscriptionEffects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,gBAAgB,CAAA;IACvB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,4BAA4B,8DAMtC,MAAM,SAuBR,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceTranscription.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/components/VoiceTranscription.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA0C,MAAM,OAAO,CAAA;AAE9D,OAAO,EAAE,SAAS,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAA;AAIrE,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAKpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAK3C,KAAK,uBAAuB,GAAG;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,KAAK,EAAE,gBAAgB,CAAA;IACvB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,yBAAyB,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,kBAAkB,iFAQ5B,uBAAuB,sBA0GzB,CAAA"}
1
+ {"version":3,"file":"VoiceTranscription.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/components/VoiceTranscription.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA0C,MAAM,OAAO,CAAA;AAE9D,OAAO,EAAE,SAAS,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAA;AAIrE,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAMpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAK3C,KAAK,uBAAuB,GAAG;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,KAAK,EAAE,gBAAgB,CAAA;IACvB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,yBAAyB,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,kBAAkB,iFAQ5B,uBAAuB,sBAgHzB,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { VoicePlayerModel } from '../model';
2
+ type Params = {
3
+ model: VoicePlayerModel;
4
+ activeAttempt: number | null;
5
+ targetLanguage: string;
6
+ };
7
+ /**
8
+ * Auto-expands the transcription dropdown based on content readiness:
9
+ * - Stays collapsed during transcript loading or for drawing-only attempts.
10
+ * - When source language matches target, expands as soon as a real transcript is loaded.
11
+ * - When source differs from target, waits until the translation for that attempt is
12
+ * available, then expands.
13
+ */
14
+ export declare const useVoiceTranscriptionAutoExpand: ({ model, activeAttempt, targetLanguage, }: Params) => void;
15
+ export {};
16
+ //# sourceMappingURL=useVoiceTranscriptionAutoExpand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVoiceTranscriptionAutoExpand.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/hooks/useVoiceTranscriptionAutoExpand.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAG3C,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,gBAAgB,CAAA;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,8CAIzC,MAAM,SAiCR,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useVoiceTranscriptionEffects.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/hooks/useVoiceTranscriptionEffects.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAG3C,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,gBAAgB,CAAA;IACvB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,4BAA4B,8DAMtC,MAAM,SAoCR,CAAA"}
1
+ {"version":3,"file":"useVoiceTranscriptionEffects.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/hooks/useVoiceTranscriptionEffects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,gBAAgB,CAAA;IACvB,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,4BAA4B,8DAMtC,MAAM,SAuBR,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmamath/students-features",
3
- "version": "1.3.23-rc.12",
3
+ "version": "1.3.23-rc.14",
4
4
  "description": "Magmamath features library",
5
5
  "source": "src/index.ts",
6
6
  "main": "src/index.ts",
@@ -46,7 +46,7 @@
46
46
  "devDependencies": {
47
47
  "@magmamath/frontend-config": "1.3.2",
48
48
  "@magmamath/react-native-draw-board": "1.8.2",
49
- "@magmamath/react-native-ui": "0.4.83",
49
+ "@magmamath/react-native-ui": "0.5.8",
50
50
  "@magmamath/students-qa": "0.1.0",
51
51
  "@matteappen/skills-utils": "^3.7.1",
52
52
  "@react-native-masked-view/masked-view": "^0.3.2",
@@ -11,6 +11,7 @@ import { resolveGoogleLanguageCode } from '../../../translation/providers/google
11
11
  import { useText } from '../../../../i18n/i18n'
12
12
  import { useVoiceTranscriptionEffects } from '../hooks/useVoiceTranscriptionEffects'
13
13
  import { useVoiceTranscriptionAutoTranslate } from '../hooks/useVoiceTranscriptionAutoTranslate'
14
+ import { useVoiceTranscriptionAutoExpand } from '../hooks/useVoiceTranscriptionAutoExpand'
14
15
  import { VoicePlayerModel } from '../model'
15
16
  import { VoiceTranscriptContent } from './VoiceTranscriptContent'
16
17
  import { VoiceTranscriptionCollapsible } from './VoiceTranscriptionCollapsible'
@@ -89,6 +90,12 @@ export const VoiceTranscription = ({
89
90
  problemId,
90
91
  })
91
92
 
93
+ useVoiceTranscriptionAutoExpand({
94
+ model,
95
+ activeAttempt,
96
+ targetLanguage: i18n.language,
97
+ })
98
+
92
99
  useEffect(() => {
93
100
  if (showTranslation && activeAttempt !== null && !cachedTranslation && !isTranslating) {
94
101
  model.translation.translate({
@@ -1,4 +1,4 @@
1
- import { Button, COLORS, GlobeIcon, SPACING } from '@magmamath/react-native-ui'
1
+ import { ReanimatedButton, COLORS, GlobeIcon, SPACING } from '@magmamath/react-native-ui'
2
2
  import React from 'react'
3
3
  import { StyleSheet } from 'react-native'
4
4
  import Animated, { FadeIn, FadeOut } from 'react-native-reanimated'
@@ -40,7 +40,7 @@ export const VoiceTranscriptionHeaderActions = ({
40
40
  activityIndicatorColor={COLORS.NEUTRAL_1}
41
41
  />
42
42
  {canTranslate && (
43
- <Button
43
+ <ReanimatedButton
44
44
  variant="secondary"
45
45
  size="small"
46
46
  colorScheme={ColorScheme.Blue}
@@ -0,0 +1,57 @@
1
+ import { useEffect } from 'react'
2
+ import { useUnit } from 'effector-react'
3
+ import { NO_AUDIO_BE_MESSAGE } from '../../constants'
4
+ import { VoicePlayerModel } from '../model'
5
+ import { resolveGoogleLanguageCode } from '../../../translation/providers/google/supportedLanguages'
6
+
7
+ type Params = {
8
+ model: VoicePlayerModel
9
+ activeAttempt: number | null
10
+ targetLanguage: string
11
+ }
12
+
13
+ /**
14
+ * Auto-expands the transcription dropdown based on content readiness:
15
+ * - Stays collapsed during transcript loading or for drawing-only attempts.
16
+ * - When source language matches target, expands as soon as a real transcript is loaded.
17
+ * - When source differs from target, waits until the translation for that attempt is
18
+ * available, then expands.
19
+ */
20
+ export const useVoiceTranscriptionAutoExpand = ({
21
+ model,
22
+ activeAttempt,
23
+ targetLanguage,
24
+ }: Params) => {
25
+ const [transcriptsLoaded, translations] = useUnit([
26
+ model.loader.$transcriptsLoaded,
27
+ model.translation.$translations,
28
+ ])
29
+
30
+ useEffect(() => {
31
+ if (activeAttempt === null) return
32
+
33
+ if (!transcriptsLoaded) {
34
+ model.dropdown.setExpanded(false)
35
+ return
36
+ }
37
+
38
+ const transcript = model.loader.getTranscript(activeAttempt)
39
+ const hasRealTranscript = !!transcript && transcript !== NO_AUDIO_BE_MESSAGE
40
+ if (!hasRealTranscript) {
41
+ model.dropdown.setExpanded(false)
42
+ return
43
+ }
44
+
45
+ const sourceLanguage = model.loader.getTranscriptLanguage(activeAttempt)
46
+ const needsTranslation =
47
+ !!sourceLanguage &&
48
+ resolveGoogleLanguageCode(sourceLanguage) !== resolveGoogleLanguageCode(targetLanguage)
49
+
50
+ if (needsTranslation) {
51
+ model.dropdown.setExpanded(!!translations[activeAttempt])
52
+ return
53
+ }
54
+
55
+ model.dropdown.setExpanded(true)
56
+ }, [activeAttempt, transcriptsLoaded, translations, targetLanguage, model])
57
+ }
@@ -1,8 +1,6 @@
1
1
  import { useEffect, useRef } from 'react'
2
- import { useUnit } from 'effector-react'
3
2
  import { AnswerAudio } from '../../types'
4
3
  import { VoicePlayerModel } from '../model'
5
- import { NO_AUDIO_BE_MESSAGE } from '../../constants'
6
4
 
7
5
  type Params = {
8
6
  model: VoicePlayerModel
@@ -31,19 +29,6 @@ export const useVoiceTranscriptionEffects = ({
31
29
  model.resetPlayer()
32
30
  }, [problemId])
33
31
 
34
- const transcriptsLoaded = useUnit(model.loader.$transcriptsLoaded)
35
-
36
- useEffect(() => {
37
- if (activeAttempt === null) return
38
- if (!transcriptsLoaded) {
39
- model.dropdown.setExpanded(false)
40
- return
41
- }
42
- const transcript = model.loader.getTranscript(activeAttempt)
43
- const hasRealTranscript = !!transcript && transcript !== NO_AUDIO_BE_MESSAGE
44
- model.dropdown.setExpanded(hasRealTranscript)
45
- }, [activeAttempt, transcriptsLoaded, model])
46
-
47
32
  useEffect(() => {
48
33
  if (answersRef.current.some((answer) => answer.audioFileId)) {
49
34
  model.initializeWithAudios(answersRef.current)
@@ -1,6 +1,6 @@
1
1
  import React from 'react'
2
2
  import { ActivityIndicator } from 'react-native'
3
- import { Button, COLORS } from '@magmamath/react-native-ui'
3
+ import { ReanimatedButton, COLORS } from '@magmamath/react-native-ui'
4
4
 
5
5
  import { SpeakerIcon } from '../icons/SpeakerIcon'
6
6
  import { PlayIcon } from '../icons/PlayIcon'
@@ -63,7 +63,7 @@ export const PlayButton = ({
63
63
  ...props
64
64
  }: MessageTextToSpeechProps) => {
65
65
  return (
66
- <Button
66
+ <ReanimatedButton
67
67
  disabled={disabled}
68
68
  isActive={isActive}
69
69
  variant={'secondary'}