@magmamath/students-features 1.3.23-rc.13 → 1.3.23-rc.15

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 +4 -3
  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/useVoiceTranscriptionEffects.js +3 -2
  6. package/dist/commonjs/features/voice/playing/hooks/useVoiceTranscriptionEffects.js.map +1 -1
  7. package/dist/commonjs/features/voice/playing/model/TranscriptionsDownloaderModel.js +35 -27
  8. package/dist/commonjs/features/voice/playing/model/TranscriptionsDownloaderModel.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 +4 -3
  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/useVoiceTranscriptionEffects.js +4 -3
  16. package/dist/module/features/voice/playing/hooks/useVoiceTranscriptionEffects.js.map +1 -1
  17. package/dist/module/features/voice/playing/model/TranscriptionsDownloaderModel.js +36 -28
  18. package/dist/module/features/voice/playing/model/TranscriptionsDownloaderModel.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/useVoiceTranscriptionEffects.d.ts.map +1 -1
  23. package/dist/typescript/commonjs/features/voice/playing/model/TranscriptionsDownloaderModel.d.ts +2 -1
  24. package/dist/typescript/commonjs/features/voice/playing/model/TranscriptionsDownloaderModel.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/useVoiceTranscriptionEffects.d.ts.map +1 -1
  27. package/dist/typescript/module/features/voice/playing/model/TranscriptionsDownloaderModel.d.ts +2 -1
  28. package/dist/typescript/module/features/voice/playing/model/TranscriptionsDownloaderModel.d.ts.map +1 -1
  29. package/package.json +2 -2
  30. package/src/features/voice/playing/components/VoiceTranscription.tsx +22 -10
  31. package/src/features/voice/playing/components/VoiceTranscriptionHeaderActions.tsx +2 -2
  32. package/src/features/voice/playing/hooks/useVoiceTranscriptionEffects.ts +4 -3
  33. package/src/features/voice/playing/model/TranscriptionsDownloaderModel.ts +35 -28
  34. package/src/shared/components/PlayButton.tsx +2 -2
