@magmamath/students-features 0.9.107-rc.27 → 0.9.107-rc.29

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 (62) hide show
  1. package/dist/commonjs/features/voiceRecord/components/VoiceRecordTimer.js +1 -1
  2. package/dist/commonjs/features/voiceRecord/components/VoiceRecordTimer.js.map +1 -1
  3. package/dist/commonjs/features/voiceRecord/helpers.js +1 -15
  4. package/dist/commonjs/features/voiceRecord/helpers.js.map +1 -1
  5. package/dist/commonjs/features/voiceRecord/hooks/useVoiceRecorder.js +0 -12
  6. package/dist/commonjs/features/voiceRecord/hooks/useVoiceRecorder.js.map +1 -1
  7. package/dist/commonjs/features/voiceRecord/model/Recorder.model.js +0 -2
  8. package/dist/commonjs/features/voiceRecord/model/Recorder.model.js.map +1 -1
  9. package/dist/commonjs/features/voiceRecord/model/VoiceRecord.model.js +6 -5
  10. package/dist/commonjs/features/voiceRecord/model/VoiceRecord.model.js.map +1 -1
  11. package/dist/commonjs/shared/translation/localization/ca.json +1 -0
  12. package/dist/commonjs/shared/translation/localization/de.json +1 -0
  13. package/dist/commonjs/shared/translation/localization/en.json +1 -0
  14. package/dist/commonjs/shared/translation/localization/gb.json +1 -0
  15. package/dist/commonjs/shared/translation/localization/sct.json +1 -0
  16. package/dist/commonjs/shared/translation/localization/sw.json +1 -0
  17. package/dist/module/features/voiceRecord/components/VoiceRecordTimer.js +1 -1
  18. package/dist/module/features/voiceRecord/components/VoiceRecordTimer.js.map +1 -1
  19. package/dist/module/features/voiceRecord/helpers.js +1 -15
  20. package/dist/module/features/voiceRecord/helpers.js.map +1 -1
  21. package/dist/module/features/voiceRecord/hooks/useVoiceRecorder.js +2 -14
  22. package/dist/module/features/voiceRecord/hooks/useVoiceRecorder.js.map +1 -1
  23. package/dist/module/features/voiceRecord/model/Recorder.model.js +0 -2
  24. package/dist/module/features/voiceRecord/model/Recorder.model.js.map +1 -1
  25. package/dist/module/features/voiceRecord/model/VoiceRecord.model.js +6 -5
  26. package/dist/module/features/voiceRecord/model/VoiceRecord.model.js.map +1 -1
  27. package/dist/module/shared/translation/localization/ca.json +1 -0
  28. package/dist/module/shared/translation/localization/de.json +1 -0
  29. package/dist/module/shared/translation/localization/en.json +1 -0
  30. package/dist/module/shared/translation/localization/gb.json +1 -0
  31. package/dist/module/shared/translation/localization/sct.json +1 -0
  32. package/dist/module/shared/translation/localization/sw.json +1 -0
  33. package/dist/typescript/commonjs/features/voiceRecord/helpers.d.ts.map +1 -1
  34. package/dist/typescript/commonjs/features/voiceRecord/hooks/useVoiceRecorder.d.ts.map +1 -1
  35. package/dist/typescript/commonjs/features/voiceRecord/model/Recorder.model.d.ts +0 -2
  36. package/dist/typescript/commonjs/features/voiceRecord/model/Recorder.model.d.ts.map +1 -1
  37. package/dist/typescript/commonjs/features/voiceRecord/model/VoiceRecord.model.d.ts.map +1 -1
  38. package/dist/typescript/commonjs/shared/translation/constants.d.ts +6 -0
  39. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  40. package/dist/typescript/commonjs/shared/translation/model.d.ts +2 -0
  41. package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
  42. package/dist/typescript/module/features/voiceRecord/helpers.d.ts.map +1 -1
  43. package/dist/typescript/module/features/voiceRecord/hooks/useVoiceRecorder.d.ts.map +1 -1
  44. package/dist/typescript/module/features/voiceRecord/model/Recorder.model.d.ts +0 -2
  45. package/dist/typescript/module/features/voiceRecord/model/Recorder.model.d.ts.map +1 -1
  46. package/dist/typescript/module/features/voiceRecord/model/VoiceRecord.model.d.ts.map +1 -1
  47. package/dist/typescript/module/shared/translation/constants.d.ts +6 -0
  48. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  49. package/dist/typescript/module/shared/translation/model.d.ts +2 -0
  50. package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
  51. package/package.json +1 -1
  52. package/src/features/voiceRecord/components/VoiceRecordTimer.tsx +1 -1
  53. package/src/features/voiceRecord/helpers.ts +2 -19
  54. package/src/features/voiceRecord/hooks/useVoiceRecorder.ts +2 -21
  55. package/src/features/voiceRecord/model/Recorder.model.ts +0 -2
  56. package/src/features/voiceRecord/model/VoiceRecord.model.ts +6 -6
  57. package/src/shared/translation/localization/ca.json +1 -0
  58. package/src/shared/translation/localization/de.json +1 -0
  59. package/src/shared/translation/localization/en.json +1 -0
  60. package/src/shared/translation/localization/gb.json +1 -0
  61. package/src/shared/translation/localization/sct.json +1 -0
  62. package/src/shared/translation/localization/sw.json +1 -0
