@magmamath/students-features 0.9.107-rc.45 → 0.9.107-rc.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/features/voiceRecord/components/VoiceRecord.js +1 -3
- package/dist/commonjs/features/voiceRecord/components/VoiceRecord.js.map +1 -1
- package/dist/commonjs/features/voiceRecord/helpers.js +2 -2
- package/dist/commonjs/features/voiceRecord/helpers.js.map +1 -1
- package/dist/commonjs/features/voiceRecord/hooks/useVoiceRecorder.js +1 -0
- package/dist/commonjs/features/voiceRecord/hooks/useVoiceRecorder.js.map +1 -1
- package/dist/commonjs/features/voiceRecord/model/VoiceRecord.model.js +4 -1
- package/dist/commonjs/features/voiceRecord/model/VoiceRecord.model.js.map +1 -1
- package/dist/module/features/voiceRecord/components/VoiceRecord.js +1 -3
- package/dist/module/features/voiceRecord/components/VoiceRecord.js.map +1 -1
- package/dist/module/features/voiceRecord/helpers.js +2 -2
- package/dist/module/features/voiceRecord/helpers.js.map +1 -1
- package/dist/module/features/voiceRecord/hooks/useVoiceRecorder.js +1 -0
- package/dist/module/features/voiceRecord/hooks/useVoiceRecorder.js.map +1 -1
- package/dist/module/features/voiceRecord/model/VoiceRecord.model.js +5 -2
- package/dist/module/features/voiceRecord/model/VoiceRecord.model.js.map +1 -1
- package/dist/typescript/commonjs/features/voiceRecord/components/VoiceRecord.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voiceRecord/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voiceRecord/hooks/useVoiceRecorder.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voiceRecord/model/VoiceRecord.model.d.ts +1 -0
- package/dist/typescript/commonjs/features/voiceRecord/model/VoiceRecord.model.d.ts.map +1 -1
- package/dist/typescript/module/features/voiceRecord/components/VoiceRecord.d.ts.map +1 -1
- package/dist/typescript/module/features/voiceRecord/helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/voiceRecord/hooks/useVoiceRecorder.d.ts.map +1 -1
- package/dist/typescript/module/features/voiceRecord/model/VoiceRecord.model.d.ts +1 -0
- package/dist/typescript/module/features/voiceRecord/model/VoiceRecord.model.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/voiceRecord/components/VoiceRecord.tsx +1 -8
- package/src/features/voiceRecord/helpers.ts +2 -1
- package/src/features/voiceRecord/hooks/useVoiceRecorder.ts +1 -0
- package/src/features/voiceRecord/model/VoiceRecord.model.ts +10 -2
|
@@ -26,9 +26,7 @@ const VoiceRecord = ({
|
|
|
26
26
|
const {
|
|
27
27
|
recorderState
|
|
28
28
|
} = (0, _useVoiceRecorder.useVoiceRecorder)(model);
|
|
29
|
-
const [
|
|
30
|
-
const isDisabled = (0, _effectorReact.useUnit)(model.$isButtonDisabled);
|
|
31
|
-
const isExpanded = !!(isRecording || currentRecord);
|
|
29
|
+
const [isExpanded, isDisabled] = (0, _effectorReact.useUnit)([model.$isExpanded, model.$isButtonDisabled]);
|
|
32
30
|
const {
|
|
33
31
|
containerAnimatedStyle
|
|
34
32
|
} = (0, _useVoiceRecorderAnimation.useVoiceRecorderAnimation)(isExpanded);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_VoiceRecordButton","_react","_interopRequireWildcard","_reactNativeUi","_VoiceRecordDeleteButton","_VoiceRecordDevider","_VoiceRecordTimer","_interopRequireDefault","_reactNativeReanimated","_useVoiceRecorder","_useVoiceRecorderAnimation","_effectorReact","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","VoiceRecord","style","model","recorderState","useVoiceRecorder","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_VoiceRecordButton","_react","_interopRequireWildcard","_reactNativeUi","_VoiceRecordDeleteButton","_VoiceRecordDevider","_VoiceRecordTimer","_interopRequireDefault","_reactNativeReanimated","_useVoiceRecorder","_useVoiceRecorderAnimation","_effectorReact","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","VoiceRecord","style","model","recorderState","useVoiceRecorder","isExpanded","isDisabled","useUnit","$isExpanded","$isButtonDisabled","containerAnimatedStyle","useVoiceRecorderAnimation","cleanup","recorderModel","recorder","getStatus","isRecording","stop","reset","useEffect","jsxs","View","styles","container","children","jsx","VoiceRecordButton","entering","FadeIn","exiting","FadeOut","expendedContainer","timer","recordingFileDurationMs","durationMillis","VoiceRecordDevider","VoiceRecordDeleteButton","onPress","events","deleteRecord","exports","StyleSheet","create","alignItems","padding","paddingBottom","backgroundColor","COLORS","NEUTRAL_3","borderRadius","boxShadow","overflow","marginTop","SPACING"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/components/VoiceRecord.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,uBAAA,CAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,wBAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAC,sBAAA,CAAAR,OAAA;AACA,IAAAS,sBAAA,GAAAN,uBAAA,CAAAH,OAAA;AAEA,IAAAU,iBAAA,GAAAV,OAAA;AACA,IAAAW,0BAAA,GAAAX,OAAA;AACA,IAAAY,cAAA,GAAAZ,OAAA;AAAwC,IAAAa,WAAA,GAAAb,OAAA;AAAA,SAAAQ,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAOjC,MAAMW,WAAW,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAwB,CAAC,KAAK;EACjE,MAAM;IAAEC;EAAc,CAAC,GAAG,IAAAC,kCAAgB,EAACF,KAAK,CAAC;EACjD,MAAM,CAACG,UAAU,EAAEC,UAAU,CAAC,GAAG,IAAAC,sBAAO,EAAC,CAACL,KAAK,CAACM,WAAW,EAAEN,KAAK,CAACO,iBAAiB,CAAC,CAAC;EAEtF,MAAM;IAAEC;EAAuB,CAAC,GAAG,IAAAC,oDAAyB,EAACN,UAAU,CAAC;EAExE,MAAMO,OAAO,GAAG,MAAAA,CAAA,KAAY;IAC1B,IAAIV,KAAK,CAACW,aAAa,CAACC,QAAQ,CAACC,SAAS,CAAC,CAAC,CAACC,WAAW,EAAE;MACxD,MAAMd,KAAK,CAACW,aAAa,CAACC,QAAQ,CAACG,IAAI,CAAC,CAAC;IAC3C;IACAf,KAAK,CAACW,aAAa,CAACK,KAAK,CAAC,CAAC;EAC7B,CAAC;EAED,IAAAC,gBAAS,EAAC,MAAM;IACd,OAAO,MAAM;MACXP,OAAO,CAAC,CAAC;IACX,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE,IAAAjC,WAAA,CAAAyC,IAAA,EAAC7C,sBAAA,CAAAO,OAAQ,CAACuC,IAAI;IAACpB,KAAK,EAAE,CAACqB,MAAM,CAACC,SAAS,EAAEtB,KAAK,EAAES,sBAAsB,CAAE;IAAAc,QAAA,gBACtE,IAAA7C,WAAA,CAAA8C,GAAA,EAAC1D,kBAAA,CAAA2D,iBAAiB;MAACxB,KAAK,EAAEA;IAAM,CAAE,CAAC,EAClCG,UAAU,iBACT,IAAA1B,WAAA,CAAAyC,IAAA,EAAC7C,sBAAA,CAAAO,OAAQ,CAACuC,IAAI;MAACM,QAAQ,EAAEC,6BAAO;MAACC,OAAO,EAAEC,8BAAQ;MAAC7B,KAAK,EAAEqB,MAAM,CAACS,iBAAkB;MAAAP,QAAA,gBACjF,IAAA7C,WAAA,CAAA8C,GAAA,EAACpD,iBAAA,CAAAS,OAAgB;QACfmB,KAAK,EAAEqB,MAAM,CAACU,KAAM;QACpB9B,KAAK,EAAEA,KAAM;QACb+B,uBAAuB,EAAE9B,aAAa,CAAC+B;MAAe,CACvD,CAAC,eACF,IAAAvD,WAAA,CAAA8C,GAAA,EAACrD,mBAAA,CAAA+D,kBAAkB,IAAE,CAAC,eACtB,IAAAxD,WAAA,CAAA8C,GAAA,EAACtD,wBAAA,CAAAiE,uBAAuB;QAAC9B,UAAU,EAAEA,UAAW;QAAC+B,OAAO,EAAEnC,KAAK,CAACoC,MAAM,CAACC;MAAa,CAAE,CAAC;IAAA,CAC1E,CAChB;EAAA,CACY,CAAC;AAEpB,CAAC;AAAAC,OAAA,CAAAxC,WAAA,GAAAA,WAAA;AAED,MAAMsB,MAAM,GAAGmB,uBAAU,CAACC,MAAM,CAAC;EAC/BnB,SAAS,EAAE;IACToB,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE,CAAC;IACVC,aAAa,EAAE,CAAC;IAChBC,eAAe,EAAEC,qBAAM,CAACC,SAAS;IACjCC,YAAY,EAAE,EAAE;IAChBC,SAAS,EAAE,sEAAsE;IACjFC,QAAQ,EAAE;EACZ,CAAC;EACDnB,KAAK,EAAE;IACLoB,SAAS,EAAEC,sBAAO,CAAC,GAAG;EACxB,CAAC;EACDtB,iBAAiB,EAAE;IACjBY,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.uploadAudioFileRequestGenerator = exports.getAvailableInputs = exports.getAudioDurationMs = exports.generateAudioFormData = exports.formatDuration = exports.ensureRecordingPermissions = exports.addAudioInputsListenerWeb = void 0;
|
|
7
7
|
var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
8
8
|
var _expoAudio = require("expo-audio");
|
|
9
|
+
var _constants = require("./constants.js");
|
|
9
10
|
const formatDuration = ms => {
|
|
10
11
|
const totalSeconds = Math.floor(ms / 1000);
|
|
11
12
|
const minutes = Math.floor(totalSeconds / 60);
|
|
@@ -100,8 +101,7 @@ const generateAudioFormData = async ({
|
|
|
100
101
|
//todo: add web or ios prefix to filename
|
|
101
102
|
|
|
102
103
|
const formData = new FormData();
|
|
103
|
-
const duration = durationMs
|
|
104
|
-
|
|
104
|
+
const duration = Math.min(durationMs || 100, _constants.VOICE_RECORDER_MAX_DURATION_MS).toString();
|
|
105
105
|
if (_reactNativeUi.IS_WEB) {
|
|
106
106
|
const response = await fetch(audioFileUri);
|
|
107
107
|
const blob = await response.blob();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeUi","require","_expoAudio","formatDuration","ms","totalSeconds","Math","floor","minutes","seconds","toString","padStart","exports","ensureRecordingPermissions","status","getRecordingPermissionsAsync","console","log","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","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":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;
|
|
1
|
+
{"version":3,"names":["_reactNativeUi","require","_expoAudio","_constants","formatDuration","ms","totalSeconds","Math","floor","minutes","seconds","toString","padStart","exports","ensureRecordingPermissions","status","getRecordingPermissionsAsync","console","log","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","player","createAudioPlayer","isInternalPlayer","replace","reject","subscription","addListener","duration","remove","durationMs","round","setTimeout","Error","generateAudioFormData","audioFileUri","fileName","formData","FormData","min","VOICE_RECORDER_MAX_DURATION_MS","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":[]}
|
|
@@ -14,6 +14,7 @@ const useVoiceRecorder = model => {
|
|
|
14
14
|
const recorderState = (0, _expoAudio.useAudioRecorderState)(recorder);
|
|
15
15
|
(0, _react.useEffect)(() => {
|
|
16
16
|
if (recorderState.durationMillis >= _constants.VOICE_RECORDER_MAX_DURATION_MS && recorderState.isRecording) {
|
|
17
|
+
console.log('HERE');
|
|
17
18
|
model.recorderModel.stop();
|
|
18
19
|
}
|
|
19
20
|
// Track the last known duration while recording (for old browsers where getAudioDurationMs returns Infinity)
|
|
@@ -1 +1 @@
|
|
|
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","setLastKnownDurationMs","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;
|
|
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","console","log","recorderModel","stop","setLastKnownDurationMs","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;MACAC,OAAO,CAACC,GAAG,CAAC,MAAM,CAAC;MACnBb,KAAK,CAACc,aAAa,CAACC,IAAI,CAAC,CAAC;IAC5B;IACA;IACA,IAAIT,aAAa,CAACK,WAAW,IAAIL,aAAa,CAACG,cAAc,GAAG,CAAC,EAAE;MACjET,KAAK,CAACc,aAAa,CAACE,sBAAsB,CAACV,aAAa,CAACG,cAAc,CAAC;IAC1E;EACF,CAAC,EAAE,CAACH,aAAa,CAACG,cAAc,CAAC,CAAC;EAElC,IAAAD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACS,qBAAM,EAAE;MACX;MACA,IAAAC,2BAAkB,EAACjB,QAAQ,CAAC,CAACkB,IAAI,CAAEC,MAAM,IAAK;QAC5CpB,KAAK,CAACc,aAAa,CAACO,kBAAkB,CAACD,MAAM,CAAC;MAChD,CAAC,CAAC;MACF;IACF;IAEA,MAAME,cAAc,GAAG,IAAAC,kCAAyB,EAAEC,OAAO,IAAK;MAC5DxB,KAAK,CAACc,aAAa,CAACO,kBAAkB,CAACG,OAAO,CAAC;IACjD,CAAC,CAAC;IAEF,OAAOF,cAAc;EACvB,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAd,gBAAS,EAAC,MAAM;IACd,IAAIF,aAAa,CAACK,WAAW,EAAE;MAC7BX,KAAK,CAACc,aAAa,CAACW,mBAAmB,CAACC,6BAAkB,CAACC,SAAS,CAAC;MACrE;IACF;IACA,IAAIrB,aAAa,CAACG,cAAc,GAAG,CAAC,EAAE;MACpCT,KAAK,CAACc,aAAa,CAACW,mBAAmB,CAACC,6BAAkB,CAACE,MAAM,CAAC;MAClE;IACF;IACA5B,KAAK,CAACc,aAAa,CAACW,mBAAmB,CAACC,6BAAkB,CAACG,IAAI,CAAC;IAEhE,OAAO,MAAM;MACX7B,KAAK,CAACc,aAAa,CAACgB,KAAK,CAAC,CAAC;IAC7B,CAAC;EACH,CAAC,EAAE,CAACxB,aAAa,CAAC,CAAC;EAEnB,IAAAE,gBAAS,EAAC,MAAM;IACdR,KAAK,CAACc,aAAa,CAACb,QAAQ,GAAGA,QAAQ;EACzC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,OAAO;IAAEK;EAAc,CAAC;AAC1B,CAAC;AAAAyB,OAAA,CAAAhC,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -22,6 +22,10 @@ class VoiceRecordModel {
|
|
|
22
22
|
$currentKey = (0, _effector.restore)(this.setCurrentKey, '');
|
|
23
23
|
$currentRecord = (0, _effector.restore)(this.setCurrentRecord, null).reset(this.reset);
|
|
24
24
|
$isButtonDisabled = (0, _effector.restore)(this.setIsButtonDisabled, false);
|
|
25
|
+
$isExpanded = (0, _effector.combine)(this.recorderModel.$voiceRecordState, this.$currentRecord, (recorderState, currentRecord) => {
|
|
26
|
+
if (recorderState !== _constants.VoiceRecorderState.IDLE || currentRecord) return true;
|
|
27
|
+
return false;
|
|
28
|
+
});
|
|
25
29
|
deleteCurrentRecording = (0, _effector.attach)({
|
|
26
30
|
source: this.$currentKey,
|
|
27
31
|
mapParams: (props, currentKey) => ({
|
|
@@ -69,7 +73,6 @@ class VoiceRecordModel {
|
|
|
69
73
|
this.recorderModel.reset();
|
|
70
74
|
});
|
|
71
75
|
recordingStatusUpdate = status => {
|
|
72
|
-
console.log('status: ', status);
|
|
73
76
|
if (status.error) {
|
|
74
77
|
this.notification.error(`Recorder error: ${status.error}`);
|
|
75
78
|
this.recorderModel.clearStopResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_effector","require","_helpers","_index","_RecorderModel","_VoiceRecordCollection","_constants","VoiceRecordModel","recorderModel","RecorderModel","collection","VoiceRecordsCollection","shouldDiscardRecording","setCurrentKey","createEvent","setCurrentRecord","reset","setIsButtonDisabled","startAudioUpload","$currentKey","restore","$currentRecord","$isButtonDisabled","deleteCurrentRecording","attach","source","mapParams","props","currentKey","notification","effect","createEffect","recordingItem","get","abortUploadIfInProgress","resetRecordingState","success","t","initializeRecording","hasPermissions","ensureRecordingPermissions","error","inputs","getAvailableInputs","recorder","setAvailableInputs","length","start","catch","name","stopAndDiscard","stop","clearStopResolver","recordingStatusUpdate","status","
|
|
1
|
+
{"version":3,"names":["_effector","require","_helpers","_index","_RecorderModel","_VoiceRecordCollection","_constants","VoiceRecordModel","recorderModel","RecorderModel","collection","VoiceRecordsCollection","shouldDiscardRecording","setCurrentKey","createEvent","setCurrentRecord","reset","setIsButtonDisabled","startAudioUpload","$currentKey","restore","$currentRecord","$isButtonDisabled","$isExpanded","combine","$voiceRecordState","recorderState","currentRecord","VoiceRecorderState","IDLE","deleteCurrentRecording","attach","source","mapParams","props","currentKey","notification","effect","createEffect","recordingItem","get","abortUploadIfInProgress","resetRecordingState","success","t","initializeRecording","hasPermissions","ensureRecordingPermissions","error","inputs","getAvailableInputs","recorder","setAvailableInputs","length","start","catch","name","stopAndDiscard","stop","clearStopResolver","recordingStatusUpdate","status","isFinished","url","getRecordingItem","key","isRecording","RECORDING","stopAndGetCollectionItem","console","undefined","constructor","api","events","setupUploadHandler","setupCurrentRecordSync","id","controller","abort","delete","handleAudioUpload","uri","durationMs","formData","generateAudioFormData","audioFileUri","fileName","uploadAudio","uploadAudioFileRequestGenerator","audioUploadPromise","then","data","update","collectionItem","add","resolveStopWithCollectionItem","sample","clock","$lastKnownDurationMs","filter","fn","target","params","exports"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecord.model.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,9 +19,7 @@ export const VoiceRecord = ({
|
|
|
19
19
|
const {
|
|
20
20
|
recorderState
|
|
21
21
|
} = useVoiceRecorder(model);
|
|
22
|
-
const [
|
|
23
|
-
const isDisabled = useUnit(model.$isButtonDisabled);
|
|
24
|
-
const isExpanded = !!(isRecording || currentRecord);
|
|
22
|
+
const [isExpanded, isDisabled] = useUnit([model.$isExpanded, model.$isButtonDisabled]);
|
|
25
23
|
const {
|
|
26
24
|
containerAnimatedStyle
|
|
27
25
|
} = useVoiceRecorderAnimation(isExpanded);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","VoiceRecordButton","React","useEffect","COLORS","SPACING","VoiceRecordDeleteButton","VoiceRecordDevider","VoiceRecordTimer","Animated","FadeIn","FadeOut","useVoiceRecorder","useVoiceRecorderAnimation","useUnit","jsx","_jsx","jsxs","_jsxs","VoiceRecord","style","model","recorderState","
|
|
1
|
+
{"version":3,"names":["StyleSheet","VoiceRecordButton","React","useEffect","COLORS","SPACING","VoiceRecordDeleteButton","VoiceRecordDevider","VoiceRecordTimer","Animated","FadeIn","FadeOut","useVoiceRecorder","useVoiceRecorderAnimation","useUnit","jsx","_jsx","jsxs","_jsxs","VoiceRecord","style","model","recorderState","isExpanded","isDisabled","$isExpanded","$isButtonDisabled","containerAnimatedStyle","cleanup","recorderModel","recorder","getStatus","isRecording","stop","reset","View","styles","container","children","entering","exiting","expendedContainer","timer","recordingFileDurationMs","durationMillis","onPress","events","deleteRecord","create","alignItems","padding","paddingBottom","backgroundColor","NEUTRAL_3","borderRadius","boxShadow","overflow","marginTop"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/components/VoiceRecord.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { IS_MOBILE, IS_WEB } from '@magmamath/react-native-ui';
|
|
4
4
|
import { createAudioPlayer, getRecordingPermissionsAsync, requestRecordingPermissionsAsync } from 'expo-audio';
|
|
5
|
+
import { VOICE_RECORDER_MAX_DURATION_MS } from "./constants.js";
|
|
5
6
|
export const formatDuration = ms => {
|
|
6
7
|
const totalSeconds = Math.floor(ms / 1000);
|
|
7
8
|
const minutes = Math.floor(totalSeconds / 60);
|
|
@@ -91,8 +92,7 @@ export const generateAudioFormData = async ({
|
|
|
91
92
|
//todo: add web or ios prefix to filename
|
|
92
93
|
|
|
93
94
|
const formData = new FormData();
|
|
94
|
-
const duration = durationMs
|
|
95
|
-
|
|
95
|
+
const duration = Math.min(durationMs || 100, VOICE_RECORDER_MAX_DURATION_MS).toString();
|
|
96
96
|
if (IS_WEB) {
|
|
97
97
|
const response = await fetch(audioFileUri);
|
|
98
98
|
const blob = await response.blob();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IS_MOBILE","IS_WEB","createAudioPlayer","getRecordingPermissionsAsync","requestRecordingPermissionsAsync","formatDuration","ms","totalSeconds","Math","floor","minutes","seconds","toString","padStart","ensureRecordingPermissions","status","console","log","granted","getAvailableInputsWeb","navigator","mediaDevices","enumerateDevices","devices","filter","d","kind","getAvailableInputs","recorder","addAudioInputsListenerWeb","callback","addEventListener","handleDeviceChange","removeEventListener","getAudioDurationMs","fileUri","externalPlayer","Promise","resolve","undefined","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":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,4BAA4B;AAC9D,SAGEC,iBAAiB,EACjBC,4BAA4B,EAC5BC,gCAAgC,QAC3B,YAAY;
|
|
1
|
+
{"version":3,"names":["IS_MOBILE","IS_WEB","createAudioPlayer","getRecordingPermissionsAsync","requestRecordingPermissionsAsync","VOICE_RECORDER_MAX_DURATION_MS","formatDuration","ms","totalSeconds","Math","floor","minutes","seconds","toString","padStart","ensureRecordingPermissions","status","console","log","granted","getAvailableInputsWeb","navigator","mediaDevices","enumerateDevices","devices","filter","d","kind","getAvailableInputs","recorder","addAudioInputsListenerWeb","callback","addEventListener","handleDeviceChange","removeEventListener","getAudioDurationMs","fileUri","externalPlayer","Promise","resolve","undefined","player","isInternalPlayer","replace","reject","subscription","addListener","duration","remove","durationMs","round","setTimeout","Error","generateAudioFormData","audioFileUri","fileName","formData","FormData","min","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":[]}
|
|
@@ -10,6 +10,7 @@ export const useVoiceRecorder = model => {
|
|
|
10
10
|
const recorderState = useAudioRecorderState(recorder);
|
|
11
11
|
useEffect(() => {
|
|
12
12
|
if (recorderState.durationMillis >= VOICE_RECORDER_MAX_DURATION_MS && recorderState.isRecording) {
|
|
13
|
+
console.log('HERE');
|
|
13
14
|
model.recorderModel.stop();
|
|
14
15
|
}
|
|
15
16
|
// Track the last known duration while recording (for old browsers where getAudioDurationMs returns Infinity)
|
|
@@ -1 +1 @@
|
|
|
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","setLastKnownDurationMs","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;
|
|
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","console","log","recorderModel","stop","setLastKnownDurationMs","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;MACAC,OAAO,CAACC,GAAG,CAAC,MAAM,CAAC;MACnBR,KAAK,CAACS,aAAa,CAACC,IAAI,CAAC,CAAC;IAC5B;IACA;IACA,IAAIN,aAAa,CAACE,WAAW,IAAIF,aAAa,CAACC,cAAc,GAAG,CAAC,EAAE;MACjEL,KAAK,CAACS,aAAa,CAACE,sBAAsB,CAACP,aAAa,CAACC,cAAc,CAAC;IAC1E;EACF,CAAC,EAAE,CAACD,aAAa,CAACC,cAAc,CAAC,CAAC;EAElCV,SAAS,CAAC,MAAM;IACd,IAAI,CAACC,MAAM,EAAE;MACX;MACAF,kBAAkB,CAACO,QAAQ,CAAC,CAACW,IAAI,CAAEC,MAAM,IAAK;QAC5Cb,KAAK,CAACS,aAAa,CAACK,kBAAkB,CAACD,MAAM,CAAC;MAChD,CAAC,CAAC;MACF;IACF;IAEA,MAAME,cAAc,GAAGtB,yBAAyB,CAAEuB,OAAO,IAAK;MAC5DhB,KAAK,CAACS,aAAa,CAACK,kBAAkB,CAACE,OAAO,CAAC;IACjD,CAAC,CAAC;IAEF,OAAOD,cAAc;EACvB,CAAC,EAAE,EAAE,CAAC;EAENpB,SAAS,CAAC,MAAM;IACd,IAAIS,aAAa,CAACE,WAAW,EAAE;MAC7BN,KAAK,CAACS,aAAa,CAACQ,mBAAmB,CAACnB,kBAAkB,CAACoB,SAAS,CAAC;MACrE;IACF;IACA,IAAId,aAAa,CAACC,cAAc,GAAG,CAAC,EAAE;MACpCL,KAAK,CAACS,aAAa,CAACQ,mBAAmB,CAACnB,kBAAkB,CAACqB,MAAM,CAAC;MAClE;IACF;IACAnB,KAAK,CAACS,aAAa,CAACQ,mBAAmB,CAACnB,kBAAkB,CAACsB,IAAI,CAAC;IAEhE,OAAO,MAAM;MACXpB,KAAK,CAACS,aAAa,CAACY,KAAK,CAAC,CAAC;IAC7B,CAAC;EACH,CAAC,EAAE,CAACjB,aAAa,CAAC,CAAC;EAEnBT,SAAS,CAAC,MAAM;IACdK,KAAK,CAACS,aAAa,CAACR,QAAQ,GAAGA,QAAQ;EACzC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,OAAO;IAAEG;EAAc,CAAC;AAC1B,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { attach, createEffect, createEvent, restore, sample } from 'effector';
|
|
3
|
+
import { attach, combine, createEffect, createEvent, restore, sample } from 'effector';
|
|
4
4
|
import { ensureRecordingPermissions, generateAudioFormData, getAvailableInputs, uploadAudioFileRequestGenerator } from "../helpers.js";
|
|
5
5
|
import { t } from "../../../shared/translation/index.js";
|
|
6
6
|
import { RecorderModel } from "./Recorder.model.js";
|
|
@@ -18,6 +18,10 @@ export class VoiceRecordModel {
|
|
|
18
18
|
$currentKey = restore(this.setCurrentKey, '');
|
|
19
19
|
$currentRecord = restore(this.setCurrentRecord, null).reset(this.reset);
|
|
20
20
|
$isButtonDisabled = restore(this.setIsButtonDisabled, false);
|
|
21
|
+
$isExpanded = combine(this.recorderModel.$voiceRecordState, this.$currentRecord, (recorderState, currentRecord) => {
|
|
22
|
+
if (recorderState !== VoiceRecorderState.IDLE || currentRecord) return true;
|
|
23
|
+
return false;
|
|
24
|
+
});
|
|
21
25
|
deleteCurrentRecording = attach({
|
|
22
26
|
source: this.$currentKey,
|
|
23
27
|
mapParams: (props, currentKey) => ({
|
|
@@ -65,7 +69,6 @@ export class VoiceRecordModel {
|
|
|
65
69
|
this.recorderModel.reset();
|
|
66
70
|
});
|
|
67
71
|
recordingStatusUpdate = status => {
|
|
68
|
-
console.log('status: ', status);
|
|
69
72
|
if (status.error) {
|
|
70
73
|
this.notification.error(`Recorder error: ${status.error}`);
|
|
71
74
|
this.recorderModel.clearStopResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["attach","createEffect","createEvent","restore","sample","ensureRecordingPermissions","generateAudioFormData","getAvailableInputs","uploadAudioFileRequestGenerator","t","RecorderModel","VoiceRecordsCollection","VoiceRecorderState","VoiceRecordModel","recorderModel","collection","shouldDiscardRecording","setCurrentKey","setCurrentRecord","reset","setIsButtonDisabled","startAudioUpload","$currentKey","$currentRecord","$isButtonDisabled","deleteCurrentRecording","source","mapParams","props","currentKey","notification","effect","recordingItem","get","abortUploadIfInProgress","resetRecordingState","success","initializeRecording","hasPermissions","error","inputs","recorder","setAvailableInputs","length","start","catch","name","stopAndDiscard","stop","clearStopResolver","recordingStatusUpdate","status","
|
|
1
|
+
{"version":3,"names":["attach","combine","createEffect","createEvent","restore","sample","ensureRecordingPermissions","generateAudioFormData","getAvailableInputs","uploadAudioFileRequestGenerator","t","RecorderModel","VoiceRecordsCollection","VoiceRecorderState","VoiceRecordModel","recorderModel","collection","shouldDiscardRecording","setCurrentKey","setCurrentRecord","reset","setIsButtonDisabled","startAudioUpload","$currentKey","$currentRecord","$isButtonDisabled","$isExpanded","$voiceRecordState","recorderState","currentRecord","IDLE","deleteCurrentRecording","source","mapParams","props","currentKey","notification","effect","recordingItem","get","abortUploadIfInProgress","resetRecordingState","success","initializeRecording","hasPermissions","error","inputs","recorder","setAvailableInputs","length","start","catch","name","stopAndDiscard","stop","clearStopResolver","recordingStatusUpdate","status","isFinished","url","getRecordingItem","key","isRecording","RECORDING","stopAndGetCollectionItem","console","undefined","constructor","api","events","setupUploadHandler","setupCurrentRecordSync","id","controller","abort","delete","handleAudioUpload","uri","durationMs","formData","audioFileUri","fileName","uploadAudio","audioUploadPromise","then","data","update","collectionItem","add","resolveStopWithCollectionItem","clock","$lastKnownDurationMs","filter","fn","target","params"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecord.model.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,OAAO,EAAEC,YAAY,EAAEC,WAAW,EAAeC,OAAO,EAAEC,MAAM,QAAQ,UAAU;AACnG,SACEC,0BAA0B,EAC1BC,qBAAqB,EACrBC,kBAAkB,EAClBC,+BAA+B,QAC1B,eAAY;AAEnB,SAASC,CAAC,QAAQ,sCAA6B;AAC/C,SAASC,aAAa,QAAQ,qBAAkB;AAChD,SAASC,sBAAsB,QAAQ,4BAAyB;AAChE,SAASC,kBAAkB,QAAQ,iBAAc;AA2BjD,OAAO,MAAMC,gBAAgB,CAAC;EACZC,aAAa,GAAG,IAAIJ,aAAa,CAAC,CAAC;EACnCK,UAAU,GAAG,IAAIJ,sBAAsB,CAAC,CAAC;EAIjDK,sBAAsB,GAAG,KAAK;EAEtBC,aAAa,GAAGf,WAAW,CAAS,CAAC;EACrCgB,gBAAgB,GAAGhB,WAAW,CAAM,CAAC;EACrCiB,KAAK,GAAGjB,WAAW,CAAC,CAAC;EACrBkB,mBAAmB,GAAGlB,WAAW,CAAU,CAAC;EAC5CmB,gBAAgB,GAAGnB,WAAW,CAAS,CAAC;EAExCoB,WAAW,GAAGnB,OAAO,CAAC,IAAI,CAACc,aAAa,EAAE,EAAE,CAAC;EAC7CM,cAAc,GAAGpB,OAAO,CAAC,IAAI,CAACe,gBAAgB,EAAE,IAAI,CAAC,CAACC,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAEvEK,iBAAiB,GAAGrB,OAAO,CAAC,IAAI,CAACiB,mBAAmB,EAAE,KAAK,CAAC;EAE5DK,WAAW,GAAGzB,OAAO,CACnC,IAAI,CAACc,aAAa,CAACY,iBAAiB,EACpC,IAAI,CAACH,cAAc,EACnB,CAACI,aAAa,EAAEC,aAAa,KAAK;IAChC,IAAID,aAAa,KAAKf,kBAAkB,CAACiB,IAAI,IAAID,aAAa,EAAE,OAAO,IAAI;IAC3E,OAAO,KAAK;EACd,CACF,CAAC;EAEeE,sBAAsB,GAAG/B,MAAM,CAAC;IAC9CgC,MAAM,EAAE,IAAI,CAACT,WAAW;IACxBU,SAAS,EAAEA,CAACC,KAAyC,EAAEC,UAAU,MAAM;MACrEC,YAAY,EAAE,IAAI;MAClB,GAAGF,KAAK;MACRC;IACF,CAAC,CAAC;IACFE,MAAM,EAAEnC,YAAY,CAAC,CAAC;MAAEiC,UAAU;MAAEC;IAA2C,CAAC,KAAK;MACnF,MAAME,aAAa,GAAG,IAAI,CAACtB,UAAU,CAACuB,GAAG,CAACJ,UAAU,CAAC;MAErD,IAAI,CAACK,uBAAuB,CAACF,aAAa,CAAC;MAC3C,IAAI,CAACG,mBAAmB,CAACN,UAAU,CAAC;MAEpC,IAAIC,YAAY,EAAE;QAChB,IAAI,CAACA,YAAY,CAACM,OAAO,CAAChC,CAAC,CAAC,gCAAgC,CAAC,CAAC;MAChE;IACF,CAAC;EACH,CAAC,CAAC;EAEciC,mBAAmB,GAAGzC,YAAY,CAAC,YAAY;IAC7D,IAAI,CAAC6B,sBAAsB,CAAC;MAAEK,YAAY,EAAE;IAAM,CAAC,CAAC;IAEpD,MAAMQ,cAAc,GAAG,MAAMtC,0BAA0B,CAAC,CAAC;IACzD,IAAI,CAACsC,cAAc,EAAE;MACnB,IAAI,CAACR,YAAY,CAACS,KAAK,CAACnC,CAAC,CAAC,kCAAkC,CAAC,CAAC;MAC9D;IACF;IAEA,MAAMoC,MAAM,GAAG,MAAMtC,kBAAkB,CAAC,IAAI,CAACO,aAAa,CAACgC,QAAQ,CAAC;IACpE,IAAI,CAAChC,aAAa,CAACiC,kBAAkB,CAACF,MAAM,CAAC;IAE7C,IAAIA,MAAM,CAACG,MAAM,KAAK,CAAC,EAAE;MACvB,IAAI,CAACb,YAAY,CAACS,KAAK,CAACnC,CAAC,CAAC,iCAAiC,CAAC,CAAC;MAC7D;IACF;IAEA,OAAO,IAAI,CAACK,aAAa,CAACmC,KAAK,CAAC,CAAC,CAACC,KAAK,CAAEN,KAAK,IAAK;MACjD,IAAIA,KAAK,CAACO,IAAI,KAAK,iBAAiB,EAAE;QACpC,IAAI,CAAChB,YAAY,CAACS,KAAK,CAACnC,CAAC,CAAC,0CAA0C,CAAC,CAAC;MACxE;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEc2C,cAAc,GAAGnD,YAAY,CAAC,YAAY;IACxD,IAAI,CAACe,sBAAsB,GAAG,IAAI;IAClC,MAAM,IAAI,CAACF,aAAa,CAACuC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAACvC,aAAa,CAACwC,iBAAiB,CAAC,CAAC;IACtC,IAAI,CAACxC,aAAa,CAACK,KAAK,CAAC,CAAC;EAC5B,CAAC,CAAC;EAEcoC,qBAAqB,GAAIC,MAAW,IAAK;IACvD,IAAIA,MAAM,CAACZ,KAAK,EAAE;MAChB,IAAI,CAACT,YAAY,CAACS,KAAK,CAAC,mBAAmBY,MAAM,CAACZ,KAAK,EAAE,CAAC;MAC1D,IAAI,CAAC9B,aAAa,CAACwC,iBAAiB,CAAC,CAAC;MACtC,IAAI,CAACtC,sBAAsB,GAAG,KAAK;MACnC;IACF;IACA,IAAIwC,MAAM,CAACC,UAAU,IAAID,MAAM,CAACE,GAAG,EAAE;MACnC,IAAI,CAAC,IAAI,CAAC1C,sBAAsB,EAAE;QAChC,IAAI,CAACK,gBAAgB,CAACmC,MAAM,CAACE,GAAG,CAAC;MACnC;MACA,IAAI,CAAC1C,sBAAsB,GAAG,KAAK;IACrC;EACF,CAAC;EAEe2C,gBAAgB,GAAG5D,MAAM,CAAC;IACxCgC,MAAM,EAAE,IAAI,CAACjB,aAAa,CAACY,iBAAiB;IAC5CM,SAAS,EAAEA,CAAC4B,GAAW,EAAEjC,aAAa,MAAM;MAAEiC,GAAG;MAAEjC;IAAc,CAAC,CAAC;IACnES,MAAM,EAAEnC,YAAY,CAClB,OAAO;MAAE2D,GAAG;MAAEjC;IAAkE,CAAC,KAAK;MACpF,IAAI;QACF,MAAMkC,WAAW,GAAGlC,aAAa,KAAKf,kBAAkB,CAACkD,SAAS;QAElE,IAAID,WAAW,EAAE;UACf,OAAO,MAAM,IAAI,CAAC/C,aAAa,CAACiD,wBAAwB,CAAC,CAAC;QAC5D;QAEA,OAAO,IAAI,CAAChD,UAAU,CAACuB,GAAG,CAACsB,GAAG,CAAC;MACjC,CAAC,CAAC,OAAOhB,KAAK,EAAE;QACdoB,OAAO,CAACpB,KAAK,CAAC,iCAAiCA,KAAK,EAAE,CAAC;QACvD,IAAI,CAACT,YAAY,CAACS,KAAK,CAACnC,CAAC,CAAC,4BAA4B,CAAC,CAAC;QACxD,OAAOwD,SAAS;MAClB;IACF,CACF;EACF,CAAC,CAAC;EAEFC,WAAWA,CAAC;IAAEC,GAAG;IAAEhC,YAAY;IAAEiC;EAA+B,CAAC,EAAE;IACjE,IAAI,CAACD,GAAG,GAAGA,GAAG;IACd,IAAI,CAAChC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACiC,MAAM,GAAGA,MAAM;IAEpB,IAAI,CAACC,kBAAkB,CAAC,CAAC;IACzB,IAAI,CAACC,sBAAsB,CAAC,CAAC;EAC/B;EAEQ/B,uBAAuBA,CAACF,aAAwD,EAAE;IACxF,IAAI,CAACA,aAAa,EAAEkC,EAAE,IAAIlC,aAAa,EAAEmC,UAAU,EAAE;MACnDnC,aAAa,CAACmC,UAAU,CAACC,KAAK,CAAC,CAAC;IAClC;EACF;EAEQjC,mBAAmBA,CAACN,UAAkB,EAAE;IAC9C,IAAI,CAACpB,aAAa,CAACK,KAAK,CAAC,CAAC;IAC1B,IAAI,CAACA,KAAK,CAAC,CAAC;IACZ,IAAI,CAACJ,UAAU,CAAC2D,MAAM,CAACxC,UAAU,CAAC;EACpC;EAEA,MAAcyC,iBAAiBA,CAAC;IAAEC,GAAG;IAAE1C,UAAU;IAAE2C;EAAyB,CAAC,EAAE;IAC7E;IACA;IACA,MAAMC,QAAQ,GAAG,MAAMxE,qBAAqB,CAAC;MAC3CyE,YAAY,EAAEH,GAAG;MACjBC,UAAU;MACVG,QAAQ,EAAE9C;IACZ,CAAC,CAAC;IACF,MAAM;MAAE+C,WAAW;MAAET;IAAW,CAAC,GAAGhE,+BAA+B,CAACsE,QAAQ,EAAE,IAAI,CAACX,GAAG,CAAC;IAEvF,MAAMe,kBAAkB,GAAGD,WAAW,CAAC,CAAC,CACrCE,IAAI,CAAEC,IAAI,IAAK;MACd;MACA,IAAI,IAAI,CAACrE,UAAU,CAACuB,GAAG,CAACJ,UAAU,CAAC,EAAE;QACnC,IAAI,CAACnB,UAAU,CAACsE,MAAM,CAACnD,UAAU,EAAE;UAAEqC,EAAE,EAAEa,IAAI,CAACb;QAAG,CAAC,CAAC;MACrD;MACA,OAAOa,IAAI;IACb,CAAC,CAAC,CACDlC,KAAK,CAAEN,KAAK,IAAK;MAChB,IAAIA,KAAK,CAACO,IAAI,KAAK,eAAe,EAAE;MACpC,IAAI,CAACpC,UAAU,CAAC2D,MAAM,CAACxC,UAAU,CAAC;MAClC,IAAI,CAACf,KAAK,CAAC,CAAC;MACZ,IAAI,CAACgB,YAAY,CAACS,KAAK,CAACnC,CAAC,CAAC,4BAA4B,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEJ,MAAM6E,cAAyC,GAAG;MAChDT,UAAU;MACVK,kBAAkB;MAClBV,UAAU;MACVI;IACF,CAAC;IAED,IAAI,CAAC7D,UAAU,CAACwE,GAAG,CAACrD,UAAU,EAAEoD,cAAc,CAAC;IAC/C,IAAI,CAACpE,gBAAgB,CAACoE,cAAc,CAAC;IACrC,IAAI,CAACxE,aAAa,CAAC0E,6BAA6B,CAACF,cAAc,CAAC;IAEhE,OAAOJ,kBAAkB;EAC3B;EAEQb,kBAAkBA,CAAA,EAAG;IAC3BjE,MAAM,CAAC;MACLqF,KAAK,EAAE,IAAI,CAACpE,gBAAgB;MAC5BU,MAAM,EAAE;QACNG,UAAU,EAAE,IAAI,CAACZ,WAAW;QAC5BuD,UAAU,EAAE,IAAI,CAAC/D,aAAa,CAAC4E;MACjC,CAAC;MACDC,MAAM,EAAEA,CAAC;QAAEzD;MAAW,CAAC,EAAE0C,GAAG,KAAK,CAAC,CAACA,GAAG,IAAI,CAAC,CAAC1C,UAAU;MACtD0D,EAAE,EAAEA,CAAC;QAAE1D,UAAU;QAAE2C;MAAW,CAAC,EAAED,GAAG,MAAM;QAAE1C,UAAU;QAAE2C,UAAU;QAAED;MAAI,CAAC,CAAC;MAC1EiB,MAAM,EAAE5F,YAAY,CAAE6F,MAAoB,IAAK,IAAI,CAACnB,iBAAiB,CAACmB,MAAM,CAAC;IAC/E,CAAC,CAAC;EACJ;EAEQxB,sBAAsBA,CAAA,EAAG;IAC/BlE,MAAM,CAAC;MACL2B,MAAM,EAAE,IAAI,CAACT,WAAW;MACxBsE,EAAE,EAAG1D,UAAU,IAAK,IAAI,CAACnB,UAAU,CAACuB,GAAG,CAACJ,UAAU,CAAC;MACnD2D,MAAM,EAAE5F,YAAY,CAAEoC,aAAyC,IAAK;QAClE,IAAI,CAACA,aAAa,EAAE;UAClB,IAAI,CAAClB,KAAK,CAAC,CAAC;UACZ;QACF;QAEA,IAAI,CAACD,gBAAgB,CAACmB,aAAa,CAAC;MACtC,CAAC;IACH,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecord.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/components/VoiceRecord.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAc,MAAM,cAAc,CAAA;AAE/D,OAAO,KAAoB,MAAM,OAAO,CAAA;AAMxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAK7D,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,WAAW,qBAAsB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"VoiceRecord.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/components/VoiceRecord.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAc,MAAM,cAAc,CAAA;AAE/D,OAAO,KAAoB,MAAM,OAAO,CAAA;AAMxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAK7D,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,WAAW,qBAAsB,gBAAgB,sBAmC7D,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;
|
|
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;AAGlC,eAAO,MAAM,cAAc,OAAQ,MAAM,KAAG,MAK3C,CAAA;AAED,eAAO,MAAM,0BAA0B,wBAUtC,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,CAkC5B,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,CA8BhD,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":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAK7D,eAAO,MAAM,gBAAgB,UAAW,gBAAgB;;
|
|
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;;CAuDvD,CAAA"}
|
|
@@ -28,6 +28,7 @@ export declare class VoiceRecordModel {
|
|
|
28
28
|
readonly $currentKey: import("effector").StoreWritable<string>;
|
|
29
29
|
readonly $currentRecord: import("effector").StoreWritable<any>;
|
|
30
30
|
readonly $isButtonDisabled: import("effector").StoreWritable<boolean>;
|
|
31
|
+
readonly $isExpanded: import("effector").Store<boolean>;
|
|
31
32
|
readonly deleteCurrentRecording: import("effector").Effect<void | DeleteCurrentRecordingProps, void, Error>;
|
|
32
33
|
readonly initializeRecording: import("effector").Effect<void, void, Error>;
|
|
33
34
|
readonly stopAndDiscard: import("effector").Effect<void, void, Error>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecord.model.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAGhE,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,QAAQ,CAAA;IACb,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAQD,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,gBAAsB;IACnD,SAAgB,UAAU,yBAA+B;IACzD,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,mBAAmB,4CAAyB;IAC5D,SAAgB,gBAAgB,2CAAwB;IAExD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,wCAAyD;IAEvF,SAAgB,iBAAiB,4CAA2C;IAE5E,SAAgB,sBAAsB,6EAiBpC;IAEF,SAAgB,mBAAmB,+CAsBjC;IAEF,SAAgB,cAAc,+CAK5B;IAEF,SAAgB,qBAAqB,WAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecord.model.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAGhE,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,QAAQ,CAAA;IACb,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAQD,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,gBAAsB;IACnD,SAAgB,UAAU,yBAA+B;IACzD,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,mBAAmB,4CAAyB;IAC5D,SAAgB,gBAAgB,2CAAwB;IAExD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,wCAAyD;IAEvF,SAAgB,iBAAiB,4CAA2C;IAE5E,SAAgB,WAAW,oCAO1B;IAED,SAAgB,sBAAsB,6EAiBpC;IAEF,SAAgB,mBAAmB,+CAsBjC;IAEF,SAAgB,cAAc,+CAK5B;IAEF,SAAgB,qBAAqB,WAAY,GAAG,UAanD;IAED,SAAgB,gBAAgB,kFAoB9B;gBAEU,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,sBAAsB;IASjE,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,mBAAmB;YAMb,iBAAiB;IAuC/B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,sBAAsB;CAc/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecord.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/components/VoiceRecord.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAc,MAAM,cAAc,CAAA;AAE/D,OAAO,KAAoB,MAAM,OAAO,CAAA;AAMxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAK7D,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,WAAW,qBAAsB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"VoiceRecord.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/components/VoiceRecord.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAc,MAAM,cAAc,CAAA;AAE/D,OAAO,KAAoB,MAAM,OAAO,CAAA;AAMxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAK7D,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,WAAW,qBAAsB,gBAAgB,sBAmC7D,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;
|
|
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;AAGlC,eAAO,MAAM,cAAc,OAAQ,MAAM,KAAG,MAK3C,CAAA;AAED,eAAO,MAAM,0BAA0B,wBAUtC,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,CAkC5B,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,CA8BhD,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":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAK7D,eAAO,MAAM,gBAAgB,UAAW,gBAAgB;;
|
|
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;;CAuDvD,CAAA"}
|
|
@@ -28,6 +28,7 @@ export declare class VoiceRecordModel {
|
|
|
28
28
|
readonly $currentKey: import("effector").StoreWritable<string>;
|
|
29
29
|
readonly $currentRecord: import("effector").StoreWritable<any>;
|
|
30
30
|
readonly $isButtonDisabled: import("effector").StoreWritable<boolean>;
|
|
31
|
+
readonly $isExpanded: import("effector").Store<boolean>;
|
|
31
32
|
readonly deleteCurrentRecording: import("effector").Effect<void | DeleteCurrentRecordingProps, void, Error>;
|
|
32
33
|
readonly initializeRecording: import("effector").Effect<void, void, Error>;
|
|
33
34
|
readonly stopAndDiscard: import("effector").Effect<void, void, Error>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecord.model.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAGhE,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,QAAQ,CAAA;IACb,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAQD,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,gBAAsB;IACnD,SAAgB,UAAU,yBAA+B;IACzD,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,mBAAmB,4CAAyB;IAC5D,SAAgB,gBAAgB,2CAAwB;IAExD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,wCAAyD;IAEvF,SAAgB,iBAAiB,4CAA2C;IAE5E,SAAgB,sBAAsB,6EAiBpC;IAEF,SAAgB,mBAAmB,+CAsBjC;IAEF,SAAgB,cAAc,+CAK5B;IAEF,SAAgB,qBAAqB,WAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecord.model.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAGhE,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,QAAQ,CAAA;IACb,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAQD,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,gBAAsB;IACnD,SAAgB,UAAU,yBAA+B;IACzD,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,mBAAmB,4CAAyB;IAC5D,SAAgB,gBAAgB,2CAAwB;IAExD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,wCAAyD;IAEvF,SAAgB,iBAAiB,4CAA2C;IAE5E,SAAgB,WAAW,oCAO1B;IAED,SAAgB,sBAAsB,6EAiBpC;IAEF,SAAgB,mBAAmB,+CAsBjC;IAEF,SAAgB,cAAc,+CAK5B;IAEF,SAAgB,qBAAqB,WAAY,GAAG,UAanD;IAED,SAAgB,gBAAgB,kFAoB9B;gBAEU,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,sBAAsB;IASjE,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,mBAAmB;YAMb,iBAAiB;IAuC/B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,sBAAsB;CAc/B"}
|
package/package.json
CHANGED
|
@@ -18,14 +18,7 @@ type VoiceRecordProps = {
|
|
|
18
18
|
|
|
19
19
|
export const VoiceRecord = ({ style, model }: VoiceRecordProps) => {
|
|
20
20
|
const { recorderState } = useVoiceRecorder(model)
|
|
21
|
-
const [
|
|
22
|
-
model.recorderModel.$voiceRecordState,
|
|
23
|
-
model.$currentRecord,
|
|
24
|
-
])
|
|
25
|
-
|
|
26
|
-
const isDisabled = useUnit(model.$isButtonDisabled)
|
|
27
|
-
|
|
28
|
-
const isExpanded = !!(isRecording || currentRecord)
|
|
21
|
+
const [isExpanded, isDisabled] = useUnit([model.$isExpanded, model.$isButtonDisabled])
|
|
29
22
|
|
|
30
23
|
const { containerAnimatedStyle } = useVoiceRecorderAnimation(isExpanded)
|
|
31
24
|
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
requestRecordingPermissionsAsync,
|
|
8
8
|
} from 'expo-audio'
|
|
9
9
|
import { AudioApi } from './types'
|
|
10
|
+
import { VOICE_RECORDER_MAX_DURATION_MS } from './constants'
|
|
10
11
|
|
|
11
12
|
export const formatDuration = (ms: number): string => {
|
|
12
13
|
const totalSeconds = Math.floor(ms / 1000)
|
|
@@ -121,7 +122,7 @@ export const generateAudioFormData = async ({
|
|
|
121
122
|
//todo: add web or ios prefix to filename
|
|
122
123
|
|
|
123
124
|
const formData = new FormData()
|
|
124
|
-
const duration = durationMs
|
|
125
|
+
const duration = Math.min(durationMs || 100, VOICE_RECORDER_MAX_DURATION_MS).toString()
|
|
125
126
|
|
|
126
127
|
if (IS_WEB) {
|
|
127
128
|
const response = await fetch(audioFileUri)
|
|
@@ -14,6 +14,7 @@ export const useVoiceRecorder = (model: VoiceRecordModel) => {
|
|
|
14
14
|
recorderState.durationMillis >= VOICE_RECORDER_MAX_DURATION_MS &&
|
|
15
15
|
recorderState.isRecording
|
|
16
16
|
) {
|
|
17
|
+
console.log('HERE')
|
|
17
18
|
model.recorderModel.stop()
|
|
18
19
|
}
|
|
19
20
|
// Track the last known duration while recording (for old browsers where getAudioDurationMs returns Infinity)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { attach, createEffect, createEvent, createStore, restore, sample } from 'effector'
|
|
1
|
+
import { attach, combine, createEffect, createEvent, createStore, restore, sample } from 'effector'
|
|
2
2
|
import {
|
|
3
3
|
ensureRecordingPermissions,
|
|
4
4
|
generateAudioFormData,
|
|
@@ -55,6 +55,15 @@ export class VoiceRecordModel {
|
|
|
55
55
|
|
|
56
56
|
public readonly $isButtonDisabled = restore(this.setIsButtonDisabled, false)
|
|
57
57
|
|
|
58
|
+
public readonly $isExpanded = combine(
|
|
59
|
+
this.recorderModel.$voiceRecordState,
|
|
60
|
+
this.$currentRecord,
|
|
61
|
+
(recorderState, currentRecord) => {
|
|
62
|
+
if (recorderState !== VoiceRecorderState.IDLE || currentRecord) return true
|
|
63
|
+
return false
|
|
64
|
+
},
|
|
65
|
+
)
|
|
66
|
+
|
|
58
67
|
public readonly deleteCurrentRecording = attach({
|
|
59
68
|
source: this.$currentKey,
|
|
60
69
|
mapParams: (props: DeleteCurrentRecordingProps | void, currentKey) => ({
|
|
@@ -106,7 +115,6 @@ export class VoiceRecordModel {
|
|
|
106
115
|
})
|
|
107
116
|
|
|
108
117
|
public readonly recordingStatusUpdate = (status: any) => {
|
|
109
|
-
console.log('status: ', status)
|
|
110
118
|
if (status.error) {
|
|
111
119
|
this.notification.error(`Recorder error: ${status.error}`)
|
|
112
120
|
this.recorderModel.clearStopResolver()
|