@@ -38,7 +38,7 @@ const VoiceTranscription = ({
38
38
  const {
39
39
  i18n
40
40
  } = (0, _reactI18next.useTranslation)();
41
- const [playerState, isLoadingTranscripts, isTranslationActive, translations, isTranslating] = (0, _effectorReact.useUnit)([model.$playerState, model.loader.loadAllTranscripts.pending, model.translation.$isActive, model.translation.$translations, model.translation.translate.pending]);
41
+ const [playerState, isLoadingTranscripts, loadedForAnswersKey, isTranslationActive, translations, isTranslating] = (0, _effectorReact.useUnit)([model.$playerState, model.loader.loadAllTranscripts.pending, model.loader.$loadedKey, model.translation.$isActive, model.translation.$translations, model.translation.translate.pending]);
42
42
  const activeAttempt = (0, _helpers.getActiveAttempt)(attemptOffset, attemptsCount);
43
43
  const isLargeVariant = variant === _types.VoiceTranscriptionVariant.LARGE;
44
44
  const answersKey = (0, _react.useMemo)(() => answers.map(a => `${a._id}:${a.audioFileId ?? ''}`).join(','), [answers]);
@@ -49,11 +49,12 @@ const VoiceTranscription = ({
49
49
  problemId,
50
50
  activeAttempt
51
51
  });
52
+ const isContentReady = loadedForAnswersKey === answersKey;
52
53
  const hasActiveAudio = activeAttempt !== null && answers?.[activeAttempt - 1]?.audioFileId !== undefined;
53
- const activeTranscript = activeAttempt !== null ? model.loader.getTranscript(activeAttempt) : null;
54
+ const activeTranscript = isContentReady && activeAttempt !== null ? model.loader.getTranscript(activeAttempt) : null;
54
55
  const hasTranscriptText = !!activeTranscript && activeTranscript !== _constants.NO_AUDIO_BE_MESSAGE;
55
56
  const isActiveTranscriptLoading = isLoadingTranscripts && hasActiveAudio && !activeTranscript;
56
- const transcriptLanguage = activeAttempt !== null ? model.loader.getTranscriptLanguage(activeAttempt) : undefined;
57
+ const transcriptLanguage = isContentReady && activeAttempt !== null ? model.loader.getTranscriptLanguage(activeAttempt) : undefined;
57
58
  const isSourceSameAsTarget = !!transcriptLanguage && (0, _supportedLanguages.resolveGoogleLanguageCode)(transcriptLanguage) === (0, _supportedLanguages.resolveGoogleLanguageCode)(i18n.language);
58
59
  const canTranslate = hasTranscriptText && !isSourceSameAsTarget;
59
60
  const cachedTranslation = activeAttempt !== null ? translations[activeAttempt] : undefined;
@@ -1 +1 @@
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":[]}
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","loadedForAnswersKey","isTranslationActive","translations","isTranslating","useUnit","$playerState","loader","loadAllTranscripts","pending","$loadedKey","translation","$isActive","$translations","translate","activeAttempt","getActiveAttempt","isLargeVariant","LARGE","answersKey","useMemo","map","_id","audioFileId","join","useVoiceTranscriptionEffects","isContentReady","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":[]}
@@ -18,13 +18,14 @@ const useVoiceTranscriptionEffects = ({
18
18
  model.reinitializePlayer();
19
19
  return () => model.cleanup();
20
20
  }, [model]);
21
- (0, _react.useEffect)(() => {
21
+ (0, _react.useLayoutEffect)(() => {
22
+ model.loader.setTranscriptsLoaded(false);
22
23
  model.resetPlayer();
23
24
  }, [problemId]);
24
25
  (0, _react.useEffect)(() => {
25
26
  if (answersRef.current.some(answer => answer.audioFileId)) {
26
27
  model.initializeWithAudios(answersRef.current);
27
- model.loader.loadAllTranscripts();
28
+ model.loader.loadAllTranscripts(answersKey);
28
29
  }
29
30
  }, [model, answersKey]);
30
31
  (0, _react.useEffect)(() => {
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"names":["_react","require","useVoiceTranscriptionEffects","model","answers","answersKey","problemId","activeAttempt","answersRef","useRef","current","useEffect","reinitializePlayer","cleanup","useLayoutEffect","loader","setTranscriptsLoaded","resetPlayer","some","answer","audioFileId","initializeWithAudios","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,IAAAW,sBAAe,EAAC,MAAM;IACpBX,KAAK,CAACY,MAAM,CAACC,oBAAoB,CAAC,KAAK,CAAC;IACxCb,KAAK,CAACc,WAAW,CAAC,CAAC;EACrB,CAAC,EAAE,CAACX,SAAS,CAAC,CAAC;EAEf,IAAAK,gBAAS,EAAC,MAAM;IACd,IAAIH,UAAU,CAACE,OAAO,CAACQ,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACC,WAAW,CAAC,EAAE;MAC3DjB,KAAK,CAACkB,oBAAoB,CAACb,UAAU,CAACE,OAAO,CAAC;MAC9CP,KAAK,CAACY,MAAM,CAACO,kBAAkB,CAACjB,UAAU,CAAC;IAC7C;EACF,CAAC,EAAE,CAACF,KAAK,EAAEE,UAAU,CAAC,CAAC;EAEvB,IAAAM,gBAAS,EAAC,MAAM;IACdR,KAAK,CAACoB,SAAS,CAAC,CAAC;EACnB,CAAC,EAAE,CAAChB,aAAa,CAAC,CAAC;AACrB,CAAC;AAAAiB,OAAA,CAAAtB,4BAAA,GAAAA,4BAAA","ignoreList":[]}
@@ -10,33 +10,8 @@ class TranscriptionsDownloaderModel {
10
10
  setTranscriptsLoaded = (0, _effector.createEvent)();
11
11
  reset = (0, _effector.createEvent)();
12
12
  $transcriptsLoaded = (0, _effector.restore)(this.setTranscriptsLoaded, false).reset(this.reset);
13
- constructor(collection, api) {
14
- this.collection = collection;
15
- this.api = api;
16
- }
17
- async fetchTranscriptWithRetry(audioFileId) {
18
- for (let attempt = 0; attempt < _constants.TRANSCRIPT_MAX_RETRIES; attempt++) {
19
- const response = await this.api.getAudioFileTranscript(audioFileId);
20
- if (response.status === 'completed') {
21
- return {
22
- text: response.text,
23
- language: response.language
24
- };
25
- }
26
- if (response.status === 'failed') {
27
- return {
28
- text: _constants.NO_AUDIO_BE_MESSAGE
29
- };
30
- }
31
- if (attempt < _constants.TRANSCRIPT_MAX_RETRIES - 1) {
32
- await new Promise(resolve => setTimeout(resolve, _constants.TRANSCRIPT_RETRY_INTERVAL_MS));
33
- }
34
- }
35
- return {
36
- text: _constants.NO_AUDIO_BE_MESSAGE
37
- };
38
- }
39
- loadAllTranscripts = (0, _effector.createEffect)(async () => {
13
+ $loadedKey = (0, _effector.createStore)('').reset(this.reset);
14
+ loadAllTranscripts = (0, _effector.createEffect)(async _contentKey => {
40
15
  const attempts = this.collection.getAll();
41
16
  const transcriptPromises = attempts.map(async item => {
42
17
  if (this.collection.hasTranscript(item.attemptNumber)) {
@@ -66,6 +41,39 @@ class TranscriptionsDownloaderModel {
66
41
  await Promise.all(transcriptPromises);
67
42
  this.setTranscriptsLoaded(true);
68
43
  });
44
+ constructor(collection, api) {
45
+ this.collection = collection;
46
+ this.api = api;
47
+ (0, _effector.sample)({
48
+ clock: this.loadAllTranscripts.done,
49
+ fn: ({
50
+ params
51
+ }) => params,
52
+ target: this.$loadedKey
53
+ });
54
+ }
55
+ async fetchTranscriptWithRetry(audioFileId) {
56
+ for (let attempt = 0; attempt < _constants.TRANSCRIPT_MAX_RETRIES; attempt++) {
57
+ const response = await this.api.getAudioFileTranscript(audioFileId);
58
+ if (response.status === 'completed') {
59
+ return {
60
+ text: response.text,
61
+ language: response.language
62
+ };
63
+ }
64
+ if (response.status === 'failed') {
65
+ return {
66
+ text: _constants.NO_AUDIO_BE_MESSAGE
67
+ };
68
+ }
69
+ if (attempt < _constants.TRANSCRIPT_MAX_RETRIES - 1) {
70
+ await new Promise(resolve => setTimeout(resolve, _constants.TRANSCRIPT_RETRY_INTERVAL_MS));
71
+ }
72
+ }
73
+ return {
74
+ text: _constants.NO_AUDIO_BE_MESSAGE
75
+ };
76
+ }
69
77
  getTranscript(attemptNumber) {
70
78
  return this.collection.get(attemptNumber)?.transcript;
71
79
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_effector","require","_constants","TranscriptionsDownloaderModel","setTranscriptsLoaded","createEvent","reset","$transcriptsLoaded","restore","constructor","collection","api","fetchTranscriptWithRetry","audioFileId","attempt","TRANSCRIPT_MAX_RETRIES","response","getAudioFileTranscript","status","text","language","NO_AUDIO_BE_MESSAGE","Promise","resolve","setTimeout","TRANSCRIPT_RETRY_INTERVAL_MS","loadAllTranscripts","createEffect","attempts","getAll","transcriptPromises","map","item","hasTranscript","attemptNumber","update","transcriptLoading","transcript","transcriptLanguage","transcriptError","undefined","error","Error","message","all","getTranscript","get","getTranscriptLanguage","isTranscriptLoading","exports"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/model/TranscriptionsDownloaderModel.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_effector","require","_constants","TranscriptionsDownloaderModel","setTranscriptsLoaded","createEvent","reset","$transcriptsLoaded","restore","$loadedKey","createStore","loadAllTranscripts","createEffect","_contentKey","attempts","collection","getAll","transcriptPromises","map","item","hasTranscript","attemptNumber","update","transcriptLoading","text","language","fetchTranscriptWithRetry","audioFileId","transcript","transcriptLanguage","transcriptError","undefined","error","Error","message","Promise","all","constructor","api","sample","clock","done","fn","params","target","attempt","TRANSCRIPT_MAX_RETRIES","response","getAudioFileTranscript","status","NO_AUDIO_BE_MESSAGE","resolve","setTimeout","TRANSCRIPT_RETRY_INTERVAL_MS","getTranscript","get","getTranscriptLanguage","isTranscriptLoading","exports"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/model/TranscriptionsDownloaderModel.ts"],"mappings":"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","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":[]}
@@ -31,7 +31,7 @@ export const VoiceTranscription = ({
31
31
  const {
32
32
  i18n
33
33
  } = useTranslation();
34
- const [playerState, isLoadingTranscripts, isTranslationActive, translations, isTranslating] = useUnit([model.$playerState, model.loader.loadAllTranscripts.pending, model.translation.$isActive, model.translation.$translations, model.translation.translate.pending]);
34
+ const [playerState, isLoadingTranscripts, loadedForAnswersKey, isTranslationActive, translations, isTranslating] = useUnit([model.$playerState, model.loader.loadAllTranscripts.pending, model.loader.$loadedKey, model.translation.$isActive, model.translation.$translations, model.translation.translate.pending]);
35
35
  const activeAttempt = getActiveAttempt(attemptOffset, attemptsCount);
36
36
  const isLargeVariant = variant === VoiceTranscriptionVariant.LARGE;
37
37
  const answersKey = useMemo(() => answers.map(a => `${a._id}:${a.audioFileId ?? ''}`).join(','), [answers]);
@@ -42,11 +42,12 @@ export const VoiceTranscription = ({
42
42
  problemId,
43
43
  activeAttempt
44
44
  });
45
+ const isContentReady = loadedForAnswersKey === answersKey;
45
46
  const hasActiveAudio = activeAttempt !== null && answers?.[activeAttempt - 1]?.audioFileId !== undefined;
46
- const activeTranscript = activeAttempt !== null ? model.loader.getTranscript(activeAttempt) : null;
47
+ const activeTranscript = isContentReady && activeAttempt !== null ? model.loader.getTranscript(activeAttempt) : null;
47
48
  const hasTranscriptText = !!activeTranscript && activeTranscript !== NO_AUDIO_BE_MESSAGE;
48
49
  const isActiveTranscriptLoading = isLoadingTranscripts && hasActiveAudio && !activeTranscript;
49
- const transcriptLanguage = activeAttempt !== null ? model.loader.getTranscriptLanguage(activeAttempt) : undefined;
50
+ const transcriptLanguage = isContentReady && activeAttempt !== null ? model.loader.getTranscriptLanguage(activeAttempt) : undefined;
50
51
  const isSourceSameAsTarget = !!transcriptLanguage && resolveGoogleLanguageCode(transcriptLanguage) === resolveGoogleLanguageCode(i18n.language);
51
52
  const canTranslate = hasTranscriptText && !isSourceSameAsTarget;
52
53
  const cachedTranslation = activeAttempt !== null ? translations[activeAttempt] : undefined;
@@ -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","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
+ {"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","loadedForAnswersKey","isTranslationActive","translations","isTranslating","$playerState","loader","loadAllTranscripts","pending","$loadedKey","translation","$isActive","$translations","translate","activeAttempt","isLargeVariant","LARGE","answersKey","map","a","_id","audioFileId","join","isContentReady","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":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { useEffect, useRef } from 'react';
3
+ import { useEffect, useLayoutEffect, useRef } from 'react';
4
4
  export const useVoiceTranscriptionEffects = ({
5
5
  model,
6
6
  answers,
@@ -14,13 +14,14 @@ export const useVoiceTranscriptionEffects = ({
14
14
  model.reinitializePlayer();
15
15
  return () => model.cleanup();
16
16
  }, [model]);
17
- useEffect(() => {
17
+ useLayoutEffect(() => {
18
+ model.loader.setTranscriptsLoaded(false);
18
19
  model.resetPlayer();
19
20
  }, [problemId]);
20
21
  useEffect(() => {
21
22
  if (answersRef.current.some(answer => answer.audioFileId)) {
22
23
  model.initializeWithAudios(answersRef.current);
23
- model.loader.loadAllTranscripts();
24
+ model.loader.loadAllTranscripts(answersKey);
24
25
  }
25
26
  }, [model, answersKey]);
26
27
  useEffect(() => {
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"names":["useEffect","useLayoutEffect","useRef","useVoiceTranscriptionEffects","model","answers","answersKey","problemId","activeAttempt","answersRef","current","reinitializePlayer","cleanup","loader","setTranscriptsLoaded","resetPlayer","some","answer","audioFileId","initializeWithAudios","loadAllTranscripts","stopAudio"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/hooks/useVoiceTranscriptionEffects.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,eAAe,EAAEC,MAAM,QAAQ,OAAO;AAY1D,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;EAE5BL,SAAS,CAAC,MAAM;IACdI,KAAK,CAACO,kBAAkB,CAAC,CAAC;IAC1B,OAAO,MAAMP,KAAK,CAACQ,OAAO,CAAC,CAAC;EAC9B,CAAC,EAAE,CAACR,KAAK,CAAC,CAAC;EAEXH,eAAe,CAAC,MAAM;IACpBG,KAAK,CAACS,MAAM,CAACC,oBAAoB,CAAC,KAAK,CAAC;IACxCV,KAAK,CAACW,WAAW,CAAC,CAAC;EACrB,CAAC,EAAE,CAACR,SAAS,CAAC,CAAC;EAEfP,SAAS,CAAC,MAAM;IACd,IAAIS,UAAU,CAACC,OAAO,CAACM,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACC,WAAW,CAAC,EAAE;MAC3Dd,KAAK,CAACe,oBAAoB,CAACV,UAAU,CAACC,OAAO,CAAC;MAC9CN,KAAK,CAACS,MAAM,CAACO,kBAAkB,CAACd,UAAU,CAAC;IAC7C;EACF,CAAC,EAAE,CAACF,KAAK,EAAEE,UAAU,CAAC,CAAC;EAEvBN,SAAS,CAAC,MAAM;IACdI,KAAK,CAACiB,SAAS,CAAC,CAAC;EACnB,CAAC,EAAE,CAACb,aAAa,CAAC,CAAC;AACrB,CAAC","ignoreList":[]}
@@ -1,38 +1,13 @@
1
1
  "use strict";
2
2
 
3
- import { createEffect, createEvent, restore } from 'effector';
3
+ import { createEffect, createEvent, createStore, restore, sample } from 'effector';
4
4
  import { NO_AUDIO_BE_MESSAGE, TRANSCRIPT_MAX_RETRIES, TRANSCRIPT_RETRY_INTERVAL_MS } from "../../constants.js";
5
5
  export class TranscriptionsDownloaderModel {
6
6
  setTranscriptsLoaded = createEvent();
7
7
  reset = createEvent();
8
8
  $transcriptsLoaded = restore(this.setTranscriptsLoaded, false).reset(this.reset);
9
- constructor(collection, api) {
10
- this.collection = collection;
11
- this.api = api;
12
- }
13
- async fetchTranscriptWithRetry(audioFileId) {
14
- for (let attempt = 0; attempt < TRANSCRIPT_MAX_RETRIES; attempt++) {
15
- const response = await this.api.getAudioFileTranscript(audioFileId);
16
- if (response.status === 'completed') {
17
- return {
18
- text: response.text,
19
- language: response.language
20
- };
21
- }
22
- if (response.status === 'failed') {
23
- return {
24
- text: NO_AUDIO_BE_MESSAGE
25
- };
26
- }
27
- if (attempt < TRANSCRIPT_MAX_RETRIES - 1) {
28
- await new Promise(resolve => setTimeout(resolve, TRANSCRIPT_RETRY_INTERVAL_MS));
29
- }
30
- }
31
- return {
32
- text: NO_AUDIO_BE_MESSAGE
33
- };
34
- }
35
- loadAllTranscripts = createEffect(async () => {
9
+ $loadedKey = createStore('').reset(this.reset);
10
+ loadAllTranscripts = createEffect(async _contentKey => {
36
11
  const attempts = this.collection.getAll();
37
12
  const transcriptPromises = attempts.map(async item => {
38
13
  if (this.collection.hasTranscript(item.attemptNumber)) {
@@ -62,6 +37,39 @@ export class TranscriptionsDownloaderModel {
62
37
  await Promise.all(transcriptPromises);
63
38
  this.setTranscriptsLoaded(true);
64
39
  });
40
+ constructor(collection, api) {
41
+ this.collection = collection;
42
+ this.api = api;
43
+ sample({
44
+ clock: this.loadAllTranscripts.done,
45
+ fn: ({
46
+ params
47
+ }) => params,
48
+ target: this.$loadedKey
49
+ });
50
+ }
51
+ async fetchTranscriptWithRetry(audioFileId) {
52
+ for (let attempt = 0; attempt < TRANSCRIPT_MAX_RETRIES; attempt++) {
53
+ const response = await this.api.getAudioFileTranscript(audioFileId);
54
+ if (response.status === 'completed') {
55
+ return {
56
+ text: response.text,
57
+ language: response.language
58
+ };
59
+ }
60
+ if (response.status === 'failed') {
61
+ return {
62
+ text: NO_AUDIO_BE_MESSAGE
63
+ };
64
+ }
65
+ if (attempt < TRANSCRIPT_MAX_RETRIES - 1) {
66
+ await new Promise(resolve => setTimeout(resolve, TRANSCRIPT_RETRY_INTERVAL_MS));
67
+ }
68
+ }
69
+ return {
70
+ text: NO_AUDIO_BE_MESSAGE
71
+ };
72
+ }
65
73
  getTranscript(attemptNumber) {
66
74
  return this.collection.get(attemptNumber)?.transcript;
67
75
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createEffect","createEvent","restore","NO_AUDIO_BE_MESSAGE","TRANSCRIPT_MAX_RETRIES","TRANSCRIPT_RETRY_INTERVAL_MS","TranscriptionsDownloaderModel","setTranscriptsLoaded","reset","$transcriptsLoaded","constructor","collection","api","fetchTranscriptWithRetry","audioFileId","attempt","response","getAudioFileTranscript","status","text","language","Promise","resolve","setTimeout","loadAllTranscripts","attempts","getAll","transcriptPromises","map","item","hasTranscript","attemptNumber","update","transcriptLoading","transcript","transcriptLanguage","transcriptError","undefined","error","Error","message","all","getTranscript","get","getTranscriptLanguage","isTranscriptLoading"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/model/TranscriptionsDownloaderModel.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createEffect","createEvent","createStore","restore","sample","NO_AUDIO_BE_MESSAGE","TRANSCRIPT_MAX_RETRIES","TRANSCRIPT_RETRY_INTERVAL_MS","TranscriptionsDownloaderModel","setTranscriptsLoaded","reset","$transcriptsLoaded","$loadedKey","loadAllTranscripts","_contentKey","attempts","collection","getAll","transcriptPromises","map","item","hasTranscript","attemptNumber","update","transcriptLoading","text","language","fetchTranscriptWithRetry","audioFileId","transcript","transcriptLanguage","transcriptError","undefined","error","Error","message","Promise","all","constructor","api","clock","done","fn","params","target","attempt","response","getAudioFileTranscript","status","resolve","setTimeout","getTranscript","get","getTranscriptLanguage","isTranscriptLoading"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/model/TranscriptionsDownloaderModel.ts"],"mappings":"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","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;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"}
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,sBA4HzB,CAAA"}
@@ -1 +1 @@
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
+ {"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,SAwBR,CAAA"}
@@ -6,9 +6,10 @@ export declare class TranscriptionsDownloaderModel {
6
6
  readonly setTranscriptsLoaded: import("effector").EventCallable<boolean>;
7
7
  readonly reset: import("effector").EventCallable<void>;
8
8
  readonly $transcriptsLoaded: import("effector").StoreWritable<boolean>;
9
+ readonly $loadedKey: import("effector").StoreWritable<string>;
10
+ readonly loadAllTranscripts: import("effector").Effect<string, void, Error>;
9
11
  constructor(collection: VoiceTranscriptionsCollection, api: VoicePlayerApi);
10
12
  private fetchTranscriptWithRetry;
11
- readonly loadAllTranscripts: import("effector").Effect<void, void, Error>;
12
13
  getTranscript(attemptNumber: number): string | undefined;
13
14
  getTranscriptLanguage(attemptNumber: number): string | undefined;
14
15
  isTranscriptLoading(attemptNumber: number): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"TranscriptionsDownloaderModel.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/model/TranscriptionsDownloaderModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAO5C,qBAAa,6BAA6B;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IAEpC,SAAgB,oBAAoB,4CAAyB;IAC7D,SAAgB,KAAK,yCAAgB;IAErC,SAAgB,kBAAkB,4CAA8D;gBAEpF,UAAU,EAAE,6BAA6B,EAAE,GAAG,EAAE,cAAc;YAK5D,wBAAwB;IAqBtC,SAAgB,kBAAkB,+CA6BhC;IAEK,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIxD,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIhE,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;CAG3D"}
1
+ {"version":3,"file":"TranscriptionsDownloaderModel.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/model/TranscriptionsDownloaderModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAO5C,qBAAa,6BAA6B;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IAEpC,SAAgB,oBAAoB,4CAAyB;IAC7D,SAAgB,KAAK,yCAAgB;IAErC,SAAgB,kBAAkB,4CAA8D;IAChG,SAAgB,UAAU,2CAAoC;IAE9D,SAAgB,kBAAkB,iDA6BhC;gBAEU,UAAU,EAAE,6BAA6B,EAAE,GAAG,EAAE,cAAc;YAW5D,wBAAwB;IAqB/B,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIxD,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIhE,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;CAG3D"}
@@ -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;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"}
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,sBA4HzB,CAAA"}
@@ -1 +1 @@
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
+ {"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,SAwBR,CAAA"}
@@ -6,9 +6,10 @@ export declare class TranscriptionsDownloaderModel {
6
6
  readonly setTranscriptsLoaded: import("effector").EventCallable<boolean>;
7
7
  readonly reset: import("effector").EventCallable<void>;
8
8
  readonly $transcriptsLoaded: import("effector").StoreWritable<boolean>;
9
+ readonly $loadedKey: import("effector").StoreWritable<string>;
10
+ readonly loadAllTranscripts: import("effector").Effect<string, void, Error>;
9
11
  constructor(collection: VoiceTranscriptionsCollection, api: VoicePlayerApi);
10
12
  private fetchTranscriptWithRetry;
11
- readonly loadAllTranscripts: import("effector").Effect<void, void, Error>;
12
13
  getTranscript(attemptNumber: number): string | undefined;
13
14
  getTranscriptLanguage(attemptNumber: number): string | undefined;
14
15
  isTranscriptLoading(attemptNumber: number): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"TranscriptionsDownloaderModel.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/model/TranscriptionsDownloaderModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAO5C,qBAAa,6BAA6B;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IAEpC,SAAgB,oBAAoB,4CAAyB;IAC7D,SAAgB,KAAK,yCAAgB;IAErC,SAAgB,kBAAkB,4CAA8D;gBAEpF,UAAU,EAAE,6BAA6B,EAAE,GAAG,EAAE,cAAc;YAK5D,wBAAwB;IAqBtC,SAAgB,kBAAkB,+CA6BhC;IAEK,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIxD,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIhE,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;CAG3D"}
1
+ {"version":3,"file":"TranscriptionsDownloaderModel.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/model/TranscriptionsDownloaderModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAO5C,qBAAa,6BAA6B;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IAEpC,SAAgB,oBAAoB,4CAAyB;IAC7D,SAAgB,KAAK,yCAAgB;IAErC,SAAgB,kBAAkB,4CAA8D;IAChG,SAAgB,UAAU,2CAAoC;IAE9D,SAAgB,kBAAkB,iDA6BhC;gBAEU,UAAU,EAAE,6BAA6B,EAAE,GAAG,EAAE,cAAc;YAW5D,wBAAwB;IAqB/B,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIxD,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIhE,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;CAG3D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmamath/students-features",
3
- "version": "1.3.23-rc.13",
3
+ "version": "1.3.23-rc.15",
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",
@@ -39,14 +39,21 @@ export const VoiceTranscription = ({
39
39
  const t = useText()
40
40
  const { i18n } = useTranslation()
41
41
 
42
- const [playerState, isLoadingTranscripts, isTranslationActive, translations, isTranslating] =
43
- useUnit([
44
- model.$playerState,
45
- model.loader.loadAllTranscripts.pending,
46
- model.translation.$isActive,
47
- model.translation.$translations,
48
- model.translation.translate.pending,
49
- ])
42
+ const [
43
+ playerState,
44
+ isLoadingTranscripts,
45
+ loadedForAnswersKey,
46
+ isTranslationActive,
47
+ translations,
48
+ isTranslating,
49
+ ] = useUnit([
50
+ model.$playerState,
51
+ model.loader.loadAllTranscripts.pending,
52
+ model.loader.$loadedKey,
53
+ model.translation.$isActive,
54
+ model.translation.$translations,
55
+ model.translation.translate.pending,
56
+ ])
50
57
 
51
58
  const activeAttempt = getActiveAttempt(attemptOffset, attemptsCount)
52
59
  const isLargeVariant = variant === VoiceTranscriptionVariant.LARGE
@@ -58,15 +65,20 @@ export const VoiceTranscription = ({
58
65
 
59
66
  useVoiceTranscriptionEffects({ model, answers, answersKey, problemId, activeAttempt })
60
67
 
68
+ const isContentReady = loadedForAnswersKey === answersKey
69
+
61
70
  const hasActiveAudio =
62
71
  activeAttempt !== null && answers?.[activeAttempt - 1]?.audioFileId !== undefined
63
72
 
64
- const activeTranscript = activeAttempt !== null ? model.loader.getTranscript(activeAttempt) : null
73
+ const activeTranscript =
74
+ isContentReady && activeAttempt !== null ? model.loader.getTranscript(activeAttempt) : null
65
75
  const hasTranscriptText = !!activeTranscript && activeTranscript !== NO_AUDIO_BE_MESSAGE
66
76
  const isActiveTranscriptLoading = isLoadingTranscripts && hasActiveAudio && !activeTranscript
67
77
 
68
78
  const transcriptLanguage =
69
- activeAttempt !== null ? model.loader.getTranscriptLanguage(activeAttempt) : undefined
79
+ isContentReady && activeAttempt !== null
80
+ ? model.loader.getTranscriptLanguage(activeAttempt)
81
+ : undefined
70
82
  const isSourceSameAsTarget =
71
83
  !!transcriptLanguage &&
72
84
  resolveGoogleLanguageCode(transcriptLanguage) === resolveGoogleLanguageCode(i18n.language)
@@ -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}
@@ -1,4 +1,4 @@
1
- import { useEffect, useRef } from 'react'
1
+ import { useEffect, useLayoutEffect, useRef } from 'react'
2
2
  import { AnswerAudio } from '../../types'
3
3
  import { VoicePlayerModel } from '../model'
4
4
 
@@ -25,14 +25,15 @@ export const useVoiceTranscriptionEffects = ({
25
25
  return () => model.cleanup()
26
26
  }, [model])
27
27
 
28
- useEffect(() => {
28
+ useLayoutEffect(() => {
29
+ model.loader.setTranscriptsLoaded(false)
29
30
  model.resetPlayer()
30
31
  }, [problemId])
31
32
 
32
33
  useEffect(() => {
33
34
  if (answersRef.current.some((answer) => answer.audioFileId)) {
34
35
  model.initializeWithAudios(answersRef.current)
35
- model.loader.loadAllTranscripts()
36
+ model.loader.loadAllTranscripts(answersKey)
36
37
  }
37
38
  }, [model, answersKey])
38
39
 
@@ -1,4 +1,4 @@
1
- import { createEffect, createEvent, restore } from 'effector'
1
+ import { createEffect, createEvent, createStore, restore, sample } from 'effector'
2
2
  import { VoiceTranscriptionsCollection } from './VoiceTranscriptionsCollection'
3
3
  import { VoicePlayerApi } from '../../types'
4
4
  import {
@@ -15,34 +15,9 @@ export class TranscriptionsDownloaderModel {
15
15
  public readonly reset = createEvent()
16
16
 
17
17
  public readonly $transcriptsLoaded = restore(this.setTranscriptsLoaded, false).reset(this.reset)
18
+ public readonly $loadedKey = createStore('').reset(this.reset)
18
19
 
19
- constructor(collection: VoiceTranscriptionsCollection, api: VoicePlayerApi) {
20
- this.collection = collection
21
- this.api = api
22
- }
23
-
24
- private async fetchTranscriptWithRetry(
25
- audioFileId: string,
26
- ): Promise<{ text: string; language?: string }> {
27
- for (let attempt = 0; attempt < TRANSCRIPT_MAX_RETRIES; attempt++) {
28
- const response = await this.api.getAudioFileTranscript(audioFileId)
29
-
30
- if (response.status === 'completed') {
31
- return { text: response.text, language: response.language }
32
- }
33
-
34
- if (response.status === 'failed') {
35
- return { text: NO_AUDIO_BE_MESSAGE }
36
- }
37
-
38
- if (attempt < TRANSCRIPT_MAX_RETRIES - 1) {
39
- await new Promise((resolve) => setTimeout(resolve, TRANSCRIPT_RETRY_INTERVAL_MS))
40
- }
41
- }
42
- return { text: NO_AUDIO_BE_MESSAGE }
43
- }
44
-
45
- public readonly loadAllTranscripts = createEffect(async () => {
20
+ public readonly loadAllTranscripts = createEffect(async (_contentKey: string) => {
46
21
  const attempts = this.collection.getAll()
47
22
 
48
23
  const transcriptPromises = attempts.map(async (item) => {
@@ -73,6 +48,38 @@ export class TranscriptionsDownloaderModel {
73
48
  this.setTranscriptsLoaded(true)
74
49
  })
75
50
 
51
+ constructor(collection: VoiceTranscriptionsCollection, api: VoicePlayerApi) {
52
+ this.collection = collection
53
+ this.api = api
54
+
55
+ sample({
56
+ clock: this.loadAllTranscripts.done,
57
+ fn: ({ params }) => params,
58
+ target: this.$loadedKey,
59
+ })
60
+ }
61
+
62
+ private async fetchTranscriptWithRetry(
63
+ audioFileId: string,
64
+ ): Promise<{ text: string; language?: string }> {
65
+ for (let attempt = 0; attempt < TRANSCRIPT_MAX_RETRIES; attempt++) {
66
+ const response = await this.api.getAudioFileTranscript(audioFileId)
67
+
68
+ if (response.status === 'completed') {
69
+ return { text: response.text, language: response.language }
70
+ }
71
+
72
+ if (response.status === 'failed') {
73
+ return { text: NO_AUDIO_BE_MESSAGE }
74
+ }
75
+
76
+ if (attempt < TRANSCRIPT_MAX_RETRIES - 1) {
77
+ await new Promise((resolve) => setTimeout(resolve, TRANSCRIPT_RETRY_INTERVAL_MS))
78
+ }
79
+ }
80
+ return { text: NO_AUDIO_BE_MESSAGE }
81
+ }
82
+
76
83
  public getTranscript(attemptNumber: number): string | undefined {
77
84
  return this.collection.get(attemptNumber)?.transcript
78
85
  }
@@ -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'}