@@ -16,7 +16,7 @@ const VoiceRecordTimer = ({
16
16
  model,
17
17
  recordingFileDurationMs
18
18
  }) => {
19
- const savedAudioFileDurationMs = (0, _effectorReact.useUnit)(model.recorderModel.$audioFileDurationMs);
19
+ const savedAudioFileDurationMs = (0, _effectorReact.useUnit)(model.$currentRecord)?.durationMs || 0;
20
20
  const displayDurationMs = recordingFileDurationMs ? recordingFileDurationMs : savedAudioFileDurationMs;
21
21
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
22
22
  style: [styles.container, style],
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeUi","_react","_interopRequireDefault","_effectorReact","_helpers","_jsxRuntime","e","__esModule","default","VoiceRecordTimer","style","model","recordingFileDurationMs","savedAudioFileDurationMs","useUnit","recorderModel","$audioFileDurationMs","displayDurationMs","jsx","View","styles","container","children","Typography","variant","text","formatDuration","exports","_default","StyleSheet","create","backgroundColor","COLORS","NEUTRAL_1","paddingHorizontal","paddingVertical","alignItems","borderWidth","borderColor","NEUTRAL_4","borderRadius","minWidth","color","NEUTRAL_10","fontSize","fontWeight","lineHeight","textTransform"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/components/VoiceRecordTimer.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAA2C,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAG,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQpC,MAAMG,gBAAgB,GAAGA,CAAC;EAC/BC,KAAK;EACLC,KAAK;EACLC;AACqB,CAAC,KAAK;EAC3B,MAAMC,wBAAwB,GAAG,IAAAC,sBAAO,EAACH,KAAK,CAACI,aAAa,CAACC,oBAAoB,CAAC;EAElF,MAAMC,iBAAiB,GAAGL,uBAAuB,GAC7CA,uBAAuB,GACvBC,wBAAwB;EAE5B,oBACE,IAAAR,WAAA,CAAAa,GAAA,EAACpB,YAAA,CAAAqB,IAAI;IAACT,KAAK,EAAE,CAACU,MAAM,CAACC,SAAS,EAAEX,KAAK,CAAE;IAAAY,QAAA,eACrC,IAAAjB,WAAA,CAAAa,GAAA,EAAClB,cAAA,CAAAuB,UAAU;MAACC,OAAO,EAAC,IAAI;MAACd,KAAK,EAAEU,MAAM,CAACK,IAAK;MAAAH,QAAA,EACzCL,iBAAiB,GAAG,IAAAS,uBAAc,EAACT,iBAAiB,CAAC,GAAG;IAAM,CACrD;EAAC,CACT,CAAC;AAEX,CAAC;AAAAU,OAAA,CAAAlB,gBAAA,GAAAA,gBAAA;AAAA,IAAAmB,QAAA,GAAAD,OAAA,CAAAnB,OAAA,GAEcC,gBAAgB;AAE/B,MAAMW,MAAM,GAAGS,uBAAU,CAACC,MAAM,CAAC;EAC/BT,SAAS,EAAE;IACTU,eAAe,EAAEC,qBAAM,CAACC,SAAS;IACjCC,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE,CAAC;IAClBC,UAAU,EAAE,QAAQ;IACpBC,WAAW,EAAE,GAAG;IAChBC,WAAW,EAAEN,qBAAM,CAACO,SAAS;IAC7BC,YAAY,EAAE,EAAE;IAChBC,QAAQ,EAAE;EACZ,CAAC;EACDhB,IAAI,EAAE;IACJiB,KAAK,EAAEV,qBAAM,CAACW,UAAU;IACxBC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,UAAU,EAAE,EAAE;IACdC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeUi","_react","_interopRequireDefault","_effectorReact","_helpers","_jsxRuntime","e","__esModule","default","VoiceRecordTimer","style","model","recordingFileDurationMs","savedAudioFileDurationMs","useUnit","$currentRecord","durationMs","displayDurationMs","jsx","View","styles","container","children","Typography","variant","text","formatDuration","exports","_default","StyleSheet","create","backgroundColor","COLORS","NEUTRAL_1","paddingHorizontal","paddingVertical","alignItems","borderWidth","borderColor","NEUTRAL_4","borderRadius","minWidth","color","NEUTRAL_10","fontSize","fontWeight","lineHeight","textTransform"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/components/VoiceRecordTimer.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAA2C,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAG,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQpC,MAAMG,gBAAgB,GAAGA,CAAC;EAC/BC,KAAK;EACLC,KAAK;EACLC;AACqB,CAAC,KAAK;EAC3B,MAAMC,wBAAwB,GAAG,IAAAC,sBAAO,EAACH,KAAK,CAACI,cAAc,CAAC,EAAEC,UAAU,IAAI,CAAC;EAE/E,MAAMC,iBAAiB,GAAGL,uBAAuB,GAC7CA,uBAAuB,GACvBC,wBAAwB;EAE5B,oBACE,IAAAR,WAAA,CAAAa,GAAA,EAACpB,YAAA,CAAAqB,IAAI;IAACT,KAAK,EAAE,CAACU,MAAM,CAACC,SAAS,EAAEX,KAAK,CAAE;IAAAY,QAAA,eACrC,IAAAjB,WAAA,CAAAa,GAAA,EAAClB,cAAA,CAAAuB,UAAU;MAACC,OAAO,EAAC,IAAI;MAACd,KAAK,EAAEU,MAAM,CAACK,IAAK;MAAAH,QAAA,EACzCL,iBAAiB,GAAG,IAAAS,uBAAc,EAACT,iBAAiB,CAAC,GAAG;IAAM,CACrD;EAAC,CACT,CAAC;AAEX,CAAC;AAAAU,OAAA,CAAAlB,gBAAA,GAAAA,gBAAA;AAAA,IAAAmB,QAAA,GAAAD,OAAA,CAAAnB,OAAA,GAEcC,gBAAgB;AAE/B,MAAMW,MAAM,GAAGS,uBAAU,CAACC,MAAM,CAAC;EAC/BT,SAAS,EAAE;IACTU,eAAe,EAAEC,qBAAM,CAACC,SAAS;IACjCC,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE,CAAC;IAClBC,UAAU,EAAE,QAAQ;IACpBC,WAAW,EAAE,GAAG;IAChBC,WAAW,EAAEN,qBAAM,CAACO,SAAS;IAC7BC,YAAY,EAAE,EAAE;IAChBC,QAAQ,EAAE;EACZ,CAAC;EACDhB,IAAI,EAAE;IACJiB,KAAK,EAAEV,qBAAM,CAACW,UAAU;IACxBC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,UAAU,EAAE,EAAE;IACdC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -73,8 +73,7 @@ const getAudioDurationMs = (fileUri, externalPlayer) => {
73
73
  return new Promise((resolve, reject) => {
74
74
  const subscription = player.addListener('playbackStatusUpdate', () => {
75
75
  console.log('player.duration: ', player.duration);
76
- // Chrome 93 and some older browsers return Infinity until audio is fully loaded
77
- if (player.duration !== undefined && player.duration > 0 && Number.isFinite(player.duration)) {
76
+ if (player.duration !== undefined && player.duration > 0) {
78
77
  subscription.remove();
79
78
 
80
79
  // player.duration is in seconds (e.g., 1.234567)
@@ -86,19 +85,6 @@ const getAudioDurationMs = (fileUri, externalPlayer) => {
86
85
  resolve(durationMs);
87
86
  }
88
87
  });
89
-
90
- // Workaround for Chrome returning Infinity: seek to end to force duration calculation
91
- if (_reactNativeUi.IS_WEB) {
92
- setTimeout(() => {
93
- try {
94
- // Seeking to a large value forces Chrome to calculate the actual duration
95
- player.seekTo(1e10);
96
- player.seekTo(0);
97
- } catch (e) {
98
- // Ignore seek errors
99
- }
100
- }, 100);
101
- }
102
88
  setTimeout(() => {
103
89
  subscription.remove();
104
90
  if (isInternalPlayer) {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeUi","require","_expoAudio","formatDuration","ms","totalSeconds","Math","floor","minutes","seconds","toString","padStart","exports","ensureRecordingPermissions","status","getRecordingPermissionsAsync","granted","requestRecordingPermissionsAsync","getAvailableInputsWeb","navigator","mediaDevices","enumerateDevices","devices","filter","d","kind","getAvailableInputs","recorder","IS_WEB","IS_MOBILE","addAudioInputsListenerWeb","callback","addEventListener","handleDeviceChange","removeEventListener","getAudioDurationMs","fileUri","externalPlayer","Promise","resolve","undefined","console","log","player","createAudioPlayer","isInternalPlayer","replace","reject","subscription","addListener","duration","Number","isFinite","remove","durationMs","round","setTimeout","seekTo","e","Error","generateAudioFormData","audioFileUri","fileName","formData","FormData","response","fetch","blob","filename","type","append","file","uri","name","uploadAudioFileRequestGenerator","audioFileFormData","api","controller","AbortController","uploadAudio","uploadAudioFile","signal"],"sourceRoot":"../../../../src","sources":["features/voiceRecord/helpers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeUi","require","_expoAudio","formatDuration","ms","totalSeconds","Math","floor","minutes","seconds","toString","padStart","exports","ensureRecordingPermissions","status","getRecordingPermissionsAsync","granted","requestRecordingPermissionsAsync","getAvailableInputsWeb","navigator","mediaDevices","enumerateDevices","devices","filter","d","kind","getAvailableInputs","recorder","IS_WEB","IS_MOBILE","addAudioInputsListenerWeb","callback","addEventListener","handleDeviceChange","removeEventListener","getAudioDurationMs","fileUri","externalPlayer","Promise","resolve","undefined","console","log","player","createAudioPlayer","isInternalPlayer","replace","reject","subscription","addListener","duration","remove","durationMs","round","setTimeout","Error","generateAudioFormData","audioFileUri","fileName","formData","FormData","response","fetch","blob","filename","type","append","file","uri","name","uploadAudioFileRequestGenerator","audioFileFormData","api","controller","AbortController","uploadAudio","uploadAudioFile","signal"],"sourceRoot":"../../../../src","sources":["features/voiceRecord/helpers.ts"],"mappings":"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","ignoreList":[]}
@@ -9,10 +9,7 @@ var _helpers = require("../helpers.js");
9
9
  var _react = require("react");
10
10
  var _reactNativeUi = require("@magmamath/react-native-ui");
11
11
  var _constants = require("../constants.js");
12
- var _effectorReact = require("effector-react");
13
12
  const useVoiceRecorder = model => {
14
- const player = (0, _expoAudio.useAudioPlayer)();
15
- const currentRecord = (0, _effectorReact.useUnit)(model.$currentRecord);
16
13
  const recorder = (0, _expoAudio.useAudioRecorder)(_expoAudio.RecordingPresets.LOW_QUALITY, model.recordingStatusUpdate);
17
14
  const recorderState = (0, _expoAudio.useAudioRecorderState)(recorder);
18
15
  (0, _react.useEffect)(() => {
@@ -33,15 +30,6 @@ const useVoiceRecorder = model => {
33
30
  });
34
31
  return removeListener;
35
32
  }, []);
36
- (0, _react.useEffect)(() => {
37
- if (currentRecord?.uri) {
38
- const getDuration = async () => {
39
- const durationMs = await (0, _helpers.getAudioDurationMs)(currentRecord.uri, player);
40
- model.recorderModel.setAudioFileDurationMs(durationMs || 0);
41
- };
42
- getDuration();
43
- }
44
- }, [currentRecord?.uri]);
45
33
  (0, _react.useEffect)(() => {
46
34
  if (recorderState.isRecording) {
47
35
  model.recorderModel.setVoiceRecordState(_constants.VoiceRecorderState.RECORDING);
@@ -1 +1 @@
1
- {"version":3,"names":["_expoAudio","require","_helpers","_react","_reactNativeUi","_constants","_effectorReact","useVoiceRecorder","model","player","useAudioPlayer","currentRecord","useUnit","$currentRecord","recorder","useAudioRecorder","RecordingPresets","LOW_QUALITY","recordingStatusUpdate","recorderState","useAudioRecorderState","useEffect","durationMillis","VOICE_RECORDER_MAX_DURATION_MS","isRecording","recorderModel","stop","IS_WEB","getAvailableInputs","then","inputs","setAvailableInputs","removeListener","addAudioInputsListenerWeb","devices","uri","getDuration","durationMs","getAudioDurationMs","setAudioFileDurationMs","setVoiceRecordState","VoiceRecorderState","RECORDING","PAUSED","IDLE","reset","exports"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/hooks/useVoiceRecorder.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAMA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AAEO,MAAMM,gBAAgB,GAAIC,KAAuB,IAAK;EAC3D,MAAMC,MAAM,GAAG,IAAAC,yBAAc,EAAC,CAAC;EAC/B,MAAMC,aAAa,GAAG,IAAAC,sBAAO,EAACJ,KAAK,CAACK,cAAc,CAAC;EAEnD,MAAMC,QAAQ,GAAG,IAAAC,2BAAgB,EAACC,2BAAgB,CAACC,WAAW,EAAET,KAAK,CAACU,qBAAqB,CAAC;EAC5F,MAAMC,aAAa,GAAG,IAAAC,gCAAqB,EAACN,QAAQ,CAAC;EAErD,IAAAO,gBAAS,EAAC,MAAM;IACd,IACEF,aAAa,CAACG,cAAc,IAAIC,yCAA8B,IAC9DJ,aAAa,CAACK,WAAW,EACzB;MACAhB,KAAK,CAACiB,aAAa,CAACC,IAAI,CAAC,CAAC;IAC5B;EACF,CAAC,EAAE,CAACP,aAAa,CAACG,cAAc,CAAC,CAAC;EAElC,IAAAD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACM,qBAAM,EAAE;MACX;MACA,IAAAC,2BAAkB,EAACd,QAAQ,CAAC,CAACe,IAAI,CAAEC,MAAM,IAAK;QAC5CtB,KAAK,CAACiB,aAAa,CAACM,kBAAkB,CAACD,MAAM,CAAC;MAChD,CAAC,CAAC;MACF;IACF;IAEA,MAAME,cAAc,GAAG,IAAAC,kCAAyB,EAAEC,OAAO,IAAK;MAC5D1B,KAAK,CAACiB,aAAa,CAACM,kBAAkB,CAACG,OAAO,CAAC;IACjD,CAAC,CAAC;IAEF,OAAOF,cAAc;EACvB,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAX,gBAAS,EAAC,MAAM;IACd,IAAIV,aAAa,EAAEwB,GAAG,EAAE;MACtB,MAAMC,WAAW,GAAG,MAAAA,CAAA,KAAY;QAC9B,MAAMC,UAAU,GAAG,MAAM,IAAAC,2BAAkB,EAAC3B,aAAa,CAACwB,GAAG,EAAG1B,MAAM,CAAC;QACvED,KAAK,CAACiB,aAAa,CAACc,sBAAsB,CAACF,UAAU,IAAI,CAAC,CAAC;MAC7D,CAAC;MACDD,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAACzB,aAAa,EAAEwB,GAAG,CAAC,CAAC;EAExB,IAAAd,gBAAS,EAAC,MAAM;IACd,IAAIF,aAAa,CAACK,WAAW,EAAE;MAC7BhB,KAAK,CAACiB,aAAa,CAACe,mBAAmB,CAACC,6BAAkB,CAACC,SAAS,CAAC;MACrE;IACF;IACA,IAAIvB,aAAa,CAACG,cAAc,GAAG,CAAC,EAAE;MACpCd,KAAK,CAACiB,aAAa,CAACe,mBAAmB,CAACC,6BAAkB,CAACE,MAAM,CAAC;MAClE;IACF;IACAnC,KAAK,CAACiB,aAAa,CAACe,mBAAmB,CAACC,6BAAkB,CAACG,IAAI,CAAC;IAEhE,OAAO,MAAM;MACXpC,KAAK,CAACiB,aAAa,CAACoB,KAAK,CAAC,CAAC;IAC7B,CAAC;EACH,CAAC,EAAE,CAAC1B,aAAa,CAAC,CAAC;EAEnB,IAAAE,gBAAS,EAAC,MAAM;IACdb,KAAK,CAACiB,aAAa,CAACX,QAAQ,GAAGA,QAAQ;EACzC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,OAAO;IAAEK;EAAc,CAAC;AAC1B,CAAC;AAAA2B,OAAA,CAAAvC,gBAAA,GAAAA,gBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_expoAudio","require","_helpers","_react","_reactNativeUi","_constants","useVoiceRecorder","model","recorder","useAudioRecorder","RecordingPresets","LOW_QUALITY","recordingStatusUpdate","recorderState","useAudioRecorderState","useEffect","durationMillis","VOICE_RECORDER_MAX_DURATION_MS","isRecording","recorderModel","stop","IS_WEB","getAvailableInputs","then","inputs","setAvailableInputs","removeListener","addAudioInputsListenerWeb","devices","setVoiceRecordState","VoiceRecorderState","RECORDING","PAUSED","IDLE","reset","exports"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/hooks/useVoiceRecorder.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAEO,MAAMK,gBAAgB,GAAIC,KAAuB,IAAK;EAC3D,MAAMC,QAAQ,GAAG,IAAAC,2BAAgB,EAACC,2BAAgB,CAACC,WAAW,EAAEJ,KAAK,CAACK,qBAAqB,CAAC;EAC5F,MAAMC,aAAa,GAAG,IAAAC,gCAAqB,EAACN,QAAQ,CAAC;EAErD,IAAAO,gBAAS,EAAC,MAAM;IACd,IACEF,aAAa,CAACG,cAAc,IAAIC,yCAA8B,IAC9DJ,aAAa,CAACK,WAAW,EACzB;MACAX,KAAK,CAACY,aAAa,CAACC,IAAI,CAAC,CAAC;IAC5B;EACF,CAAC,EAAE,CAACP,aAAa,CAACG,cAAc,CAAC,CAAC;EAElC,IAAAD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACM,qBAAM,EAAE;MACX;MACA,IAAAC,2BAAkB,EAACd,QAAQ,CAAC,CAACe,IAAI,CAAEC,MAAM,IAAK;QAC5CjB,KAAK,CAACY,aAAa,CAACM,kBAAkB,CAACD,MAAM,CAAC;MAChD,CAAC,CAAC;MACF;IACF;IAEA,MAAME,cAAc,GAAG,IAAAC,kCAAyB,EAAEC,OAAO,IAAK;MAC5DrB,KAAK,CAACY,aAAa,CAACM,kBAAkB,CAACG,OAAO,CAAC;IACjD,CAAC,CAAC;IAEF,OAAOF,cAAc;EACvB,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAX,gBAAS,EAAC,MAAM;IACd,IAAIF,aAAa,CAACK,WAAW,EAAE;MAC7BX,KAAK,CAACY,aAAa,CAACU,mBAAmB,CAACC,6BAAkB,CAACC,SAAS,CAAC;MACrE;IACF;IACA,IAAIlB,aAAa,CAACG,cAAc,GAAG,CAAC,EAAE;MACpCT,KAAK,CAACY,aAAa,CAACU,mBAAmB,CAACC,6BAAkB,CAACE,MAAM,CAAC;MAClE;IACF;IACAzB,KAAK,CAACY,aAAa,CAACU,mBAAmB,CAACC,6BAAkB,CAACG,IAAI,CAAC;IAEhE,OAAO,MAAM;MACX1B,KAAK,CAACY,aAAa,CAACe,KAAK,CAAC,CAAC;IAC7B,CAAC;EACH,CAAC,EAAE,CAACrB,aAAa,CAAC,CAAC;EAEnB,IAAAE,gBAAS,EAAC,MAAM;IACdR,KAAK,CAACY,aAAa,CAACX,QAAQ,GAAGA,QAAQ;EACzC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,OAAO;IAAEK;EAAc,CAAC;AAC1B,CAAC;AAAAsB,OAAA,CAAA7B,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -14,10 +14,8 @@ const AUDIO_MODE_CONFIG = {
14
14
  class RecorderModel {
15
15
  stopResolver = null;
16
16
  reset = (0, _effector.createEvent)();
17
- setAudioFileDurationMs = (0, _effector.createEvent)();
18
17
  setVoiceRecordState = (0, _effector.createEvent)();
19
18
  setAvailableInputs = (0, _effector.createEvent)();
20
- $audioFileDurationMs = (0, _effector.restore)(this.setAudioFileDurationMs, 0).reset(this.reset);
21
19
  $voiceRecordState = (0, _effector.restore)(this.setVoiceRecordState, _constants.VoiceRecorderState.IDLE).reset(this.reset);
22
20
  $availableInputs = (0, _effector.restore)(this.setAvailableInputs, []);
23
21
  start = (0, _effector.createEffect)(async () => {
@@ -1 +1 @@
1
- {"version":3,"names":["_effector","require","_expoAudio","_constants","AUDIO_MODE_CONFIG","playsInSilentMode","allowsRecording","RecorderModel","stopResolver","reset","createEvent","setAudioFileDurationMs","setVoiceRecordState","setAvailableInputs","$audioFileDurationMs","restore","$voiceRecordState","VoiceRecorderState","IDLE","$availableInputs","start","createEffect","setAudioModeAsync","recorder","prepareToRecordAsync","record","error","console","stop","getStatus","isRecording","Promise","resolve","stopAndGetCollectionItem","resolveStopWithCollectionItem","item","clearStopResolver","exports"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/Recorder.model.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAGA,MAAMG,iBAAiB,GAAG;EACxBC,iBAAiB,EAAE,IAAI;EACvBC,eAAe,EAAE;AACnB,CAAU;AAIH,MAAMC,aAAa,CAAC;EAEjBC,YAAY,GAAwB,IAAI;EAEhCC,KAAK,GAAG,IAAAC,qBAAW,EAAC,CAAC;EACrBC,sBAAsB,GAAG,IAAAD,qBAAW,EAAS,CAAC;EAC9CE,mBAAmB,GAAG,IAAAF,qBAAW,EAAqB,CAAC;EACvDG,kBAAkB,GAAG,IAAAH,qBAAW,EAAuB,CAAC;EAExDI,oBAAoB,GAAG,IAAAC,iBAAO,EAAC,IAAI,CAACJ,sBAAsB,EAAE,CAAC,CAAC,CAACF,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAChFO,iBAAiB,GAAG,IAAAD,iBAAO,EACzC,IAAI,CAACH,mBAAmB,EACxBK,6BAAkB,CAACC,IACrB,CAAC,CAACT,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EACHU,gBAAgB,GAAG,IAAAJ,iBAAO,EAAC,IAAI,CAACF,kBAAkB,EAAE,EAAE,CAAC;EAEvDO,KAAK,GAAG,IAAAC,sBAAY,EAAC,YAAY;IAC/C,IAAI;MACF,MAAM,IAAAC,4BAAiB,EAAClB,iBAAiB,CAAC;MAC1C,MAAM,IAAI,CAACmB,QAAQ,CAACC,oBAAoB,CAAC,CAAC;MAC1C,IAAI,CAACD,QAAQ,CAACE,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;MACjD,MAAMA,KAAK;IACb;EACF,CAAC,CAAC;EAEcE,IAAI,GAAG,IAAAP,sBAAY,EAAC,MAAM;IACxC,IAAI,CAAC,IAAI,CAACE,QAAQ,CAACM,SAAS,CAAC,CAAC,CAACC,WAAW,EAAE,OAAOC,OAAO,CAACC,OAAO,CAAC,CAAC;IACpE,OAAO,IAAI,CAACT,QAAQ,CAACK,IAAI,CAAC,CAAC;EAC7B,CAAC,CAAC;EAEKK,wBAAwBA,CAAA,EAAuC;IACpE,OAAO,IAAIF,OAAO,CAAEC,OAAO,IAAK;MAC9B,IAAI,CAACxB,YAAY,GAAGwB,OAAO;MAC3B,IAAI,CAACT,QAAQ,CAACM,SAAS,CAAC,CAAC,CAACC,WAAW,IAAI,IAAI,CAACP,QAAQ,CAACK,IAAI,CAAC,CAAC;IAC/D,CAAC,CAAC;EACJ;EAEOM,6BAA6BA,CAACC,IAA+B,EAAQ;IAC1E,IAAI,IAAI,CAAC3B,YAAY,EAAE;MACrB,IAAI,CAACA,YAAY,CAAC2B,IAAI,CAAC;MACvB,IAAI,CAAC3B,YAAY,GAAG,IAAI;IAC1B;EACF;EAEO4B,iBAAiBA,CAAA,EAAS;IAC/B,IAAI,CAAC5B,YAAY,GAAG,IAAI;EAC1B;AACF;AAAC6B,OAAA,CAAA9B,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["_effector","require","_expoAudio","_constants","AUDIO_MODE_CONFIG","playsInSilentMode","allowsRecording","RecorderModel","stopResolver","reset","createEvent","setVoiceRecordState","setAvailableInputs","$voiceRecordState","restore","VoiceRecorderState","IDLE","$availableInputs","start","createEffect","setAudioModeAsync","recorder","prepareToRecordAsync","record","error","console","stop","getStatus","isRecording","Promise","resolve","stopAndGetCollectionItem","resolveStopWithCollectionItem","item","clearStopResolver","exports"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/Recorder.model.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAGA,MAAMG,iBAAiB,GAAG;EACxBC,iBAAiB,EAAE,IAAI;EACvBC,eAAe,EAAE;AACnB,CAAU;AAIH,MAAMC,aAAa,CAAC;EAEjBC,YAAY,GAAwB,IAAI;EAEhCC,KAAK,GAAG,IAAAC,qBAAW,EAAC,CAAC;EACrBC,mBAAmB,GAAG,IAAAD,qBAAW,EAAqB,CAAC;EACvDE,kBAAkB,GAAG,IAAAF,qBAAW,EAAuB,CAAC;EAExDG,iBAAiB,GAAG,IAAAC,iBAAO,EACzC,IAAI,CAACH,mBAAmB,EACxBI,6BAAkB,CAACC,IACrB,CAAC,CAACP,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EACHQ,gBAAgB,GAAG,IAAAH,iBAAO,EAAC,IAAI,CAACF,kBAAkB,EAAE,EAAE,CAAC;EAEvDM,KAAK,GAAG,IAAAC,sBAAY,EAAC,YAAY;IAC/C,IAAI;MACF,MAAM,IAAAC,4BAAiB,EAAChB,iBAAiB,CAAC;MAC1C,MAAM,IAAI,CAACiB,QAAQ,CAACC,oBAAoB,CAAC,CAAC;MAC1C,IAAI,CAACD,QAAQ,CAACE,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;MACjD,MAAMA,KAAK;IACb;EACF,CAAC,CAAC;EAEcE,IAAI,GAAG,IAAAP,sBAAY,EAAC,MAAM;IACxC,IAAI,CAAC,IAAI,CAACE,QAAQ,CAACM,SAAS,CAAC,CAAC,CAACC,WAAW,EAAE,OAAOC,OAAO,CAACC,OAAO,CAAC,CAAC;IACpE,OAAO,IAAI,CAACT,QAAQ,CAACK,IAAI,CAAC,CAAC;EAC7B,CAAC,CAAC;EAEKK,wBAAwBA,CAAA,EAAuC;IACpE,OAAO,IAAIF,OAAO,CAAEC,OAAO,IAAK;MAC9B,IAAI,CAACtB,YAAY,GAAGsB,OAAO;MAC3B,IAAI,CAACT,QAAQ,CAACM,SAAS,CAAC,CAAC,CAACC,WAAW,IAAI,IAAI,CAACP,QAAQ,CAACK,IAAI,CAAC,CAAC;IAC/D,CAAC,CAAC;EACJ;EAEOM,6BAA6BA,CAACC,IAA+B,EAAQ;IAC1E,IAAI,IAAI,CAACzB,YAAY,EAAE;MACrB,IAAI,CAACA,YAAY,CAACyB,IAAI,CAAC;MACvB,IAAI,CAACzB,YAAY,GAAG,IAAI;IAC1B;EACF;EAEO0B,iBAAiBA,CAAA,EAAS;IAC/B,IAAI,CAAC1B,YAAY,GAAG,IAAI;EAC1B;AACF;AAAC2B,OAAA,CAAA5B,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -40,7 +40,6 @@ class VoiceRecordModel {
40
40
  })
41
41
  });
42
42
  initializeRecording = (0, _effector.createEffect)(async () => {
43
- console.log('Initializing new recording');
44
43
  this.deleteCurrentRecording({
45
44
  notification: false
46
45
  });
@@ -55,7 +54,11 @@ class VoiceRecordModel {
55
54
  this.notification.error((0, _index.t)('voiceRecorder.noMicrophoneFound'));
56
55
  return;
57
56
  }
58
- return this.recorderModel.start();
57
+ return this.recorderModel.start().catch(error => {
58
+ if (error.name === 'NotAllowedError') {
59
+ this.notification.error((0, _index.t)('voiceRecorder.noMicrophoneAccessBySystem'));
60
+ }
61
+ });
59
62
  });
60
63
  stopAndDiscard = (0, _effector.createEffect)(async () => {
61
64
  this.shouldDiscardRecording = true;
@@ -64,6 +67,7 @@ class VoiceRecordModel {
64
67
  this.recorderModel.reset();
65
68
  });
66
69
  recordingStatusUpdate = status => {
70
+ console.log('status: ', status);
67
71
  if (status.error) {
68
72
  this.notification.error(`Recorder error: ${status.error}`);
69
73
  this.recorderModel.clearStopResolver();
@@ -165,9 +169,6 @@ class VoiceRecordModel {
165
169
  return;
166
170
  }
167
171
  this.setCurrentRecord(recordingItem);
168
- if (recordingItem.durationMs) {
169
- this.recorderModel.setAudioFileDurationMs(recordingItem.durationMs);
170
- }
171
172
  })
172
173
  });
173
174
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_effector","require","_helpers","_index","_RecorderModel","_VoiceRecordCollection","VoiceRecordModel","shouldDiscardRecording","setCurrentKey","createEvent","setCurrentRecord","reset","setIsDisabled","startAudioUpload","$currentKey","restore","$currentRecord","$isDisabled","deleteCurrentRecording","attach","source","mapParams","props","currentKey","notification","effect","createEffect","console","log","recordingItem","collection","get","abortUploadIfInProgress","resetRecordingState","info","t","initializeRecording","hasPermissions","ensureRecordingPermissions","error","inputs","getAvailableInputs","recorderModel","recorder","setAvailableInputs","length","start","stopAndDiscard","stop","clearStopResolver","recordingStatusUpdate","status","isFinished","url","constructor","api","events","RecorderModel","VoiceRecordsCollection","setupUploadHandler","setupCurrentRecordSync","id","controller","abort","delete","handleAudioUpload","uri","durationMs","getAudioDurationMs","formData","generateAudioFormData","audioFileUri","fileName","uploadAudio","uploadAudioFileRequestGenerator","audioUploadPromise","then","data","update","catch","name","collectionItem","add","resolveStopWithCollectionItem","sample","clock","filter","fn","target","setAudioFileDurationMs","exports"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecord.model.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_effector","require","_helpers","_index","_RecorderModel","_VoiceRecordCollection","VoiceRecordModel","shouldDiscardRecording","setCurrentKey","createEvent","setCurrentRecord","reset","setIsDisabled","startAudioUpload","$currentKey","restore","$currentRecord","$isDisabled","deleteCurrentRecording","attach","source","mapParams","props","currentKey","notification","effect","createEffect","console","log","recordingItem","collection","get","abortUploadIfInProgress","resetRecordingState","info","t","initializeRecording","hasPermissions","ensureRecordingPermissions","error","inputs","getAvailableInputs","recorderModel","recorder","setAvailableInputs","length","start","catch","name","stopAndDiscard","stop","clearStopResolver","recordingStatusUpdate","status","isFinished","url","constructor","api","events","RecorderModel","VoiceRecordsCollection","setupUploadHandler","setupCurrentRecordSync","id","controller","abort","delete","handleAudioUpload","uri","durationMs","getAudioDurationMs","formData","generateAudioFormData","audioFileUri","fileName","uploadAudio","uploadAudioFileRequestGenerator","audioUploadPromise","then","data","update","collectionItem","add","resolveStopWithCollectionItem","sample","clock","filter","fn","target","exports"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecord.model.ts"],"mappings":"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","ignoreList":[]}
@@ -47,6 +47,7 @@
47
47
  "delete": "Delete",
48
48
  "cancel": "Cancel",
49
49
  "noMicrophoneAccess": "No microphone access.",
50
+ "noMicrophoneAccessBySystem": "Microphone access denied by system settings.",
50
51
  "noMicrophoneFound": "No microphone found.",
51
52
  "uploadFailed": "Upload failed. Please try again.",
52
53
  "redoRecording": "Redo recording?",
@@ -47,6 +47,7 @@
47
47
  "delete": "Löschen",
48
48
  "cancel": "Abbrechen",
49
49
  "noMicrophoneAccess": "Kein Mikrofon-Zugriff.",
50
+ "noMicrophoneAccessBySystem": "Mikrofonzugriff durch Systemeinstellungen verweigert.",
50
51
  "noMicrophoneFound": "Kein Mikrofon gefunden.",
51
52
  "uploadFailed": "Hochladen fehlgeschlagen. Bitte versuche es erneut.",
52
53
  "redoRecording": "Aufnahme erneut aufnehmen?",
@@ -47,6 +47,7 @@
47
47
  "delete": "Delete",
48
48
  "cancel": "Cancel",
49
49
  "noMicrophoneAccess": "No microphone access.",
50
+ "noMicrophoneAccessBySystem": "Microphone access denied by system settings.",
50
51
  "noMicrophoneFound": "No microphone found.",
51
52
  "uploadFailed": "Upload failed. Please try again.",
52
53
  "redoRecording": "Redo recording?",
@@ -47,6 +47,7 @@
47
47
  "delete": "Delete",
48
48
  "cancel": "Cancel",
49
49
  "noMicrophoneAccess": "No microphone access.",
50
+ "noMicrophoneAccessBySystem": "Microphone access denied by system settings.",
50
51
  "noMicrophoneFound": "No microphone found.",
51
52
  "uploadFailed": "Upload failed. Please try again.",
52
53
  "redoRecording": "Redo recording?",
@@ -47,6 +47,7 @@
47
47
  "delete": "Delete",
48
48
  "cancel": "Cancel",
49
49
  "noMicrophoneAccess": "No microphone access.",
50
+ "noMicrophoneAccessBySystem": "Microphone access denied by system settings.",
50
51
  "noMicrophoneFound": "No microphone found.",
51
52
  "uploadFailed": "Upload failed. Please try again.",
52
53
  "redoRecording": "Redo recording?",
@@ -47,6 +47,7 @@
47
47
  "delete": "Radera",
48
48
  "cancel": "Avbryt",
49
49
  "noMicrophoneAccess": "Ingen mikrofonåtkomst.",
50
+ "noMicrophoneAccessBySystem": "Mikrofonåtkomst nekad av systeminställningar.",
50
51
  "noMicrophoneFound": "Ingen mikrofon hittades.",
51
52
  "uploadFailed": "Uppladdning misslyckades. Försök igen.",
52
53
  "redoRecording": "Spela in igen?",
@@ -11,7 +11,7 @@ export const VoiceRecordTimer = ({
11
11
  model,
12
12
  recordingFileDurationMs
13
13
  }) => {
14
- const savedAudioFileDurationMs = useUnit(model.recorderModel.$audioFileDurationMs);
14
+ const savedAudioFileDurationMs = useUnit(model.$currentRecord)?.durationMs || 0;
15
15
  const displayDurationMs = recordingFileDurationMs ? recordingFileDurationMs : savedAudioFileDurationMs;
16
16
  return /*#__PURE__*/_jsx(View, {
17
17
  style: [styles.container, style],
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","View","COLORS","Typography","React","useUnit","formatDuration","jsx","_jsx","VoiceRecordTimer","style","model","recordingFileDurationMs","savedAudioFileDurationMs","recorderModel","$audioFileDurationMs","displayDurationMs","styles","container","children","variant","text","create","backgroundColor","NEUTRAL_1","paddingHorizontal","paddingVertical","alignItems","borderWidth","borderColor","NEUTRAL_4","borderRadius","minWidth","color","NEUTRAL_10","fontSize","fontWeight","lineHeight","textTransform"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/components/VoiceRecordTimer.tsx"],"mappings":";;AAAA,SAAoBA,UAAU,EAAEC,IAAI,QAAmB,cAAc;AACrE,SAASC,MAAM,EAAEC,UAAU,QAAQ,4BAA4B;AAC/D,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,cAAc,QAAQ,eAAY;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAQ3C,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAC/BC,KAAK;EACLC,KAAK;EACLC;AACqB,CAAC,KAAK;EAC3B,MAAMC,wBAAwB,GAAGR,OAAO,CAACM,KAAK,CAACG,aAAa,CAACC,oBAAoB,CAAC;EAElF,MAAMC,iBAAiB,GAAGJ,uBAAuB,GAC7CA,uBAAuB,GACvBC,wBAAwB;EAE5B,oBACEL,IAAA,CAACP,IAAI;IAACS,KAAK,EAAE,CAACO,MAAM,CAACC,SAAS,EAAER,KAAK,CAAE;IAAAS,QAAA,eACrCX,IAAA,CAACL,UAAU;MAACiB,OAAO,EAAC,IAAI;MAACV,KAAK,EAAEO,MAAM,CAACI,IAAK;MAAAF,QAAA,EACzCH,iBAAiB,GAAGV,cAAc,CAACU,iBAAiB,CAAC,GAAG;IAAM,CACrD;EAAC,CACT,CAAC;AAEX,CAAC;AAED,eAAeP,gBAAgB;AAE/B,MAAMQ,MAAM,GAAGjB,UAAU,CAACsB,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACTK,eAAe,EAAErB,MAAM,CAACsB,SAAS;IACjCC,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE,CAAC;IAClBC,UAAU,EAAE,QAAQ;IACpBC,WAAW,EAAE,GAAG;IAChBC,WAAW,EAAE3B,MAAM,CAAC4B,SAAS;IAC7BC,YAAY,EAAE,EAAE;IAChBC,QAAQ,EAAE;EACZ,CAAC;EACDX,IAAI,EAAE;IACJY,KAAK,EAAE/B,MAAM,CAACgC,UAAU;IACxBC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,UAAU,EAAE,EAAE;IACdC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","View","COLORS","Typography","React","useUnit","formatDuration","jsx","_jsx","VoiceRecordTimer","style","model","recordingFileDurationMs","savedAudioFileDurationMs","$currentRecord","durationMs","displayDurationMs","styles","container","children","variant","text","create","backgroundColor","NEUTRAL_1","paddingHorizontal","paddingVertical","alignItems","borderWidth","borderColor","NEUTRAL_4","borderRadius","minWidth","color","NEUTRAL_10","fontSize","fontWeight","lineHeight","textTransform"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/components/VoiceRecordTimer.tsx"],"mappings":";;AAAA,SAAoBA,UAAU,EAAEC,IAAI,QAAmB,cAAc;AACrE,SAASC,MAAM,EAAEC,UAAU,QAAQ,4BAA4B;AAC/D,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,cAAc,QAAQ,eAAY;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAQ3C,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAC/BC,KAAK;EACLC,KAAK;EACLC;AACqB,CAAC,KAAK;EAC3B,MAAMC,wBAAwB,GAAGR,OAAO,CAACM,KAAK,CAACG,cAAc,CAAC,EAAEC,UAAU,IAAI,CAAC;EAE/E,MAAMC,iBAAiB,GAAGJ,uBAAuB,GAC7CA,uBAAuB,GACvBC,wBAAwB;EAE5B,oBACEL,IAAA,CAACP,IAAI;IAACS,KAAK,EAAE,CAACO,MAAM,CAACC,SAAS,EAAER,KAAK,CAAE;IAAAS,QAAA,eACrCX,IAAA,CAACL,UAAU;MAACiB,OAAO,EAAC,IAAI;MAACV,KAAK,EAAEO,MAAM,CAACI,IAAK;MAAAF,QAAA,EACzCH,iBAAiB,GAAGV,cAAc,CAACU,iBAAiB,CAAC,GAAG;IAAM,CACrD;EAAC,CACT,CAAC;AAEX,CAAC;AAED,eAAeP,gBAAgB;AAE/B,MAAMQ,MAAM,GAAGjB,UAAU,CAACsB,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACTK,eAAe,EAAErB,MAAM,CAACsB,SAAS;IACjCC,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE,CAAC;IAClBC,UAAU,EAAE,QAAQ;IACpBC,WAAW,EAAE,GAAG;IAChBC,WAAW,EAAE3B,MAAM,CAAC4B,SAAS;IAC7BC,YAAY,EAAE,EAAE;IAChBC,QAAQ,EAAE;EACZ,CAAC;EACDX,IAAI,EAAE;IACJY,KAAK,EAAE/B,MAAM,CAACgC,UAAU;IACxBC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,UAAU,EAAE,EAAE;IACdC,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -65,8 +65,7 @@ export const getAudioDurationMs = (fileUri, externalPlayer) => {
65
65
  return new Promise((resolve, reject) => {
66
66
  const subscription = player.addListener('playbackStatusUpdate', () => {
67
67
  console.log('player.duration: ', player.duration);
68
- // Chrome 93 and some older browsers return Infinity until audio is fully loaded
69
- if (player.duration !== undefined && player.duration > 0 && Number.isFinite(player.duration)) {
68
+ if (player.duration !== undefined && player.duration > 0) {
70
69
  subscription.remove();
71
70
 
72
71
  // player.duration is in seconds (e.g., 1.234567)
@@ -78,19 +77,6 @@ export const getAudioDurationMs = (fileUri, externalPlayer) => {
78
77
  resolve(durationMs);
79
78
  }
80
79
  });
81
-
82
- // Workaround for Chrome returning Infinity: seek to end to force duration calculation
83
- if (IS_WEB) {
84
- setTimeout(() => {
85
- try {
86
- // Seeking to a large value forces Chrome to calculate the actual duration
87
- player.seekTo(1e10);
88
- player.seekTo(0);
89
- } catch (e) {
90
- // Ignore seek errors
91
- }
92
- }, 100);
93
- }
94
80
  setTimeout(() => {
95
81
  subscription.remove();
96
82
  if (isInternalPlayer) {
@@ -1 +1 @@
1
- {"version":3,"names":["IS_MOBILE","IS_WEB","createAudioPlayer","getRecordingPermissionsAsync","requestRecordingPermissionsAsync","formatDuration","ms","totalSeconds","Math","floor","minutes","seconds","toString","padStart","ensureRecordingPermissions","status","granted","getAvailableInputsWeb","navigator","mediaDevices","enumerateDevices","devices","filter","d","kind","getAvailableInputs","recorder","addAudioInputsListenerWeb","callback","addEventListener","handleDeviceChange","removeEventListener","getAudioDurationMs","fileUri","externalPlayer","Promise","resolve","undefined","console","log","player","isInternalPlayer","replace","reject","subscription","addListener","duration","Number","isFinite","remove","durationMs","round","setTimeout","seekTo","e","Error","generateAudioFormData","audioFileUri","fileName","formData","FormData","response","fetch","blob","filename","type","append","file","uri","name","uploadAudioFileRequestGenerator","audioFileFormData","api","controller","AbortController","uploadAudio","uploadAudioFile","signal"],"sourceRoot":"../../../../src","sources":["features/voiceRecord/helpers.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,4BAA4B;AAC9D,SAGEC,iBAAiB,EACjBC,4BAA4B,EAC5BC,gCAAgC,QAC3B,YAAY;AAGnB,OAAO,MAAMC,cAAc,GAAIC,EAAU,IAAa;EACpD,MAAMC,YAAY,GAAGC,IAAI,CAACC,KAAK,CAACH,EAAE,GAAG,IAAI,CAAC;EAC1C,MAAMI,OAAO,GAAGF,IAAI,CAACC,KAAK,CAACF,YAAY,GAAG,EAAE,CAAC;EAC7C,MAAMI,OAAO,GAAGJ,YAAY,GAAG,EAAE;EACjC,OAAO,GAAGG,OAAO,IAAIC,OAAO,CAACC,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;AAC5D,CAAC;AAED,OAAO,MAAMC,0BAA0B,GAAG,MAAAA,CAAA,KAAY;EACpD,MAAM;IAAEC;EAAO,CAAC,GAAG,MAAMZ,4BAA4B,CAAC,CAAC;EAEvD,IAAIY,MAAM,KAAK,SAAS,EAAE;IACxB,MAAM;MAAEC;IAAQ,CAAC,GAAG,MAAMZ,gCAAgC,CAAC,CAAC;IAC5D,OAAOY,OAAO;EAChB;EAEA,OAAO,IAAI;AACb,CAAC;AAED,MAAMC,qBAAqB,GAAG,MAAAA,CAAA,KAAY;EACxC,IAAI,CAACC,SAAS,CAACC,YAAY,EAAEC,gBAAgB,EAAE,OAAO,EAAE;EAExD,MAAMC,OAAO,GAAG,MAAMH,SAAS,CAACC,YAAY,CAACC,gBAAgB,CAAC,CAAC;EAC/D,OAAOC,OAAO,CAACC,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,YAAY,CAAC;AACvD,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAG,MAAOC,QAAuB,IAAK;EACnE,IAAIzB,MAAM,EAAE;IACV,OAAO,MAAMgB,qBAAqB,CAAC,CAAC;EACtC;EACA,IAAIjB,SAAS,EAAE;IACb,OAAO,MAAM0B,QAAQ,CAACD,kBAAkB,CAAC,CAAC;EAC5C;EACA,OAAO,EAAE;AACX,CAAC;AAED,OAAO,MAAME,yBAAyB,GAAIC,QAA8C,IAAK;EAC3F,IAAI,CAAC3B,MAAM,IAAI,CAACiB,SAAS,CAACC,YAAY,EAAEU,gBAAgB,EAAE;IACxD,OAAO,MAAM,CAAC,CAAC;EACjB;EAEA,MAAMC,kBAAkB,GAAG,MAAAA,CAAA,KAAY;IACrC,MAAMT,OAAO,GAAG,MAAMJ,qBAAqB,CAAC,CAAC;IAC7CW,QAAQ,CAACP,OAAO,CAAC;EACnB,CAAC;EAEDS,kBAAkB,CAAC,CAAC;EAEpBZ,SAAS,CAACC,YAAY,CAACU,gBAAgB,CAAC,cAAc,EAAEC,kBAAkB,CAAC;EAE3E,OAAO,MAAM;IACXZ,SAAS,CAACC,YAAY,CAACY,mBAAmB,CAAC,cAAc,EAAED,kBAAkB,CAAC;EAChF,CAAC;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,kBAAkB,GAAGA,CAChCC,OAAe,EACfC,cAA4B,KACI;EAChC,IAAI,CAACD,OAAO,EAAE,OAAOE,OAAO,CAACC,OAAO,CAACC,SAAS,CAAC;EAC/CC,OAAO,CAACC,GAAG,CAAC,WAAW,EAAEN,OAAO,CAAC;EAEjC,MAAMO,MAAM,GAAGN,cAAc,IAAIhC,iBAAiB,CAAC,CAAC;EACpDoC,OAAO,CAACC,GAAG,CAAC,UAAU,EAAEC,MAAM,CAAC;EAC/B,MAAMC,gBAAgB,GAAG,CAACP,cAAc;EACxCI,OAAO,CAACC,GAAG,CAAC,oBAAoB,EAAEE,gBAAgB,CAAC;EAEnDD,MAAM,CAACE,OAAO,CAACT,OAAO,CAAC;EAEvB,OAAO,IAAIE,OAAO,CAAC,CAACC,OAAO,EAAEO,MAAM,KAAK;IACtC,MAAMC,YAAY,GAAGJ,MAAM,CAACK,WAAW,CAAC,sBAAsB,EAAE,MAAM;MACpEP,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAEC,MAAM,CAACM,QAAQ,CAAC;MACjD;MACA,IACEN,MAAM,CAACM,QAAQ,KAAKT,SAAS,IAC7BG,MAAM,CAACM,QAAQ,GAAG,CAAC,IACnBC,MAAM,CAACC,QAAQ,CAACR,MAAM,CAACM,QAAQ,CAAC,EAChC;QACAF,YAAY,CAACK,MAAM,CAAC,CAAC;;QAErB;QACA,MAAMC,UAAU,GAAG1C,IAAI,CAAC2C,KAAK,CAACX,MAAM,CAACM,QAAQ,GAAG,IAAI,CAAC,EAAC;;QAEtD,IAAIL,gBAAgB,EAAE;UACpBD,MAAM,CAACS,MAAM,CAAC,CAAC;QACjB;QAEAb,OAAO,CAACc,UAAU,CAAC;MACrB;IACF,CAAC,CAAC;;IAEF;IACA,IAAIjD,MAAM,EAAE;MACVmD,UAAU,CAAC,MAAM;QACf,IAAI;UACF;UACAZ,MAAM,CAACa,MAAM,CAAC,IAAI,CAAC;UACnBb,MAAM,CAACa,MAAM,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,OAAOC,CAAC,EAAE;UACV;QAAA;MAEJ,CAAC,EAAE,GAAG,CAAC;IACT;IAEAF,UAAU,CAAC,MAAM;MACfR,YAAY,CAACK,MAAM,CAAC,CAAC;MAErB,IAAIR,gBAAgB,EAAE;QACpBD,MAAM,CAACS,MAAM,CAAC,CAAC;MACjB;MAEAN,MAAM,CAAC,IAAIY,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACrD,CAAC,EAAE,IAAI,CAAC;EACV,CAAC,CAAC;AACJ,CAAC;AAQD,OAAO,MAAMC,qBAAqB,GAAG,MAAAA,CAAO;EAC1CC,YAAY;EACZP,UAAU;EACVQ;AAC2B,CAAC,KAAwB;EACpD;;EAEA,MAAMC,QAAQ,GAAG,IAAIC,QAAQ,CAAC,CAAC;EAC/B,MAAMd,QAAQ,GAAGI,UAAU,EAAEtC,QAAQ,CAAC,CAAC,IAAI,GAAG;EAE9C,IAAIX,MAAM,EAAE;IACV,MAAM4D,QAAQ,GAAG,MAAMC,KAAK,CAACL,YAAY,CAAC;IAC1C,MAAMM,IAAI,GAAG,MAAMF,QAAQ,CAACE,IAAI,CAAC,CAAC;IAClC,MAAMC,QAAQ,GAAGN,QAAQ,GAAGK,IAAI,CAACE,IAAI,CAACvB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;IAC5DJ,OAAO,CAACC,GAAG,CAAC,YAAY,EAAEyB,QAAQ,CAAC;IAEnCL,QAAQ,CAACO,MAAM,CAAC,MAAM,EAAEH,IAAI,EAAEC,QAAQ,CAAC;IACvCL,QAAQ,CAACO,MAAM,CAAC,UAAU,EAAEF,QAAQ,CAAC;IACrCL,QAAQ,CAACO,MAAM,CAAC,UAAU,EAAEpB,QAAQ,CAAC;IAErC,OAAOa,QAAQ;EACjB;EAEA,MAAMK,QAAQ,GAAGN,QAAQ,GAAG,MAAM;EAClC,MAAMS,IAAI,GAAG;IACXC,GAAG,EAAEX,YAAY;IACjBQ,IAAI,EAAE,WAAW;IACjBI,IAAI,EAAEL;EACR,CAAQ;EAERL,QAAQ,CAACO,MAAM,CAAC,MAAM,EAAEC,IAAI,EAAEH,QAAQ,CAAC;EACvCL,QAAQ,CAACO,MAAM,CAAC,UAAU,EAAEF,QAAQ,CAAC;EACrCL,QAAQ,CAACO,MAAM,CAAC,UAAU,EAAEpB,QAAQ,CAAC;EAErC,OAAOa,QAAQ;AACjB,CAAC;AAED,OAAO,MAAMW,+BAA+B,GAAGA,CAACC,iBAA2B,EAAEC,GAAa,KAAK;EAC7F,MAAMC,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;EAExC,OAAO;IACLC,WAAW,EAAEA,CAAA,KACXH,GAAG,CAACI,eAAe,CACjB;MACEL;IACF,CAAC;IACD;IACA;MACEM,MAAM,EAAEJ,UAAU,CAACI;IACrB,CACF,CAAC;IACHJ;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["IS_MOBILE","IS_WEB","createAudioPlayer","getRecordingPermissionsAsync","requestRecordingPermissionsAsync","formatDuration","ms","totalSeconds","Math","floor","minutes","seconds","toString","padStart","ensureRecordingPermissions","status","granted","getAvailableInputsWeb","navigator","mediaDevices","enumerateDevices","devices","filter","d","kind","getAvailableInputs","recorder","addAudioInputsListenerWeb","callback","addEventListener","handleDeviceChange","removeEventListener","getAudioDurationMs","fileUri","externalPlayer","Promise","resolve","undefined","console","log","player","isInternalPlayer","replace","reject","subscription","addListener","duration","remove","durationMs","round","setTimeout","Error","generateAudioFormData","audioFileUri","fileName","formData","FormData","response","fetch","blob","filename","type","append","file","uri","name","uploadAudioFileRequestGenerator","audioFileFormData","api","controller","AbortController","uploadAudio","uploadAudioFile","signal"],"sourceRoot":"../../../../src","sources":["features/voiceRecord/helpers.ts"],"mappings":"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","ignoreList":[]}
@@ -1,14 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import { RecordingPresets, useAudioPlayer, useAudioRecorder, useAudioRecorderState } from 'expo-audio';
4
- import { addAudioInputsListenerWeb, getAudioDurationMs, getAvailableInputs } from "../helpers.js";
3
+ import { RecordingPresets, useAudioRecorder, useAudioRecorderState } from 'expo-audio';
4
+ import { addAudioInputsListenerWeb, getAvailableInputs } from "../helpers.js";
5
5
  import { useEffect } from 'react';
6
6
  import { IS_WEB } from '@magmamath/react-native-ui';
7
7
  import { VOICE_RECORDER_MAX_DURATION_MS, VoiceRecorderState } from "../constants.js";
8
- import { useUnit } from 'effector-react';
9
8
  export const useVoiceRecorder = model => {
10
- const player = useAudioPlayer();
11
- const currentRecord = useUnit(model.$currentRecord);
12
9
  const recorder = useAudioRecorder(RecordingPresets.LOW_QUALITY, model.recordingStatusUpdate);
13
10
  const recorderState = useAudioRecorderState(recorder);
14
11
  useEffect(() => {
@@ -29,15 +26,6 @@ export const useVoiceRecorder = model => {
29
26
  });
30
27
  return removeListener;
31
28
  }, []);
32
- useEffect(() => {
33
- if (currentRecord?.uri) {
34
- const getDuration = async () => {
35
- const durationMs = await getAudioDurationMs(currentRecord.uri, player);
36
- model.recorderModel.setAudioFileDurationMs(durationMs || 0);
37
- };
38
- getDuration();
39
- }
40
- }, [currentRecord?.uri]);
41
29
  useEffect(() => {
42
30
  if (recorderState.isRecording) {
43
31
  model.recorderModel.setVoiceRecordState(VoiceRecorderState.RECORDING);
@@ -1 +1 @@
1
- {"version":3,"names":["RecordingPresets","useAudioPlayer","useAudioRecorder","useAudioRecorderState","addAudioInputsListenerWeb","getAudioDurationMs","getAvailableInputs","useEffect","IS_WEB","VOICE_RECORDER_MAX_DURATION_MS","VoiceRecorderState","useUnit","useVoiceRecorder","model","player","currentRecord","$currentRecord","recorder","LOW_QUALITY","recordingStatusUpdate","recorderState","durationMillis","isRecording","recorderModel","stop","then","inputs","setAvailableInputs","removeListener","devices","uri","getDuration","durationMs","setAudioFileDurationMs","setVoiceRecordState","RECORDING","PAUSED","IDLE","reset"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/hooks/useVoiceRecorder.ts"],"mappings":";;AAAA,SACEA,gBAAgB,EAChBC,cAAc,EACdC,gBAAgB,EAChBC,qBAAqB,QAChB,YAAY;AACnB,SAASC,yBAAyB,EAAEC,kBAAkB,EAAEC,kBAAkB,QAAQ,eAAY;AAE9F,SAASC,SAAS,QAAQ,OAAO;AACjC,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,8BAA8B,EAAEC,kBAAkB,QAAQ,iBAAc;AACjF,SAASC,OAAO,QAAQ,gBAAgB;AAExC,OAAO,MAAMC,gBAAgB,GAAIC,KAAuB,IAAK;EAC3D,MAAMC,MAAM,GAAGb,cAAc,CAAC,CAAC;EAC/B,MAAMc,aAAa,GAAGJ,OAAO,CAACE,KAAK,CAACG,cAAc,CAAC;EAEnD,MAAMC,QAAQ,GAAGf,gBAAgB,CAACF,gBAAgB,CAACkB,WAAW,EAAEL,KAAK,CAACM,qBAAqB,CAAC;EAC5F,MAAMC,aAAa,GAAGjB,qBAAqB,CAACc,QAAQ,CAAC;EAErDV,SAAS,CAAC,MAAM;IACd,IACEa,aAAa,CAACC,cAAc,IAAIZ,8BAA8B,IAC9DW,aAAa,CAACE,WAAW,EACzB;MACAT,KAAK,CAACU,aAAa,CAACC,IAAI,CAAC,CAAC;IAC5B;EACF,CAAC,EAAE,CAACJ,aAAa,CAACC,cAAc,CAAC,CAAC;EAElCd,SAAS,CAAC,MAAM;IACd,IAAI,CAACC,MAAM,EAAE;MACX;MACAF,kBAAkB,CAACW,QAAQ,CAAC,CAACQ,IAAI,CAAEC,MAAM,IAAK;QAC5Cb,KAAK,CAACU,aAAa,CAACI,kBAAkB,CAACD,MAAM,CAAC;MAChD,CAAC,CAAC;MACF;IACF;IAEA,MAAME,cAAc,GAAGxB,yBAAyB,CAAEyB,OAAO,IAAK;MAC5DhB,KAAK,CAACU,aAAa,CAACI,kBAAkB,CAACE,OAAO,CAAC;IACjD,CAAC,CAAC;IAEF,OAAOD,cAAc;EACvB,CAAC,EAAE,EAAE,CAAC;EAENrB,SAAS,CAAC,MAAM;IACd,IAAIQ,aAAa,EAAEe,GAAG,EAAE;MACtB,MAAMC,WAAW,GAAG,MAAAA,CAAA,KAAY;QAC9B,MAAMC,UAAU,GAAG,MAAM3B,kBAAkB,CAACU,aAAa,CAACe,GAAG,EAAGhB,MAAM,CAAC;QACvED,KAAK,CAACU,aAAa,CAACU,sBAAsB,CAACD,UAAU,IAAI,CAAC,CAAC;MAC7D,CAAC;MACDD,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAAChB,aAAa,EAAEe,GAAG,CAAC,CAAC;EAExBvB,SAAS,CAAC,MAAM;IACd,IAAIa,aAAa,CAACE,WAAW,EAAE;MAC7BT,KAAK,CAACU,aAAa,CAACW,mBAAmB,CAACxB,kBAAkB,CAACyB,SAAS,CAAC;MACrE;IACF;IACA,IAAIf,aAAa,CAACC,cAAc,GAAG,CAAC,EAAE;MACpCR,KAAK,CAACU,aAAa,CAACW,mBAAmB,CAACxB,kBAAkB,CAAC0B,MAAM,CAAC;MAClE;IACF;IACAvB,KAAK,CAACU,aAAa,CAACW,mBAAmB,CAACxB,kBAAkB,CAAC2B,IAAI,CAAC;IAEhE,OAAO,MAAM;MACXxB,KAAK,CAACU,aAAa,CAACe,KAAK,CAAC,CAAC;IAC7B,CAAC;EACH,CAAC,EAAE,CAAClB,aAAa,CAAC,CAAC;EAEnBb,SAAS,CAAC,MAAM;IACdM,KAAK,CAACU,aAAa,CAACN,QAAQ,GAAGA,QAAQ;EACzC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,OAAO;IAAEG;EAAc,CAAC;AAC1B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["RecordingPresets","useAudioRecorder","useAudioRecorderState","addAudioInputsListenerWeb","getAvailableInputs","useEffect","IS_WEB","VOICE_RECORDER_MAX_DURATION_MS","VoiceRecorderState","useVoiceRecorder","model","recorder","LOW_QUALITY","recordingStatusUpdate","recorderState","durationMillis","isRecording","recorderModel","stop","then","inputs","setAvailableInputs","removeListener","devices","setVoiceRecordState","RECORDING","PAUSED","IDLE","reset"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/hooks/useVoiceRecorder.ts"],"mappings":";;AAAA,SAASA,gBAAgB,EAAEC,gBAAgB,EAAEC,qBAAqB,QAAQ,YAAY;AACtF,SAASC,yBAAyB,EAAEC,kBAAkB,QAAQ,eAAY;AAE1E,SAASC,SAAS,QAAQ,OAAO;AACjC,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,8BAA8B,EAAEC,kBAAkB,QAAQ,iBAAc;AAEjF,OAAO,MAAMC,gBAAgB,GAAIC,KAAuB,IAAK;EAC3D,MAAMC,QAAQ,GAAGV,gBAAgB,CAACD,gBAAgB,CAACY,WAAW,EAAEF,KAAK,CAACG,qBAAqB,CAAC;EAC5F,MAAMC,aAAa,GAAGZ,qBAAqB,CAACS,QAAQ,CAAC;EAErDN,SAAS,CAAC,MAAM;IACd,IACES,aAAa,CAACC,cAAc,IAAIR,8BAA8B,IAC9DO,aAAa,CAACE,WAAW,EACzB;MACAN,KAAK,CAACO,aAAa,CAACC,IAAI,CAAC,CAAC;IAC5B;EACF,CAAC,EAAE,CAACJ,aAAa,CAACC,cAAc,CAAC,CAAC;EAElCV,SAAS,CAAC,MAAM;IACd,IAAI,CAACC,MAAM,EAAE;MACX;MACAF,kBAAkB,CAACO,QAAQ,CAAC,CAACQ,IAAI,CAAEC,MAAM,IAAK;QAC5CV,KAAK,CAACO,aAAa,CAACI,kBAAkB,CAACD,MAAM,CAAC;MAChD,CAAC,CAAC;MACF;IACF;IAEA,MAAME,cAAc,GAAGnB,yBAAyB,CAAEoB,OAAO,IAAK;MAC5Db,KAAK,CAACO,aAAa,CAACI,kBAAkB,CAACE,OAAO,CAAC;IACjD,CAAC,CAAC;IAEF,OAAOD,cAAc;EACvB,CAAC,EAAE,EAAE,CAAC;EAENjB,SAAS,CAAC,MAAM;IACd,IAAIS,aAAa,CAACE,WAAW,EAAE;MAC7BN,KAAK,CAACO,aAAa,CAACO,mBAAmB,CAAChB,kBAAkB,CAACiB,SAAS,CAAC;MACrE;IACF;IACA,IAAIX,aAAa,CAACC,cAAc,GAAG,CAAC,EAAE;MACpCL,KAAK,CAACO,aAAa,CAACO,mBAAmB,CAAChB,kBAAkB,CAACkB,MAAM,CAAC;MAClE;IACF;IACAhB,KAAK,CAACO,aAAa,CAACO,mBAAmB,CAAChB,kBAAkB,CAACmB,IAAI,CAAC;IAEhE,OAAO,MAAM;MACXjB,KAAK,CAACO,aAAa,CAACW,KAAK,CAAC,CAAC;IAC7B,CAAC;EACH,CAAC,EAAE,CAACd,aAAa,CAAC,CAAC;EAEnBT,SAAS,CAAC,MAAM;IACdK,KAAK,CAACO,aAAa,CAACN,QAAQ,GAAGA,QAAQ;EACzC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,OAAO;IAAEG;EAAc,CAAC;AAC1B,CAAC","ignoreList":[]}
@@ -10,10 +10,8 @@ const AUDIO_MODE_CONFIG = {
10
10
  export class RecorderModel {
11
11
  stopResolver = null;
12
12
  reset = createEvent();
13
- setAudioFileDurationMs = createEvent();
14
13
  setVoiceRecordState = createEvent();
15
14
  setAvailableInputs = createEvent();
16
- $audioFileDurationMs = restore(this.setAudioFileDurationMs, 0).reset(this.reset);
17
15
  $voiceRecordState = restore(this.setVoiceRecordState, VoiceRecorderState.IDLE).reset(this.reset);
18
16
  $availableInputs = restore(this.setAvailableInputs, []);
19
17
  start = createEffect(async () => {
@@ -1 +1 @@
1
- {"version":3,"names":["createEffect","createEvent","restore","setAudioModeAsync","VoiceRecorderState","AUDIO_MODE_CONFIG","playsInSilentMode","allowsRecording","RecorderModel","stopResolver","reset","setAudioFileDurationMs","setVoiceRecordState","setAvailableInputs","$audioFileDurationMs","$voiceRecordState","IDLE","$availableInputs","start","recorder","prepareToRecordAsync","record","error","console","stop","getStatus","isRecording","Promise","resolve","stopAndGetCollectionItem","resolveStopWithCollectionItem","item","clearStopResolver"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/Recorder.model.ts"],"mappings":";;AAAA,SAASA,YAAY,EAAEC,WAAW,EAAEC,OAAO,QAAQ,UAAU;AAC7D,SAAwBC,iBAAiB,QAAQ,YAAY;AAC7D,SAASC,kBAAkB,QAAQ,iBAAc;AAGjD,MAAMC,iBAAiB,GAAG;EACxBC,iBAAiB,EAAE,IAAI;EACvBC,eAAe,EAAE;AACnB,CAAU;AAIV,OAAO,MAAMC,aAAa,CAAC;EAEjBC,YAAY,GAAwB,IAAI;EAEhCC,KAAK,GAAGT,WAAW,CAAC,CAAC;EACrBU,sBAAsB,GAAGV,WAAW,CAAS,CAAC;EAC9CW,mBAAmB,GAAGX,WAAW,CAAqB,CAAC;EACvDY,kBAAkB,GAAGZ,WAAW,CAAuB,CAAC;EAExDa,oBAAoB,GAAGZ,OAAO,CAAC,IAAI,CAACS,sBAAsB,EAAE,CAAC,CAAC,CAACD,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAChFK,iBAAiB,GAAGb,OAAO,CACzC,IAAI,CAACU,mBAAmB,EACxBR,kBAAkB,CAACY,IACrB,CAAC,CAACN,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EACHO,gBAAgB,GAAGf,OAAO,CAAC,IAAI,CAACW,kBAAkB,EAAE,EAAE,CAAC;EAEvDK,KAAK,GAAGlB,YAAY,CAAC,YAAY;IAC/C,IAAI;MACF,MAAMG,iBAAiB,CAACE,iBAAiB,CAAC;MAC1C,MAAM,IAAI,CAACc,QAAQ,CAACC,oBAAoB,CAAC,CAAC;MAC1C,IAAI,CAACD,QAAQ,CAACE,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;MACjD,MAAMA,KAAK;IACb;EACF,CAAC,CAAC;EAEcE,IAAI,GAAGxB,YAAY,CAAC,MAAM;IACxC,IAAI,CAAC,IAAI,CAACmB,QAAQ,CAACM,SAAS,CAAC,CAAC,CAACC,WAAW,EAAE,OAAOC,OAAO,CAACC,OAAO,CAAC,CAAC;IACpE,OAAO,IAAI,CAACT,QAAQ,CAACK,IAAI,CAAC,CAAC;EAC7B,CAAC,CAAC;EAEKK,wBAAwBA,CAAA,EAAuC;IACpE,OAAO,IAAIF,OAAO,CAAEC,OAAO,IAAK;MAC9B,IAAI,CAACnB,YAAY,GAAGmB,OAAO;MAC3B,IAAI,CAACT,QAAQ,CAACM,SAAS,CAAC,CAAC,CAACC,WAAW,IAAI,IAAI,CAACP,QAAQ,CAACK,IAAI,CAAC,CAAC;IAC/D,CAAC,CAAC;EACJ;EAEOM,6BAA6BA,CAACC,IAA+B,EAAQ;IAC1E,IAAI,IAAI,CAACtB,YAAY,EAAE;MACrB,IAAI,CAACA,YAAY,CAACsB,IAAI,CAAC;MACvB,IAAI,CAACtB,YAAY,GAAG,IAAI;IAC1B;EACF;EAEOuB,iBAAiBA,CAAA,EAAS;IAC/B,IAAI,CAACvB,YAAY,GAAG,IAAI;EAC1B;AACF","ignoreList":[]}
1
+ {"version":3,"names":["createEffect","createEvent","restore","setAudioModeAsync","VoiceRecorderState","AUDIO_MODE_CONFIG","playsInSilentMode","allowsRecording","RecorderModel","stopResolver","reset","setVoiceRecordState","setAvailableInputs","$voiceRecordState","IDLE","$availableInputs","start","recorder","prepareToRecordAsync","record","error","console","stop","getStatus","isRecording","Promise","resolve","stopAndGetCollectionItem","resolveStopWithCollectionItem","item","clearStopResolver"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/Recorder.model.ts"],"mappings":";;AAAA,SAASA,YAAY,EAAEC,WAAW,EAAEC,OAAO,QAAQ,UAAU;AAC7D,SAAwBC,iBAAiB,QAAQ,YAAY;AAC7D,SAASC,kBAAkB,QAAQ,iBAAc;AAGjD,MAAMC,iBAAiB,GAAG;EACxBC,iBAAiB,EAAE,IAAI;EACvBC,eAAe,EAAE;AACnB,CAAU;AAIV,OAAO,MAAMC,aAAa,CAAC;EAEjBC,YAAY,GAAwB,IAAI;EAEhCC,KAAK,GAAGT,WAAW,CAAC,CAAC;EACrBU,mBAAmB,GAAGV,WAAW,CAAqB,CAAC;EACvDW,kBAAkB,GAAGX,WAAW,CAAuB,CAAC;EAExDY,iBAAiB,GAAGX,OAAO,CACzC,IAAI,CAACS,mBAAmB,EACxBP,kBAAkB,CAACU,IACrB,CAAC,CAACJ,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EACHK,gBAAgB,GAAGb,OAAO,CAAC,IAAI,CAACU,kBAAkB,EAAE,EAAE,CAAC;EAEvDI,KAAK,GAAGhB,YAAY,CAAC,YAAY;IAC/C,IAAI;MACF,MAAMG,iBAAiB,CAACE,iBAAiB,CAAC;MAC1C,MAAM,IAAI,CAACY,QAAQ,CAACC,oBAAoB,CAAC,CAAC;MAC1C,IAAI,CAACD,QAAQ,CAACE,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;MACjD,MAAMA,KAAK;IACb;EACF,CAAC,CAAC;EAEcE,IAAI,GAAGtB,YAAY,CAAC,MAAM;IACxC,IAAI,CAAC,IAAI,CAACiB,QAAQ,CAACM,SAAS,CAAC,CAAC,CAACC,WAAW,EAAE,OAAOC,OAAO,CAACC,OAAO,CAAC,CAAC;IACpE,OAAO,IAAI,CAACT,QAAQ,CAACK,IAAI,CAAC,CAAC;EAC7B,CAAC,CAAC;EAEKK,wBAAwBA,CAAA,EAAuC;IACpE,OAAO,IAAIF,OAAO,CAAEC,OAAO,IAAK;MAC9B,IAAI,CAACjB,YAAY,GAAGiB,OAAO;MAC3B,IAAI,CAACT,QAAQ,CAACM,SAAS,CAAC,CAAC,CAACC,WAAW,IAAI,IAAI,CAACP,QAAQ,CAACK,IAAI,CAAC,CAAC;IAC/D,CAAC,CAAC;EACJ;EAEOM,6BAA6BA,CAACC,IAA+B,EAAQ;IAC1E,IAAI,IAAI,CAACpB,YAAY,EAAE;MACrB,IAAI,CAACA,YAAY,CAACoB,IAAI,CAAC;MACvB,IAAI,CAACpB,YAAY,GAAG,IAAI;IAC1B;EACF;EAEOqB,iBAAiBA,CAAA,EAAS;IAC/B,IAAI,CAACrB,YAAY,GAAG,IAAI;EAC1B;AACF","ignoreList":[]}
@@ -36,7 +36,6 @@ export class VoiceRecordModel {
36
36
  })
37
37
  });
38
38
  initializeRecording = createEffect(async () => {
39
- console.log('Initializing new recording');
40
39
  this.deleteCurrentRecording({
41
40
  notification: false
42
41
  });
@@ -51,7 +50,11 @@ export class VoiceRecordModel {
51
50
  this.notification.error(t('voiceRecorder.noMicrophoneFound'));
52
51
  return;
53
52
  }
54
- return this.recorderModel.start();
53
+ return this.recorderModel.start().catch(error => {
54
+ if (error.name === 'NotAllowedError') {
55
+ this.notification.error(t('voiceRecorder.noMicrophoneAccessBySystem'));
56
+ }
57
+ });
55
58
  });
56
59
  stopAndDiscard = createEffect(async () => {
57
60
  this.shouldDiscardRecording = true;
@@ -60,6 +63,7 @@ export class VoiceRecordModel {
60
63
  this.recorderModel.reset();
61
64
  });
62
65
  recordingStatusUpdate = status => {
66
+ console.log('status: ', status);
63
67
  if (status.error) {
64
68
  this.notification.error(`Recorder error: ${status.error}`);
65
69
  this.recorderModel.clearStopResolver();
@@ -161,9 +165,6 @@ export class VoiceRecordModel {
161
165
  return;
162
166
  }
163
167
  this.setCurrentRecord(recordingItem);
164
- if (recordingItem.durationMs) {
165
- this.recorderModel.setAudioFileDurationMs(recordingItem.durationMs);
166
- }
167
168
  })
168
169
  });
169
170
  }
@@ -1 +1 @@
1
- {"version":3,"names":["attach","createEffect","createEvent","restore","sample","ensureRecordingPermissions","generateAudioFormData","getAudioDurationMs","getAvailableInputs","uploadAudioFileRequestGenerator","t","RecorderModel","VoiceRecordsCollection","VoiceRecordModel","shouldDiscardRecording","setCurrentKey","setCurrentRecord","reset","setIsDisabled","startAudioUpload","$currentKey","$currentRecord","$isDisabled","deleteCurrentRecording","source","mapParams","props","currentKey","notification","effect","console","log","recordingItem","collection","get","abortUploadIfInProgress","resetRecordingState","info","initializeRecording","hasPermissions","error","inputs","recorderModel","recorder","setAvailableInputs","length","start","stopAndDiscard","stop","clearStopResolver","recordingStatusUpdate","status","isFinished","url","constructor","api","events","setupUploadHandler","setupCurrentRecordSync","id","controller","abort","delete","handleAudioUpload","uri","durationMs","formData","audioFileUri","fileName","uploadAudio","audioUploadPromise","then","data","update","catch","name","collectionItem","add","resolveStopWithCollectionItem","clock","filter","fn","target","setAudioFileDurationMs"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecord.model.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["attach","createEffect","createEvent","restore","sample","ensureRecordingPermissions","generateAudioFormData","getAudioDurationMs","getAvailableInputs","uploadAudioFileRequestGenerator","t","RecorderModel","VoiceRecordsCollection","VoiceRecordModel","shouldDiscardRecording","setCurrentKey","setCurrentRecord","reset","setIsDisabled","startAudioUpload","$currentKey","$currentRecord","$isDisabled","deleteCurrentRecording","source","mapParams","props","currentKey","notification","effect","console","log","recordingItem","collection","get","abortUploadIfInProgress","resetRecordingState","info","initializeRecording","hasPermissions","error","inputs","recorderModel","recorder","setAvailableInputs","length","start","catch","name","stopAndDiscard","stop","clearStopResolver","recordingStatusUpdate","status","isFinished","url","constructor","api","events","setupUploadHandler","setupCurrentRecordSync","id","controller","abort","delete","handleAudioUpload","uri","durationMs","formData","audioFileUri","fileName","uploadAudio","audioUploadPromise","then","data","update","collectionItem","add","resolveStopWithCollectionItem","clock","filter","fn","target"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecord.model.ts"],"mappings":"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","ignoreList":[]}
@@ -47,6 +47,7 @@
47
47
  "delete": "Delete",
48
48
  "cancel": "Cancel",
49
49
  "noMicrophoneAccess": "No microphone access.",
50
+ "noMicrophoneAccessBySystem": "Microphone access denied by system settings.",
50
51
  "noMicrophoneFound": "No microphone found.",
51
52
  "uploadFailed": "Upload failed. Please try again.",
52
53
  "redoRecording": "Redo recording?",
@@ -47,6 +47,7 @@
47
47
  "delete": "Löschen",
48
48
  "cancel": "Abbrechen",
49
49
  "noMicrophoneAccess": "Kein Mikrofon-Zugriff.",
50
+ "noMicrophoneAccessBySystem": "Mikrofonzugriff durch Systemeinstellungen verweigert.",
50
51
  "noMicrophoneFound": "Kein Mikrofon gefunden.",
51
52
  "uploadFailed": "Hochladen fehlgeschlagen. Bitte versuche es erneut.",
52
53
  "redoRecording": "Aufnahme erneut aufnehmen?",
@@ -47,6 +47,7 @@
47
47
  "delete": "Delete",
48
48
  "cancel": "Cancel",
49
49
  "noMicrophoneAccess": "No microphone access.",
50
+ "noMicrophoneAccessBySystem": "Microphone access denied by system settings.",
50
51
  "noMicrophoneFound": "No microphone found.",
51
52
  "uploadFailed": "Upload failed. Please try again.",
52
53
  "redoRecording": "Redo recording?",
@@ -47,6 +47,7 @@
47
47
  "delete": "Delete",
48
48
  "cancel": "Cancel",
49
49
  "noMicrophoneAccess": "No microphone access.",
50
+ "noMicrophoneAccessBySystem": "Microphone access denied by system settings.",
50
51
  "noMicrophoneFound": "No microphone found.",
51
52
  "uploadFailed": "Upload failed. Please try again.",
52
53
  "redoRecording": "Redo recording?",
@@ -47,6 +47,7 @@
47
47
  "delete": "Delete",
48
48
  "cancel": "Cancel",
49
49
  "noMicrophoneAccess": "No microphone access.",
50
+ "noMicrophoneAccessBySystem": "Microphone access denied by system settings.",
50
51
  "noMicrophoneFound": "No microphone found.",
51
52
  "uploadFailed": "Upload failed. Please try again.",
52
53
  "redoRecording": "Redo recording?",
@@ -47,6 +47,7 @@
47
47
  "delete": "Radera",
48
48
  "cancel": "Avbryt",
49
49
  "noMicrophoneAccess": "Ingen mikrofonåtkomst.",
50
+ "noMicrophoneAccessBySystem": "Mikrofonåtkomst nekad av systeminställningar.",
50
51
  "noMicrophoneFound": "Ingen mikrofon hittades.",
51
52
  "uploadFailed": "Uppladdning misslyckades. Försök igen.",
52
53
  "redoRecording": "Spela in igen?",
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/voiceRecord/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,aAAa,EAId,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,eAAO,MAAM,cAAc,OAAQ,MAAM,KAAG,MAK3C,CAAA;AAED,eAAO,MAAM,0BAA0B,wBAStC,CAAA;AASD,eAAO,MAAM,kBAAkB,aAAoB,aAAa,uEAQ/D,CAAA;AAED,eAAO,MAAM,yBAAyB,aAAc,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,eAiBvF,CAAA;AACD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,YACpB,MAAM,mBACE,WAAW,KAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAwD5B,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,qBAAqB,4CAI/B,2BAA2B,KAAG,OAAO,CAAC,QAAQ,CA+BhD,CAAA;AAED,eAAO,MAAM,+BAA+B,sBAAuB,QAAQ,OAAO,QAAQ;;;;;;;CAgBzF,CAAA"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/voiceRecord/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,aAAa,EAId,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,eAAO,MAAM,cAAc,OAAQ,MAAM,KAAG,MAK3C,CAAA;AAED,eAAO,MAAM,0BAA0B,wBAStC,CAAA;AASD,eAAO,MAAM,kBAAkB,aAAoB,aAAa,uEAQ/D,CAAA;AAED,eAAO,MAAM,yBAAyB,aAAc,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,eAiBvF,CAAA;AACD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,YACpB,MAAM,mBACE,WAAW,KAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAuC5B,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,qBAAqB,4CAI/B,2BAA2B,KAAG,OAAO,CAAC,QAAQ,CA+BhD,CAAA;AAED,eAAO,MAAM,+BAA+B,sBAAuB,QAAQ,OAAO,QAAQ;;;;;;;CAgBzF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useVoiceRecorder.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/hooks/useVoiceRecorder.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAM7D,eAAO,MAAM,gBAAgB,UAAW,gBAAgB;;CA+DvD,CAAA"}
1
+ {"version":3,"file":"useVoiceRecorder.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/hooks/useVoiceRecorder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAK7D,eAAO,MAAM,gBAAgB,UAAW,gBAAgB;;CAkDvD,CAAA"}
@@ -5,10 +5,8 @@ export declare class RecorderModel {
5
5
  recorder: AudioRecorder;
6
6
  private stopResolver;
7
7
  readonly reset: import("effector").EventCallable<void>;
8
- readonly setAudioFileDurationMs: import("effector").EventCallable<number>;
9
8
  readonly setVoiceRecordState: import("effector").EventCallable<VoiceRecorderState>;
10
9
  readonly setAvailableInputs: import("effector").EventCallable<MediaDeviceInfo[] | import("expo-audio").RecordingInput[]>;
11
- readonly $audioFileDurationMs: import("effector").StoreWritable<number>;
12
10
  readonly $voiceRecordState: import("effector").StoreWritable<VoiceRecorderState>;
13
11
  readonly $availableInputs: import("effector").StoreWritable<MediaDeviceInfo[] | import("expo-audio").RecordingInput[]>;
14
12
  readonly start: import("effector").Effect<void, void, Error>;
@@ -1 +1 @@
1
- {"version":3,"file":"Recorder.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/Recorder.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAwB,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAS1E,qBAAa,aAAa;IACjB,QAAQ,EAAG,aAAa,CAAA;IAC/B,OAAO,CAAC,YAAY,CAA4B;IAEhD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,sBAAsB,2CAAwB;IAC9D,SAAgB,mBAAmB,uDAAoC;IACvE,SAAgB,kBAAkB,8FAAsC;IAExE,SAAgB,oBAAoB,2CAA4D;IAChG,SAAgB,iBAAiB,uDAGd;IACnB,SAAgB,gBAAgB,8FAAuC;IAEvE,SAAgB,KAAK,+CASnB;IAEF,SAAgB,IAAI,+CAGlB;IAEK,wBAAwB,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAO9D,6BAA6B,CAAC,IAAI,EAAE,yBAAyB,GAAG,IAAI;IAOpE,iBAAiB,IAAI,IAAI;CAGjC"}
1
+ {"version":3,"file":"Recorder.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/Recorder.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAwB,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAS1E,qBAAa,aAAa;IACjB,QAAQ,EAAG,aAAa,CAAA;IAC/B,OAAO,CAAC,YAAY,CAA4B;IAEhD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,mBAAmB,uDAAoC;IACvE,SAAgB,kBAAkB,8FAAsC;IAExE,SAAgB,iBAAiB,uDAGd;IACnB,SAAgB,gBAAgB,8FAAuC;IAEvE,SAAgB,KAAK,+CASnB;IAEF,SAAgB,IAAI,+CAGlB;IAEK,wBAAwB,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAO9D,6BAA6B,CAAC,IAAI,EAAE,yBAAyB,GAAG,IAAI;IAOpE,iBAAiB,IAAI,IAAI;CAGjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecord.model.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAA6B,MAAM,UAAU,CAAA;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,QAAQ,CAAA;IACb,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAOD,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAMD,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,EAAE,aAAa,CAAA;IAC5C,SAAgB,UAAU,EAAE,sBAAsB,CAAA;IAClD,SAAgB,GAAG,EAAE,QAAQ,CAAA;IAC7B,SAAgB,YAAY,EAAE,4BAA4B,CAAA;IAC1D,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IACzC,OAAO,CAAC,sBAAsB,CAAQ;IAEtC,SAAgB,aAAa,2CAAwB;IACrD,SAAgB,gBAAgB,wCAAqB;IACrD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,aAAa,4CAAyB;IACtD,SAAgB,gBAAgB,2CAAwB;IAExD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,wCAAyD;IAEvF,SAAgB,WAAW,4CAAqC;IAEhE,SAAgB,sBAAsB,6EAkBpC;IAEF,SAAgB,mBAAmB,+CAmBjC;IAEF,SAAgB,cAAc,+CAK5B;IAEF,SAAgB,qBAAqB,WAAY,GAAG,UAanD;gBAEW,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,sBAAsB;IAWjE,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,mBAAmB;YAMb,iBAAiB;IAoC/B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,sBAAsB;CAkB/B"}
1
+ {"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecord.model.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAA6B,MAAM,UAAU,CAAA;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,QAAQ,CAAA;IACb,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAOD,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAMD,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,EAAE,aAAa,CAAA;IAC5C,SAAgB,UAAU,EAAE,sBAAsB,CAAA;IAClD,SAAgB,GAAG,EAAE,QAAQ,CAAA;IAC7B,SAAgB,YAAY,EAAE,4BAA4B,CAAA;IAC1D,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IACzC,OAAO,CAAC,sBAAsB,CAAQ;IAEtC,SAAgB,aAAa,2CAAwB;IACrD,SAAgB,gBAAgB,wCAAqB;IACrD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,aAAa,4CAAyB;IACtD,SAAgB,gBAAgB,2CAAwB;IAExD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,wCAAyD;IAEvF,SAAgB,WAAW,4CAAqC;IAEhE,SAAgB,sBAAsB,6EAkBpC;IAEF,SAAgB,mBAAmB,+CAsBjC;IAEF,SAAgB,cAAc,+CAK5B;IAEF,SAAgB,qBAAqB,WAAY,GAAG,UAcnD;gBAEW,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,sBAAsB;IAWjE,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,mBAAmB;YAMb,iBAAiB;IAoC/B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,sBAAsB;CAc/B"}
@@ -48,6 +48,7 @@ export declare const LOCALIZATION_CONFIGS: {
48
48
  delete: string;
49
49
  cancel: string;
50
50
  noMicrophoneAccess: string;
51
+ noMicrophoneAccessBySystem: string;
51
52
  noMicrophoneFound: string;
52
53
  uploadFailed: string;
53
54
  redoRecording: string;
@@ -104,6 +105,7 @@ export declare const LOCALIZATION_CONFIGS: {
104
105
  delete: string;
105
106
  cancel: string;
106
107
  noMicrophoneAccess: string;
108
+ noMicrophoneAccessBySystem: string;
107
109
  noMicrophoneFound: string;
108
110
  uploadFailed: string;
109
111
  redoRecording: string;
@@ -160,6 +162,7 @@ export declare const LOCALIZATION_CONFIGS: {
160
162
  delete: string;
161
163
  cancel: string;
162
164
  noMicrophoneAccess: string;
165
+ noMicrophoneAccessBySystem: string;
163
166
  noMicrophoneFound: string;
164
167
  uploadFailed: string;
165
168
  redoRecording: string;
@@ -216,6 +219,7 @@ export declare const LOCALIZATION_CONFIGS: {
216
219
  delete: string;
217
220
  cancel: string;
218
221
  noMicrophoneAccess: string;
222
+ noMicrophoneAccessBySystem: string;
219
223
  noMicrophoneFound: string;
220
224
  uploadFailed: string;
221
225
  redoRecording: string;
@@ -272,6 +276,7 @@ export declare const LOCALIZATION_CONFIGS: {
272
276
  delete: string;
273
277
  cancel: string;
274
278
  noMicrophoneAccess: string;
279
+ noMicrophoneAccessBySystem: string;
275
280
  noMicrophoneFound: string;
276
281
  uploadFailed: string;
277
282
  redoRecording: string;
@@ -328,6 +333,7 @@ export declare const LOCALIZATION_CONFIGS: {
328
333
  delete: string;
329
334
  cancel: string;
330
335
  noMicrophoneAccess: string;
336
+ noMicrophoneAccessBySystem: string;
331
337
  noMicrophoneFound: string;
332
338
  uploadFailed: string;
333
339
  redoRecording: string;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/shared/translation/constants.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOhC,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/shared/translation/constants.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOhC,CAAA"}
@@ -49,6 +49,7 @@ export declare const setLocalization: import("effector").EventCallable<{
49
49
  delete: string;
50
50
  cancel: string;
51
51
  noMicrophoneAccess: string;
52
+ noMicrophoneAccessBySystem: string;
52
53
  noMicrophoneFound: string;
53
54
  uploadFailed: string;
54
55
  redoRecording: string;
@@ -105,6 +106,7 @@ export declare const $localization: import("effector").StoreWritable<{
105
106
  delete: string;
106
107
  cancel: string;
107
108
  noMicrophoneAccess: string;
109
+ noMicrophoneAccessBySystem: string;
108
110
  noMicrophoneFound: string;
109
111
  uploadFailed: string;
110
112
  redoRecording: string;
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/shared/translation/model.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,YAAY,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cACD,OAAO,oBAAoB,KAAK,YAAY,EACpE,CAAA;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMzB,CAAA"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/shared/translation/model.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,YAAY,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cACD,OAAO,oBAAoB,KAAK,YAAY,EACpE,CAAA;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMzB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/voiceRecord/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,aAAa,EAId,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,eAAO,MAAM,cAAc,OAAQ,MAAM,KAAG,MAK3C,CAAA;AAED,eAAO,MAAM,0BAA0B,wBAStC,CAAA;AASD,eAAO,MAAM,kBAAkB,aAAoB,aAAa,uEAQ/D,CAAA;AAED,eAAO,MAAM,yBAAyB,aAAc,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,eAiBvF,CAAA;AACD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,YACpB,MAAM,mBACE,WAAW,KAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAwD5B,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,qBAAqB,4CAI/B,2BAA2B,KAAG,OAAO,CAAC,QAAQ,CA+BhD,CAAA;AAED,eAAO,MAAM,+BAA+B,sBAAuB,QAAQ,OAAO,QAAQ;;;;;;;CAgBzF,CAAA"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/voiceRecord/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,aAAa,EAId,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,eAAO,MAAM,cAAc,OAAQ,MAAM,KAAG,MAK3C,CAAA;AAED,eAAO,MAAM,0BAA0B,wBAStC,CAAA;AASD,eAAO,MAAM,kBAAkB,aAAoB,aAAa,uEAQ/D,CAAA;AAED,eAAO,MAAM,yBAAyB,aAAc,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,eAiBvF,CAAA;AACD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,YACpB,MAAM,mBACE,WAAW,KAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAuC5B,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,qBAAqB,4CAI/B,2BAA2B,KAAG,OAAO,CAAC,QAAQ,CA+BhD,CAAA;AAED,eAAO,MAAM,+BAA+B,sBAAuB,QAAQ,OAAO,QAAQ;;;;;;;CAgBzF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useVoiceRecorder.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/hooks/useVoiceRecorder.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAM7D,eAAO,MAAM,gBAAgB,UAAW,gBAAgB;;CA+DvD,CAAA"}
1
+ {"version":3,"file":"useVoiceRecorder.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/hooks/useVoiceRecorder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAK7D,eAAO,MAAM,gBAAgB,UAAW,gBAAgB;;CAkDvD,CAAA"}
@@ -5,10 +5,8 @@ export declare class RecorderModel {
5
5
  recorder: AudioRecorder;
6
6
  private stopResolver;
7
7
  readonly reset: import("effector").EventCallable<void>;
8
- readonly setAudioFileDurationMs: import("effector").EventCallable<number>;
9
8
  readonly setVoiceRecordState: import("effector").EventCallable<VoiceRecorderState>;
10
9
  readonly setAvailableInputs: import("effector").EventCallable<MediaDeviceInfo[] | import("expo-audio").RecordingInput[]>;
11
- readonly $audioFileDurationMs: import("effector").StoreWritable<number>;
12
10
  readonly $voiceRecordState: import("effector").StoreWritable<VoiceRecorderState>;
13
11
  readonly $availableInputs: import("effector").StoreWritable<MediaDeviceInfo[] | import("expo-audio").RecordingInput[]>;
14
12
  readonly start: import("effector").Effect<void, void, Error>;
@@ -1 +1 @@
1
- {"version":3,"file":"Recorder.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/Recorder.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAwB,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAS1E,qBAAa,aAAa;IACjB,QAAQ,EAAG,aAAa,CAAA;IAC/B,OAAO,CAAC,YAAY,CAA4B;IAEhD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,sBAAsB,2CAAwB;IAC9D,SAAgB,mBAAmB,uDAAoC;IACvE,SAAgB,kBAAkB,8FAAsC;IAExE,SAAgB,oBAAoB,2CAA4D;IAChG,SAAgB,iBAAiB,uDAGd;IACnB,SAAgB,gBAAgB,8FAAuC;IAEvE,SAAgB,KAAK,+CASnB;IAEF,SAAgB,IAAI,+CAGlB;IAEK,wBAAwB,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAO9D,6BAA6B,CAAC,IAAI,EAAE,yBAAyB,GAAG,IAAI;IAOpE,iBAAiB,IAAI,IAAI;CAGjC"}
1
+ {"version":3,"file":"Recorder.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/Recorder.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAwB,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAS1E,qBAAa,aAAa;IACjB,QAAQ,EAAG,aAAa,CAAA;IAC/B,OAAO,CAAC,YAAY,CAA4B;IAEhD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,mBAAmB,uDAAoC;IACvE,SAAgB,kBAAkB,8FAAsC;IAExE,SAAgB,iBAAiB,uDAGd;IACnB,SAAgB,gBAAgB,8FAAuC;IAEvE,SAAgB,KAAK,+CASnB;IAEF,SAAgB,IAAI,+CAGlB;IAEK,wBAAwB,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAO9D,6BAA6B,CAAC,IAAI,EAAE,yBAAyB,GAAG,IAAI;IAOpE,iBAAiB,IAAI,IAAI;CAGjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecord.model.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAA6B,MAAM,UAAU,CAAA;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,QAAQ,CAAA;IACb,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAOD,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAMD,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,EAAE,aAAa,CAAA;IAC5C,SAAgB,UAAU,EAAE,sBAAsB,CAAA;IAClD,SAAgB,GAAG,EAAE,QAAQ,CAAA;IAC7B,SAAgB,YAAY,EAAE,4BAA4B,CAAA;IAC1D,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IACzC,OAAO,CAAC,sBAAsB,CAAQ;IAEtC,SAAgB,aAAa,2CAAwB;IACrD,SAAgB,gBAAgB,wCAAqB;IACrD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,aAAa,4CAAyB;IACtD,SAAgB,gBAAgB,2CAAwB;IAExD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,wCAAyD;IAEvF,SAAgB,WAAW,4CAAqC;IAEhE,SAAgB,sBAAsB,6EAkBpC;IAEF,SAAgB,mBAAmB,+CAmBjC;IAEF,SAAgB,cAAc,+CAK5B;IAEF,SAAgB,qBAAqB,WAAY,GAAG,UAanD;gBAEW,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,sBAAsB;IAWjE,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,mBAAmB;YAMb,iBAAiB;IAoC/B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,sBAAsB;CAkB/B"}
1
+ {"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecord.model.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAA6B,MAAM,UAAU,CAAA;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,QAAQ,CAAA;IACb,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAOD,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAMD,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,EAAE,aAAa,CAAA;IAC5C,SAAgB,UAAU,EAAE,sBAAsB,CAAA;IAClD,SAAgB,GAAG,EAAE,QAAQ,CAAA;IAC7B,SAAgB,YAAY,EAAE,4BAA4B,CAAA;IAC1D,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IACzC,OAAO,CAAC,sBAAsB,CAAQ;IAEtC,SAAgB,aAAa,2CAAwB;IACrD,SAAgB,gBAAgB,wCAAqB;IACrD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,aAAa,4CAAyB;IACtD,SAAgB,gBAAgB,2CAAwB;IAExD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,wCAAyD;IAEvF,SAAgB,WAAW,4CAAqC;IAEhE,SAAgB,sBAAsB,6EAkBpC;IAEF,SAAgB,mBAAmB,+CAsBjC;IAEF,SAAgB,cAAc,+CAK5B;IAEF,SAAgB,qBAAqB,WAAY,GAAG,UAcnD;gBAEW,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,sBAAsB;IAWjE,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,mBAAmB;YAMb,iBAAiB;IAoC/B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,sBAAsB;CAc/B"}
@@ -48,6 +48,7 @@ export declare const LOCALIZATION_CONFIGS: {
48
48
  delete: string;
49
49
  cancel: string;
50
50
  noMicrophoneAccess: string;
51
+ noMicrophoneAccessBySystem: string;
51
52
  noMicrophoneFound: string;
52
53
  uploadFailed: string;
53
54
  redoRecording: string;
@@ -104,6 +105,7 @@ export declare const LOCALIZATION_CONFIGS: {
104
105
  delete: string;
105
106
  cancel: string;
106
107
  noMicrophoneAccess: string;
108
+ noMicrophoneAccessBySystem: string;
107
109
  noMicrophoneFound: string;
108
110
  uploadFailed: string;
109
111
  redoRecording: string;
@@ -160,6 +162,7 @@ export declare const LOCALIZATION_CONFIGS: {
160
162
  delete: string;
161
163
  cancel: string;
162
164
  noMicrophoneAccess: string;
165
+ noMicrophoneAccessBySystem: string;
163
166
  noMicrophoneFound: string;
164
167
  uploadFailed: string;
165
168
  redoRecording: string;
@@ -216,6 +219,7 @@ export declare const LOCALIZATION_CONFIGS: {
216
219
  delete: string;
217
220
  cancel: string;
218
221
  noMicrophoneAccess: string;
222
+ noMicrophoneAccessBySystem: string;
219
223
  noMicrophoneFound: string;
220
224
  uploadFailed: string;
221
225
  redoRecording: string;
@@ -272,6 +276,7 @@ export declare const LOCALIZATION_CONFIGS: {
272
276
  delete: string;
273
277
  cancel: string;
274
278
  noMicrophoneAccess: string;
279
+ noMicrophoneAccessBySystem: string;
275
280
  noMicrophoneFound: string;
276
281
  uploadFailed: string;
277
282
  redoRecording: string;
@@ -328,6 +333,7 @@ export declare const LOCALIZATION_CONFIGS: {
328
333
  delete: string;
329
334
  cancel: string;
330
335
  noMicrophoneAccess: string;
336
+ noMicrophoneAccessBySystem: string;
331
337
  noMicrophoneFound: string;
332
338
  uploadFailed: string;
333
339
  redoRecording: string;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/shared/translation/constants.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOhC,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/shared/translation/constants.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOhC,CAAA"}
@@ -49,6 +49,7 @@ export declare const setLocalization: import("effector").EventCallable<{
49
49
  delete: string;
50
50
  cancel: string;
51
51
  noMicrophoneAccess: string;
52
+ noMicrophoneAccessBySystem: string;
52
53
  noMicrophoneFound: string;
53
54
  uploadFailed: string;
54
55
  redoRecording: string;
@@ -105,6 +106,7 @@ export declare const $localization: import("effector").StoreWritable<{
105
106
  delete: string;
106
107
  cancel: string;
107
108
  noMicrophoneAccess: string;
109
+ noMicrophoneAccessBySystem: string;
108
110
  noMicrophoneFound: string;
109
111
  uploadFailed: string;
110
112
  redoRecording: string;
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/shared/translation/model.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,YAAY,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cACD,OAAO,oBAAoB,KAAK,YAAY,EACpE,CAAA;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMzB,CAAA"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/shared/translation/model.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,YAAY,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cACD,OAAO,oBAAoB,KAAK,YAAY,EACpE,CAAA;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMzB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmamath/students-features",
3
- "version": "0.9.107-rc.27",
3
+ "version": "0.9.107-rc.29",
4
4
  "description": "Magmamath features library",
5
5
  "source": "src/index.ts",
6
6
  "main": "src/index.ts",
@@ -16,7 +16,7 @@ export const VoiceRecordTimer = ({
16
16
  model,
17
17
  recordingFileDurationMs,
18
18
  }: VoiceRecordTimerProps) => {
19
- const savedAudioFileDurationMs = useUnit(model.recorderModel.$audioFileDurationMs)
19
+ const savedAudioFileDurationMs = useUnit(model.$currentRecord)?.durationMs || 0
20
20
 
21
21
  const displayDurationMs = recordingFileDurationMs
22
22
  ? recordingFileDurationMs
@@ -84,12 +84,8 @@ export const getAudioDurationMs = (
84
84
  return new Promise((resolve, reject) => {
85
85
  const subscription = player.addListener('playbackStatusUpdate', () => {
86
86
  console.log('player.duration: ', player.duration)
87
- // Chrome 93 and some older browsers return Infinity until audio is fully loaded
88
- if (
89
- player.duration !== undefined &&
90
- player.duration > 0 &&
91
- Number.isFinite(player.duration)
92
- ) {
87
+
88
+ if (player.duration !== undefined && player.duration > 0) {
93
89
  subscription.remove()
94
90
 
95
91
  // player.duration is in seconds (e.g., 1.234567)
@@ -103,19 +99,6 @@ export const getAudioDurationMs = (
103
99
  }
104
100
  })
105
101
 
106
- // Workaround for Chrome returning Infinity: seek to end to force duration calculation
107
- if (IS_WEB) {
108
- setTimeout(() => {
109
- try {
110
- // Seeking to a large value forces Chrome to calculate the actual duration
111
- player.seekTo(1e10)
112
- player.seekTo(0)
113
- } catch (e) {
114
- // Ignore seek errors
115
- }
116
- }, 100)
117
- }
118
-
119
102
  setTimeout(() => {
120
103
  subscription.remove()
121
104
 
@@ -1,20 +1,11 @@
1
- import {
2
- RecordingPresets,
3
- useAudioPlayer,
4
- useAudioRecorder,
5
- useAudioRecorderState,
6
- } from 'expo-audio'
7
- import { addAudioInputsListenerWeb, getAudioDurationMs, getAvailableInputs } from '../helpers'
1
+ import { RecordingPresets, useAudioRecorder, useAudioRecorderState } from 'expo-audio'
2
+ import { addAudioInputsListenerWeb, getAvailableInputs } from '../helpers'
8
3
  import { VoiceRecordModel } from '../model/VoiceRecord.model'
9
4
  import { useEffect } from 'react'
10
5
  import { IS_WEB } from '@magmamath/react-native-ui'
11
6
  import { VOICE_RECORDER_MAX_DURATION_MS, VoiceRecorderState } from '../constants'
12
- import { useUnit } from 'effector-react'
13
7
 
14
8
  export const useVoiceRecorder = (model: VoiceRecordModel) => {
15
- const player = useAudioPlayer()
16
- const currentRecord = useUnit(model.$currentRecord)
17
-
18
9
  const recorder = useAudioRecorder(RecordingPresets.LOW_QUALITY, model.recordingStatusUpdate)
19
10
  const recorderState = useAudioRecorderState(recorder)
20
11
 
@@ -43,16 +34,6 @@ export const useVoiceRecorder = (model: VoiceRecordModel) => {
43
34
  return removeListener
44
35
  }, [])
45
36
 
46
- useEffect(() => {
47
- if (currentRecord?.uri) {
48
- const getDuration = async () => {
49
- const durationMs = await getAudioDurationMs(currentRecord.uri!, player)
50
- model.recorderModel.setAudioFileDurationMs(durationMs || 0)
51
- }
52
- getDuration()
53
- }
54
- }, [currentRecord?.uri])
55
-
56
37
  useEffect(() => {
57
38
  if (recorderState.isRecording) {
58
39
  model.recorderModel.setVoiceRecordState(VoiceRecorderState.RECORDING)
@@ -15,11 +15,9 @@ export class RecorderModel {
15
15
  private stopResolver: StopResolver | null = null
16
16
 
17
17
  public readonly reset = createEvent()
18
- public readonly setAudioFileDurationMs = createEvent<number>()
19
18
  public readonly setVoiceRecordState = createEvent<VoiceRecorderState>()
20
19
  public readonly setAvailableInputs = createEvent<AvailableAudioInputs>()
21
20
 
22
- public readonly $audioFileDurationMs = restore(this.setAudioFileDurationMs, 0).reset(this.reset)
23
21
  public readonly $voiceRecordState = restore(
24
22
  this.setVoiceRecordState,
25
23
  VoiceRecorderState.IDLE,
@@ -75,7 +75,6 @@ export class VoiceRecordModel {
75
75
  })
76
76
 
77
77
  public readonly initializeRecording = createEffect(async () => {
78
- console.log('Initializing new recording')
79
78
  this.deleteCurrentRecording({ notification: false })
80
79
 
81
80
  const hasPermissions = await ensureRecordingPermissions()
@@ -92,7 +91,11 @@ export class VoiceRecordModel {
92
91
  return
93
92
  }
94
93
 
95
- return this.recorderModel.start()
94
+ return this.recorderModel.start().catch((error) => {
95
+ if (error.name === 'NotAllowedError') {
96
+ this.notification.error(t('voiceRecorder.noMicrophoneAccessBySystem'))
97
+ }
98
+ })
96
99
  })
97
100
 
98
101
  public readonly stopAndDiscard = createEffect(async () => {
@@ -103,6 +106,7 @@ export class VoiceRecordModel {
103
106
  })
104
107
 
105
108
  public readonly recordingStatusUpdate = (status: any) => {
109
+ console.log('status: ', status)
106
110
  if (status.error) {
107
111
  this.notification.error(`Recorder error: ${status.error}`)
108
112
  this.recorderModel.clearStopResolver()
@@ -199,10 +203,6 @@ export class VoiceRecordModel {
199
203
  }
200
204
 
201
205
  this.setCurrentRecord(recordingItem)
202
-
203
- if (recordingItem.durationMs) {
204
- this.recorderModel.setAudioFileDurationMs(recordingItem.durationMs)
205
- }
206
206
  }),
207
207
  })
208
208
  }
@@ -47,6 +47,7 @@
47
47
  "delete": "Delete",
48
48
  "cancel": "Cancel",
49
49
  "noMicrophoneAccess": "No microphone access.",
50
+ "noMicrophoneAccessBySystem": "Microphone access denied by system settings.",
50
51
  "noMicrophoneFound": "No microphone found.",
51
52
  "uploadFailed": "Upload failed. Please try again.",
52
53
  "redoRecording": "Redo recording?",
@@ -47,6 +47,7 @@
47
47
  "delete": "Löschen",
48
48
  "cancel": "Abbrechen",
49
49
  "noMicrophoneAccess": "Kein Mikrofon-Zugriff.",
50
+ "noMicrophoneAccessBySystem": "Mikrofonzugriff durch Systemeinstellungen verweigert.",
50
51
  "noMicrophoneFound": "Kein Mikrofon gefunden.",
51
52
  "uploadFailed": "Hochladen fehlgeschlagen. Bitte versuche es erneut.",
52
53
  "redoRecording": "Aufnahme erneut aufnehmen?",
@@ -47,6 +47,7 @@
47
47
  "delete": "Delete",
48
48
  "cancel": "Cancel",
49
49
  "noMicrophoneAccess": "No microphone access.",
50
+ "noMicrophoneAccessBySystem": "Microphone access denied by system settings.",
50
51
  "noMicrophoneFound": "No microphone found.",
51
52
  "uploadFailed": "Upload failed. Please try again.",
52
53
  "redoRecording": "Redo recording?",
@@ -47,6 +47,7 @@
47
47
  "delete": "Delete",
48
48
  "cancel": "Cancel",
49
49
  "noMicrophoneAccess": "No microphone access.",
50
+ "noMicrophoneAccessBySystem": "Microphone access denied by system settings.",
50
51
  "noMicrophoneFound": "No microphone found.",
51
52
  "uploadFailed": "Upload failed. Please try again.",
52
53
  "redoRecording": "Redo recording?",
@@ -47,6 +47,7 @@
47
47
  "delete": "Delete",
48
48
  "cancel": "Cancel",
49
49
  "noMicrophoneAccess": "No microphone access.",
50
+ "noMicrophoneAccessBySystem": "Microphone access denied by system settings.",
50
51
  "noMicrophoneFound": "No microphone found.",
51
52
  "uploadFailed": "Upload failed. Please try again.",
52
53
  "redoRecording": "Redo recording?",
@@ -47,6 +47,7 @@
47
47
  "delete": "Radera",
48
48
  "cancel": "Avbryt",
49
49
  "noMicrophoneAccess": "Ingen mikrofonåtkomst.",
50
+ "noMicrophoneAccessBySystem": "Mikrofonåtkomst nekad av systeminställningar.",
50
51
  "noMicrophoneFound": "Ingen mikrofon hittades.",
51
52
  "uploadFailed": "Uppladdning misslyckades. Försök igen.",
52
53
  "redoRecording": "Spela in igen?",