@magmamath/students-features 0.9.107-rc.50 → 0.9.107-rc.52
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/voice/helpers.js +41 -67
- package/dist/commonjs/features/voice/helpers.js.map +1 -1
- package/dist/commonjs/features/voice/playing/components/VoicePlayButton.js +16 -13
- package/dist/commonjs/features/voice/playing/components/VoicePlayButton.js.map +1 -1
- package/dist/commonjs/features/voice/playing/components/VoiceTranscriptionsDropdown.js +121 -110
- package/dist/commonjs/features/voice/playing/components/VoiceTranscriptionsDropdown.js.map +1 -1
- package/dist/commonjs/features/voice/playing/components/VoiceTranscriptionsDropdownItem.js +37 -14
- package/dist/commonjs/features/voice/playing/components/VoiceTranscriptionsDropdownItem.js.map +1 -1
- package/dist/commonjs/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.js +12 -48
- package/dist/commonjs/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.js.map +1 -1
- package/dist/commonjs/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.js +34 -0
- package/dist/commonjs/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.js.map +1 -0
- package/dist/commonjs/features/voice/playing/model/VoicePlayer.model.js +4 -22
- package/dist/commonjs/features/voice/playing/model/VoicePlayer.model.js.map +1 -1
- package/dist/commonjs/features/voice/playing/model/VoiceTranscriptionsDropdown.model.js +0 -16
- package/dist/commonjs/features/voice/playing/model/VoiceTranscriptionsDropdown.model.js.map +1 -1
- package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js +1 -1
- package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
- package/dist/commonjs/features/voice/recording/modal/ModalFooterButtons.js +1 -1
- package/dist/commonjs/features/voice/recording/modal/ModalFooterButtons.js.map +1 -1
- package/dist/commonjs/features/voice/recording/modal/VoiceRecordDeleteModal.js +3 -3
- package/dist/commonjs/features/voice/recording/modal/VoiceRecordDeleteModal.js.map +1 -1
- package/dist/commonjs/features/voice/recording/modal/VoiceRecordUndoModal.js +3 -3
- package/dist/commonjs/features/voice/recording/modal/VoiceRecordUndoModal.js.map +1 -1
- package/dist/commonjs/features/voice/recording/model/VoiceRecord.model.js +6 -6
- package/dist/commonjs/features/voice/recording/model/VoiceRecord.model.js.map +1 -1
- package/dist/commonjs/shared/translation/localization/ca.json +5 -2
- package/dist/commonjs/shared/translation/localization/de.json +5 -2
- package/dist/commonjs/shared/translation/localization/en.json +5 -2
- package/dist/commonjs/shared/translation/localization/gb.json +5 -2
- package/dist/commonjs/shared/translation/localization/sct.json +5 -2
- package/dist/commonjs/shared/translation/localization/sw.json +5 -2
- package/dist/module/features/voice/helpers.js +39 -67
- package/dist/module/features/voice/helpers.js.map +1 -1
- package/dist/module/features/voice/playing/components/VoicePlayButton.js +17 -12
- package/dist/module/features/voice/playing/components/VoicePlayButton.js.map +1 -1
- package/dist/module/features/voice/playing/components/VoiceTranscriptionsDropdown.js +122 -110
- package/dist/module/features/voice/playing/components/VoiceTranscriptionsDropdown.js.map +1 -1
- package/dist/module/features/voice/playing/components/VoiceTranscriptionsDropdownItem.js +39 -16
- package/dist/module/features/voice/playing/components/VoiceTranscriptionsDropdownItem.js.map +1 -1
- package/dist/module/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.js +13 -48
- package/dist/module/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.js.map +1 -1
- package/dist/module/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.js +29 -0
- package/dist/module/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.js.map +1 -0
- package/dist/module/features/voice/playing/model/VoicePlayer.model.js +4 -22
- package/dist/module/features/voice/playing/model/VoicePlayer.model.js.map +1 -1
- package/dist/module/features/voice/playing/model/VoiceTranscriptionsDropdown.model.js +0 -16
- package/dist/module/features/voice/playing/model/VoiceTranscriptionsDropdown.model.js.map +1 -1
- package/dist/module/features/voice/recording/components/VoiceRecordButton.js +1 -1
- package/dist/module/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
- package/dist/module/features/voice/recording/modal/ModalFooterButtons.js +1 -1
- package/dist/module/features/voice/recording/modal/ModalFooterButtons.js.map +1 -1
- package/dist/module/features/voice/recording/modal/VoiceRecordDeleteModal.js +3 -3
- package/dist/module/features/voice/recording/modal/VoiceRecordDeleteModal.js.map +1 -1
- package/dist/module/features/voice/recording/modal/VoiceRecordUndoModal.js +3 -3
- package/dist/module/features/voice/recording/modal/VoiceRecordUndoModal.js.map +1 -1
- package/dist/module/features/voice/recording/model/VoiceRecord.model.js +6 -6
- package/dist/module/features/voice/recording/model/VoiceRecord.model.js.map +1 -1
- package/dist/module/shared/translation/localization/ca.json +5 -2
- package/dist/module/shared/translation/localization/de.json +5 -2
- package/dist/module/shared/translation/localization/en.json +5 -2
- package/dist/module/shared/translation/localization/gb.json +5 -2
- package/dist/module/shared/translation/localization/sct.json +5 -2
- package/dist/module/shared/translation/localization/sw.json +5 -2
- package/dist/typescript/commonjs/features/voice/helpers.d.ts +5 -1
- package/dist/typescript/commonjs/features/voice/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/playing/components/VoicePlayButton.d.ts +3 -3
- package/dist/typescript/commonjs/features/voice/playing/components/VoicePlayButton.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/playing/components/VoiceTranscriptionsDropdown.d.ts +4 -1
- package/dist/typescript/commonjs/features/voice/playing/components/VoiceTranscriptionsDropdown.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/playing/components/VoiceTranscriptionsDropdownItem.d.ts +2 -2
- package/dist/typescript/commonjs/features/voice/playing/components/VoiceTranscriptionsDropdownItem.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.d.ts +2 -14
- package/dist/typescript/commonjs/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.d.ts +11 -0
- package/dist/typescript/commonjs/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/voice/playing/model/VoicePlayer.model.d.ts +1 -1
- package/dist/typescript/commonjs/features/voice/playing/model/VoicePlayer.model.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/voice/playing/model/VoiceTranscriptionsDropdown.model.d.ts +0 -5
- package/dist/typescript/commonjs/features/voice/playing/model/VoiceTranscriptionsDropdown.model.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/constants.d.ts +24 -6
- package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/model.d.ts +8 -2
- package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/helpers.d.ts +5 -1
- package/dist/typescript/module/features/voice/helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/playing/components/VoicePlayButton.d.ts +3 -3
- package/dist/typescript/module/features/voice/playing/components/VoicePlayButton.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/playing/components/VoiceTranscriptionsDropdown.d.ts +4 -1
- package/dist/typescript/module/features/voice/playing/components/VoiceTranscriptionsDropdown.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/playing/components/VoiceTranscriptionsDropdownItem.d.ts +2 -2
- package/dist/typescript/module/features/voice/playing/components/VoiceTranscriptionsDropdownItem.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.d.ts +2 -14
- package/dist/typescript/module/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.d.ts +11 -0
- package/dist/typescript/module/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.d.ts.map +1 -0
- package/dist/typescript/module/features/voice/playing/model/VoicePlayer.model.d.ts +1 -1
- package/dist/typescript/module/features/voice/playing/model/VoicePlayer.model.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/playing/model/VoiceTranscriptionsDropdown.model.d.ts +0 -5
- package/dist/typescript/module/features/voice/playing/model/VoiceTranscriptionsDropdown.model.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/constants.d.ts +24 -6
- package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/model.d.ts +8 -2
- package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/voice/helpers.ts +47 -71
- package/src/features/voice/playing/components/VoicePlayButton.tsx +19 -12
- package/src/features/voice/playing/components/VoiceTranscriptionsDropdown.tsx +149 -118
- package/src/features/voice/playing/components/VoiceTranscriptionsDropdownItem.tsx +59 -22
- package/src/features/voice/playing/hooks/useVoiceTranscriptionsDropdown.ts +12 -60
- package/src/features/voice/playing/hooks/useVoiceTranscriptionsDropdownItemAnimation.ts +40 -0
- package/src/features/voice/playing/model/VoicePlayer.model.ts +5 -23
- package/src/features/voice/playing/model/VoiceTranscriptionsDropdown.model.ts +0 -20
- package/src/features/voice/recording/components/VoiceRecordButton.tsx +1 -1
- package/src/features/voice/recording/modal/ModalFooterButtons.tsx +1 -1
- package/src/features/voice/recording/modal/VoiceRecordDeleteModal.tsx +3 -3
- package/src/features/voice/recording/modal/VoiceRecordUndoModal.tsx +3 -3
- package/src/features/voice/recording/model/VoiceRecord.model.ts +6 -6
- package/src/shared/translation/localization/ca.json +5 -2
- package/src/shared/translation/localization/de.json +5 -2
- package/src/shared/translation/localization/en.json +5 -2
- package/src/shared/translation/localization/gb.json +5 -2
- package/src/shared/translation/localization/sct.json +5 -2
- package/src/shared/translation/localization/sw.json +5 -2
|
@@ -6,7 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.uploadAudioFileRequestGenerator = exports.getAvailableInputs = exports.getAudioDurationMs = exports.generateAudioFormData = exports.formatDuration = exports.ensureRecordingPermissions = exports.downloadAudioFileRequestGenerator = exports.addAudioInputsListenerWeb = void 0;
|
|
7
7
|
var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
8
8
|
var _expoAudio = require("expo-audio");
|
|
9
|
+
var FileSystem = _interopRequireWildcard(require("expo-file-system"));
|
|
9
10
|
var _constants = require("./constants.js");
|
|
11
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
10
13
|
const formatDuration = ms => {
|
|
11
14
|
const totalSeconds = Math.floor(ms / 1000);
|
|
12
15
|
const minutes = Math.floor(totalSeconds / 60);
|
|
@@ -137,77 +140,48 @@ const uploadAudioFileRequestGenerator = (audioFileFormData, api) => {
|
|
|
137
140
|
};
|
|
138
141
|
};
|
|
139
142
|
exports.uploadAudioFileRequestGenerator = uploadAudioFileRequestGenerator;
|
|
143
|
+
const downloadAudioMobile = async (response, audioFileId) => {
|
|
144
|
+
const {
|
|
145
|
+
config
|
|
146
|
+
} = response;
|
|
147
|
+
const url = config.url.startsWith('http') ? config.url : `${config.baseURL?.replace(/\/$/, '')}/${config.url.replace(/^\//, '')}`;
|
|
148
|
+
const fileName = `audio-${audioFileId}.mp4`;
|
|
149
|
+
const fileUri = `${FileSystem.cacheDirectory}${fileName}`;
|
|
150
|
+
const authHeader = config.headers?.Authorization || config.headers?.authorization;
|
|
151
|
+
const downloadResult = await FileSystem.downloadAsync(url, fileUri, authHeader ? {
|
|
152
|
+
headers: {
|
|
153
|
+
Authorization: authHeader
|
|
154
|
+
}
|
|
155
|
+
} : undefined);
|
|
156
|
+
if (downloadResult.status !== 200) {
|
|
157
|
+
throw new Error(`Failed to download audio file. Status: ${downloadResult.status}`);
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
uri: downloadResult.uri,
|
|
161
|
+
fileName,
|
|
162
|
+
fileType: 'audio/mp4'
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
const downloadAudioWeb = (response, audioFileId) => {
|
|
166
|
+
const blob = response.data;
|
|
167
|
+
if (!(blob instanceof Blob)) {
|
|
168
|
+
throw new Error('Unable to extract audio blob from response');
|
|
169
|
+
}
|
|
170
|
+
return {
|
|
171
|
+
uri: URL.createObjectURL(blob),
|
|
172
|
+
fileName: `audio-${audioFileId}.mp4`,
|
|
173
|
+
fileType: blob.type || 'audio/mp4'
|
|
174
|
+
};
|
|
175
|
+
};
|
|
140
176
|
const downloadAudioFileRequestGenerator = (audioFileId, api) => {
|
|
141
177
|
const controller = new AbortController();
|
|
142
178
|
return {
|
|
143
179
|
downloadAudio: async () => {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
// Case 1: API returns a string URL directly
|
|
151
|
-
if (typeof response === 'string') {
|
|
152
|
-
return {
|
|
153
|
-
uri: response,
|
|
154
|
-
fileName: `audio-${audioFileId}.mp4`,
|
|
155
|
-
fileType: 'audio/mp4'
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
// Case 2: API returns a pre-formatted object with uri, fileName, fileType
|
|
160
|
-
if (response && typeof response === 'object' && 'uri' in response && response.uri) {
|
|
161
|
-
return response;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
// Case 3: API returns axios response with blob data (responseType: 'blob')
|
|
165
|
-
const rawResponse = response;
|
|
166
|
-
if (!_reactNativeUi.IS_WEB) {
|
|
167
|
-
throw new Error('Mobile audio download not yet implemented');
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
// Extract blob from axios response
|
|
171
|
-
let blob = null;
|
|
172
|
-
if (rawResponse.data instanceof Blob) {
|
|
173
|
-
blob = rawResponse.data;
|
|
174
|
-
} else if (rawResponse instanceof Blob) {
|
|
175
|
-
blob = rawResponse;
|
|
176
|
-
} else if (rawResponse.data) {
|
|
177
|
-
// Fallback: try to create blob from data
|
|
178
|
-
const contentType = rawResponse.headers?.['content-type'] || 'audio/mp4';
|
|
179
|
-
blob = new Blob([rawResponse.data], {
|
|
180
|
-
type: contentType
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
if (!blob) {
|
|
184
|
-
throw new Error('Unable to extract audio blob from response');
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
// Create blob URL
|
|
188
|
-
const blobUrl = URL.createObjectURL(blob);
|
|
189
|
-
|
|
190
|
-
// Extract file metadata
|
|
191
|
-
const contentType = blob.type || rawResponse.headers?.['content-type'] || 'audio/mp4';
|
|
192
|
-
const extension = contentType.includes('webm') ? 'webm' : contentType.includes('mp4') ? 'mp4' : 'm4a';
|
|
193
|
-
let fileName = `audio-${audioFileId}.${extension}`;
|
|
194
|
-
|
|
195
|
-
// Try to extract filename from content-disposition header
|
|
196
|
-
if (rawResponse.headers?.['content-disposition']) {
|
|
197
|
-
const match = rawResponse.headers['content-disposition'].match(/filename="?([^"]+)"?/);
|
|
198
|
-
if (match) {
|
|
199
|
-
fileName = match[1];
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
return {
|
|
203
|
-
uri: blobUrl,
|
|
204
|
-
fileName,
|
|
205
|
-
fileType: contentType
|
|
206
|
-
};
|
|
207
|
-
} catch (error) {
|
|
208
|
-
console.error('[Audio Download] Failed:', error);
|
|
209
|
-
throw error;
|
|
210
|
-
}
|
|
180
|
+
const response = await api.downloadAudioFile(audioFileId, {
|
|
181
|
+
//@ts-ignore
|
|
182
|
+
signal: controller.signal
|
|
183
|
+
});
|
|
184
|
+
return _reactNativeUi.IS_WEB ? downloadAudioWeb(response, audioFileId) : downloadAudioMobile(response, audioFileId);
|
|
211
185
|
},
|
|
212
186
|
controller
|
|
213
187
|
};
|
|
@@ -1 +1 @@
|
|
|
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","
|
|
1
|
+
{"version":3,"names":["_reactNativeUi","require","_expoAudio","FileSystem","_interopRequireWildcard","_constants","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","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","downloadAudioMobile","audioFileId","config","url","startsWith","baseURL","cacheDirectory","authHeader","headers","Authorization","authorization","downloadResult","downloadAsync","fileType","downloadAudioWeb","data","Blob","URL","createObjectURL","downloadAudioFileRequestGenerator","downloadAudio","downloadAudioFile"],"sourceRoot":"../../../../src","sources":["features/voice/helpers.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,16 +4,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.PlayButton = void 0;
|
|
7
|
-
var
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
8
|
var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
10
9
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
function
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
+
const PlayButton = exports.PlayButton = /*#__PURE__*/(0, _react.memo)(({
|
|
13
|
+
status,
|
|
14
|
+
onPress
|
|
16
15
|
}) => {
|
|
16
|
+
const getIcon = () => {
|
|
17
|
+
if (status === 'pause') return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.PlayIcon, {});
|
|
18
|
+
if (status === 'playing') return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.PauseIcon, {});
|
|
19
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.SpeakerIcon, {});
|
|
20
|
+
};
|
|
17
21
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Button, {
|
|
18
22
|
onPress: onPress,
|
|
19
23
|
style: {
|
|
@@ -24,11 +28,10 @@ const PlayButton = ({
|
|
|
24
28
|
},
|
|
25
29
|
variant: _reactNativeUi.ButtonVariant.SECONDARY,
|
|
26
30
|
size: _reactNativeUi.ButtonSize.SMALL,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
31
|
+
colorScheme: _reactNativeUi.ButtonColor.BLUE,
|
|
32
|
+
icon: getIcon(),
|
|
33
|
+
isLoading: status === 'loading',
|
|
34
|
+
isActive: status === 'playing'
|
|
30
35
|
});
|
|
31
|
-
};
|
|
32
|
-
exports.PlayButton = PlayButton;
|
|
33
|
-
const styles = _reactNative.StyleSheet.create({});
|
|
36
|
+
});
|
|
34
37
|
//# sourceMappingURL=VoicePlayButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeUi","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PlayButton","exports","memo","status","onPress","getIcon","jsx","PlayIcon","PauseIcon","SpeakerIcon","Button","style","button","width","height","variant","ButtonVariant","SECONDARY","size","ButtonSize","SMALL","colorScheme","ButtonColor","BLUE","icon","isLoading","isActive"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/components/VoicePlayButton.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAA2F,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,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,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAYpF,MAAMW,UAAU,GAAAC,OAAA,CAAAD,UAAA,gBAAG,IAAAE,WAAI,EAAC,CAAC;EAAEC,MAAM;EAAEC;AAAyB,CAAC,KAAK;EACvE,MAAMC,OAAO,GAAGA,CAAA,KAAM;IACpB,IAAIF,MAAM,KAAK,OAAO,EAAE,oBAAO,IAAAxB,WAAA,CAAA2B,GAAA,EAAC5B,cAAA,CAAA6B,QAAQ,IAAE,CAAC;IAC3C,IAAIJ,MAAM,KAAK,SAAS,EAAE,oBAAO,IAAAxB,WAAA,CAAA2B,GAAA,EAAC5B,cAAA,CAAA8B,SAAS,IAAE,CAAC;IAC9C,oBAAO,IAAA7B,WAAA,CAAA2B,GAAA,EAAC5B,cAAA,CAAA+B,WAAW,IAAE,CAAC;EACxB,CAAC;EAED,oBACE,IAAA9B,WAAA,CAAA2B,GAAA,EAAC5B,cAAA,CAAAgC,MAAM;IACLN,OAAO,EAAEA,OAAQ;IACjBO,KAAK,EAAE;MACLC,MAAM,EAAE;QACNC,KAAK,EAAE,EAAE;QACTC,MAAM,EAAE;MACV;IACF,CAAE;IACFC,OAAO,EAAEC,4BAAa,CAACC,SAAU;IACjCC,IAAI,EAAEC,yBAAU,CAACC,KAAM;IACvBC,WAAW,EAAEC,0BAAW,CAACC,IAAK;IAC9BC,IAAI,EAAEnB,OAAO,CAAC,CAAE;IAChBoB,SAAS,EAAEtB,MAAM,KAAK,SAAU;IAChCuB,QAAQ,EAAEvB,MAAM,KAAK;EAAU,CAChC,CAAC;AAEN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -8,113 +8,127 @@ var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
|
8
8
|
var _effectorReact = require("effector-react");
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _reactNative = require("react-native");
|
|
11
|
-
var _reactNativeReanimated =
|
|
11
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
12
12
|
var _useVoicePlayer = require("../hooks/useVoicePlayer.js");
|
|
13
13
|
var _useVoiceTranscriptionsDropdown = require("../hooks/useVoiceTranscriptionsDropdown.js");
|
|
14
14
|
var _VoicePlayButton = require("./VoicePlayButton.js");
|
|
15
15
|
var _VoiceTranscriptionsDropdownItem = require("./VoiceTranscriptionsDropdownItem.js");
|
|
16
16
|
var _constants = require("../../constants.js");
|
|
17
|
+
var _index = require("../../../../shared/translation/index.js");
|
|
17
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
20
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
21
|
-
const
|
|
21
|
+
const AnimatedTouchableOpacity = _reactNativeReanimated.default.createAnimatedComponent(_reactNative.TouchableOpacity);
|
|
22
|
+
const getActiveAttempt = (attemptOffset, attemptsCount) => {
|
|
23
|
+
if (attemptOffset === undefined || attemptsCount === undefined) return null;
|
|
24
|
+
return attemptsCount - attemptOffset;
|
|
25
|
+
};
|
|
26
|
+
const getButtonStatus = (audioLoading, activeAttempt, currentAttempt, isPlaying) => {
|
|
27
|
+
if (audioLoading) return 'loading';
|
|
28
|
+
if (activeAttempt === null) return 'idle';
|
|
29
|
+
if (currentAttempt === activeAttempt) {
|
|
30
|
+
return isPlaying ? 'playing' : 'pause';
|
|
31
|
+
}
|
|
32
|
+
return 'idle';
|
|
33
|
+
};
|
|
22
34
|
const VoiceTranscriptionsDropdown = ({
|
|
23
35
|
style,
|
|
24
36
|
model,
|
|
25
|
-
audioIds
|
|
37
|
+
audioIds,
|
|
38
|
+
attemptOffset,
|
|
39
|
+
onAttemptOffsetChange,
|
|
40
|
+
attemptsCount
|
|
26
41
|
}) => {
|
|
27
42
|
const scrollRef = (0, _react.useRef)(null);
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
43
|
+
const prevActiveAttemptRef = (0, _react.useRef)(null);
|
|
44
|
+
const t = (0, _index.useText)();
|
|
45
|
+
(0, _useVoicePlayer.useVoicePlayer)(model);
|
|
46
|
+
const [currentAttempt, audioLoading, transcriptsLoaded, isPlaying] = (0, _effectorReact.useUnit)([model.$currentAttempt, model.$audioLoading, model.$transcriptsLoaded, model.$isPlaying]);
|
|
47
|
+
const [attempts, setAttempts] = (0, _react.useState)(model.getAllAttempts());
|
|
48
|
+
const activeAttempt = getActiveAttempt(attemptOffset, attemptsCount);
|
|
31
49
|
const {
|
|
32
|
-
|
|
33
|
-
|
|
50
|
+
listAnimatedStyle,
|
|
51
|
+
iconAnimatedStyle,
|
|
52
|
+
onListLayout
|
|
53
|
+
} = (0, _useVoiceTranscriptionsDropdown.useVoiceTranscriptionsDropdown)(model.dropdown);
|
|
54
|
+
const buttonStatus = getButtonStatus(audioLoading, activeAttempt, currentAttempt, isPlaying);
|
|
55
|
+
|
|
56
|
+
// Check if active attempt has transcription
|
|
57
|
+
const hasActiveTranscript = activeAttempt !== null && audioIds[activeAttempt] !== undefined && !!model.getTranscript(activeAttempt);
|
|
58
|
+
const scrollToAttempt = (0, _react.useCallback)(attemptNumber => {
|
|
59
|
+
const index = attempts.findIndex(item => item.attemptNumber === attemptNumber);
|
|
60
|
+
if (index !== -1) {
|
|
61
|
+
scrollRef.current?.scrollToIndex({
|
|
62
|
+
index,
|
|
63
|
+
animated: true,
|
|
64
|
+
viewPosition: 0
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}, [attempts]);
|
|
68
|
+
const handleItemToggle = (0, _react.useCallback)(attempt => {
|
|
69
|
+
if (onAttemptOffsetChange && attemptsCount !== undefined) {
|
|
70
|
+
onAttemptOffsetChange(attemptsCount - attempt);
|
|
71
|
+
}
|
|
72
|
+
}, [onAttemptOffsetChange, attemptsCount]);
|
|
73
|
+
const handlePlayPress = (0, _react.useCallback)(() => {
|
|
74
|
+
if (activeAttempt) {
|
|
75
|
+
model.togglePlayPause(activeAttempt);
|
|
76
|
+
}
|
|
77
|
+
}, [model, activeAttempt]);
|
|
78
|
+
const handleScrollToIndexFailed = (0, _react.useCallback)(info => {
|
|
79
|
+
setTimeout(() => {
|
|
80
|
+
scrollRef.current?.scrollToIndex({
|
|
81
|
+
index: info.index,
|
|
82
|
+
animated: true,
|
|
83
|
+
viewPosition: 0
|
|
84
|
+
});
|
|
85
|
+
}, 100);
|
|
86
|
+
}, []);
|
|
34
87
|
|
|
35
|
-
// Initialize model with
|
|
88
|
+
// Initialize model with audio IDs
|
|
36
89
|
(0, _react.useEffect)(() => {
|
|
37
90
|
if (audioIds && Object.keys(audioIds).length > 0) {
|
|
38
91
|
model.initializeWithAudioIds(audioIds);
|
|
39
92
|
}
|
|
40
|
-
|
|
41
|
-
// Cleanup on unmount
|
|
42
|
-
return () => {
|
|
43
|
-
model.cleanup();
|
|
44
|
-
};
|
|
93
|
+
return () => model.cleanup();
|
|
45
94
|
}, [model, audioIds]);
|
|
46
95
|
|
|
47
|
-
//
|
|
48
|
-
const currentAttempt = (0, _effectorReact.useUnit)(model.$currentAttempt);
|
|
49
|
-
const audioLoading = (0, _effectorReact.useUnit)(model.$audioLoading);
|
|
50
|
-
const transcriptsLoaded = (0, _effectorReact.useUnit)(model.$transcriptsLoaded);
|
|
51
|
-
const isPlaying = (0, _effectorReact.useUnit)(model.$isPlaying);
|
|
52
|
-
|
|
53
|
-
// Get all attempts from the model
|
|
54
|
-
const [attempts, setAttempts] = (0, _react.useState)(model.getAllAttempts());
|
|
55
|
-
|
|
56
|
-
// Update attempts when transcripts or audio loading state changes
|
|
96
|
+
// Update attempts when state changes
|
|
57
97
|
(0, _react.useEffect)(() => {
|
|
58
98
|
setAttempts(model.getAllAttempts());
|
|
59
99
|
}, [transcriptsLoaded, audioLoading, currentAttempt, isPlaying, model]);
|
|
60
|
-
const latestAttempt = attempts.length > 0 ? attempts[attempts.length - 1].attemptNumber : 1;
|
|
61
100
|
|
|
62
|
-
//
|
|
101
|
+
// Handle active attempt changes: scroll, stop audio, collapse if no transcript
|
|
63
102
|
(0, _react.useEffect)(() => {
|
|
64
|
-
if (
|
|
65
|
-
|
|
103
|
+
if (activeAttempt !== null) {
|
|
104
|
+
scrollToAttempt(activeAttempt);
|
|
66
105
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
listAnimatedStyle,
|
|
73
|
-
iconAnimatedStyle,
|
|
74
|
-
onListLayout,
|
|
75
|
-
isExpanded,
|
|
76
|
-
expandedItem
|
|
77
|
-
} = (0, _useVoiceTranscriptionsDropdown.useVoiceTranscriptionsDropdown)(model.dropdown);
|
|
78
|
-
(0, _react.useEffect)(() => {
|
|
79
|
-
if (isExpanded && !hasScrolledRef.current && scrollRef.current?.scrollToEnd) {
|
|
80
|
-
setTimeout(() => {
|
|
81
|
-
scrollRef.current?.scrollToEnd({
|
|
82
|
-
animated: true
|
|
83
|
-
});
|
|
84
|
-
hasScrolledRef.current = true;
|
|
85
|
-
}, 350);
|
|
106
|
+
if (prevActiveAttemptRef.current !== activeAttempt) {
|
|
107
|
+
model.stopAudio();
|
|
108
|
+
if (!hasActiveTranscript) {
|
|
109
|
+
model.dropdown.setExpanded(false);
|
|
110
|
+
}
|
|
86
111
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
const index = attempts.findIndex(item => item.attemptNumber === attemptNumber);
|
|
90
|
-
if (index !== -1 && scrollRef.current?.scrollToIndex) {
|
|
91
|
-
scrollRef.current?.scrollToIndex({
|
|
92
|
-
index,
|
|
93
|
-
animated: true,
|
|
94
|
-
viewPosition: 0
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
}, [attempts, scrollRef.current]);
|
|
112
|
+
prevActiveAttemptRef.current = activeAttempt;
|
|
113
|
+
}, [activeAttempt, hasActiveTranscript, scrollToAttempt, model]);
|
|
98
114
|
(0, _react.useEffect)(() => {
|
|
99
|
-
|
|
100
|
-
setTimeout(() => {
|
|
101
|
-
const index = attempts.findIndex(item => item.attemptNumber === latestAttempt);
|
|
102
|
-
if (index !== -1) {
|
|
103
|
-
scrollRef.current?.scrollToIndex({
|
|
104
|
-
index,
|
|
105
|
-
animated: true,
|
|
106
|
-
viewPosition: 0
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
}, 600);
|
|
110
|
-
}
|
|
111
|
-
}, [expandedItem, latestAttempt, isExpanded, attempts]);
|
|
112
|
-
const handleItemToggle = (0, _react.useCallback)(attempt => {
|
|
113
|
-
toggleItem(attempt);
|
|
114
|
-
}, [toggleItem]);
|
|
115
|
-
const handlePlayPress = (0, _react.useCallback)(attemptNumber => {
|
|
116
|
-
model.togglePlayPause(attemptNumber);
|
|
115
|
+
model.loadAllTranscripts();
|
|
117
116
|
}, [model]);
|
|
117
|
+
const renderItem = (0, _react.useCallback)(({
|
|
118
|
+
item
|
|
119
|
+
}) => {
|
|
120
|
+
const isLoading = model.isTranscriptLoading(item.attemptNumber);
|
|
121
|
+
const transcript = model.getTranscript(item.attemptNumber);
|
|
122
|
+
const isActive = activeAttempt === item.attemptNumber;
|
|
123
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_VoiceTranscriptionsDropdownItem.VoiceTranscriptionsDropdownItem, {
|
|
124
|
+
isLoading: isActive && isLoading,
|
|
125
|
+
attempt: item.attemptNumber,
|
|
126
|
+
content: transcript || t('voice.transcriptNotAvailable'),
|
|
127
|
+
isActive: isActive,
|
|
128
|
+
onToggle: handleItemToggle,
|
|
129
|
+
scrollToAttempt: scrollToAttempt
|
|
130
|
+
});
|
|
131
|
+
}, [model, activeAttempt, t, handleItemToggle, scrollToAttempt]);
|
|
118
132
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
|
|
119
133
|
style: [styles.container, style],
|
|
120
134
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
@@ -122,50 +136,37 @@ const VoiceTranscriptionsDropdown = ({
|
|
|
122
136
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Typography, {
|
|
123
137
|
style: styles.title,
|
|
124
138
|
variant: "h7",
|
|
125
|
-
children:
|
|
126
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
139
|
+
children: t('voice.transcriptions')
|
|
140
|
+
}), hasActiveTranscript && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
141
|
+
entering: _reactNativeReanimated.FadeIn.duration(120),
|
|
142
|
+
exiting: _reactNativeReanimated.FadeOut.duration(120),
|
|
143
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_VoicePlayButton.PlayButton, {
|
|
144
|
+
status: buttonStatus,
|
|
145
|
+
onPress: handlePlayPress
|
|
146
|
+
})
|
|
130
147
|
})]
|
|
131
148
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
132
|
-
style: [listAnimatedStyle
|
|
149
|
+
style: [listAnimatedStyle, {
|
|
150
|
+
overflow: 'hidden'
|
|
151
|
+
}],
|
|
133
152
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
134
153
|
onLayout: onListLayout,
|
|
135
|
-
style:
|
|
136
|
-
maxHeight: _constants.DROPDOWN_MAX_CONTENT_HEIGHT
|
|
137
|
-
},
|
|
154
|
+
style: styles.listContainer,
|
|
138
155
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.ScrollableList, {
|
|
139
156
|
bounces: false,
|
|
140
157
|
ref: scrollRef,
|
|
141
158
|
hideShadow: true,
|
|
142
159
|
data: attempts,
|
|
143
160
|
keyExtractor: item => item.attemptNumber.toString(),
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
const transcript = model.getTranscript(item.attemptNumber);
|
|
149
|
-
const transcriptContent = isLoading ? 'Loading transcript...' : transcript || 'No transcript available';
|
|
150
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_VoiceTranscriptionsDropdownItem.VoiceTranscriptionsDropdownItem, {
|
|
151
|
-
attempt: item.attemptNumber,
|
|
152
|
-
content: transcriptContent,
|
|
153
|
-
isActive: currentAttempt === item.attemptNumber,
|
|
154
|
-
isExpanded: isItemExpanded(item.attemptNumber),
|
|
155
|
-
onToggle: handleItemToggle,
|
|
156
|
-
scrollToAttempt: scrollToAttempt
|
|
157
|
-
});
|
|
158
|
-
},
|
|
159
|
-
style: styles.list,
|
|
160
|
-
contentContainerStyle: {
|
|
161
|
-
paddingHorizontal: 4
|
|
162
|
-
}
|
|
161
|
+
onScrollToIndexFailed: handleScrollToIndexFailed,
|
|
162
|
+
renderItem: renderItem,
|
|
163
|
+
style: _reactNativeUi.IS_WEB && styles.list,
|
|
164
|
+
contentContainerStyle: styles.listContent
|
|
163
165
|
})
|
|
164
166
|
})
|
|
165
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
166
|
-
hitSlop: 3,
|
|
167
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedTouchableOpacity, {
|
|
167
168
|
style: [styles.expandButton, iconAnimatedStyle],
|
|
168
|
-
onPress: toggleExpand,
|
|
169
|
+
onPress: () => model.dropdown.toggleExpand(),
|
|
169
170
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.CaretDownIcon, {
|
|
170
171
|
size: 22
|
|
171
172
|
})
|
|
@@ -192,7 +193,8 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
192
193
|
justifyContent: 'space-between',
|
|
193
194
|
alignItems: 'center',
|
|
194
195
|
padding: 4,
|
|
195
|
-
marginBottom: 4
|
|
196
|
+
marginBottom: 4,
|
|
197
|
+
height: 32
|
|
196
198
|
},
|
|
197
199
|
title: {
|
|
198
200
|
color: _reactNativeUi.COLORS.NEUTRAL_9,
|
|
@@ -202,7 +204,16 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
202
204
|
flex: 1
|
|
203
205
|
},
|
|
204
206
|
expandButton: {
|
|
205
|
-
|
|
207
|
+
justifyContent: 'center',
|
|
208
|
+
alignItems: 'center'
|
|
209
|
+
},
|
|
210
|
+
listContainer: {
|
|
211
|
+
position: 'absolute',
|
|
212
|
+
maxHeight: _constants.DROPDOWN_MAX_CONTENT_HEIGHT,
|
|
213
|
+
width: '100%'
|
|
214
|
+
},
|
|
215
|
+
listContent: {
|
|
216
|
+
paddingHorizontal: 4
|
|
206
217
|
}
|
|
207
218
|
});
|
|
208
219
|
//# sourceMappingURL=VoiceTranscriptionsDropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeUi","require","_effectorReact","_react","_interopRequireWildcard","_reactNative","_reactNativeReanimated","_interopRequireDefault","_useVoicePlayer","_useVoiceTranscriptionsDropdown","_VoicePlayButton","_VoiceTranscriptionsDropdownItem","_constants","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","AniamtedTouchableOpacity","Animated","createAnimatedComponent","TouchableOpacity","VoiceTranscriptionsDropdown","style","model","audioIds","scrollRef","useRef","hasScrolledRef","playerState","useVoicePlayer","useEffect","keys","length","initializeWithAudioIds","cleanup","currentAttempt","useUnit","$currentAttempt","audioLoading","$audioLoading","transcriptsLoaded","$transcriptsLoaded","isPlaying","$isPlaying","attempts","setAttempts","useState","getAllAttempts","latestAttempt","attemptNumber","dropdown","$expandedItem","getState","setExpandedItem","toggleExpand","toggleItem","isItemExpanded","listAnimatedStyle","iconAnimatedStyle","onListLayout","isExpanded","expandedItem","useVoiceTranscriptionsDropdown","current","scrollToEnd","setTimeout","animated","scrollToAttempt","useCallback","index","findIndex","item","scrollToIndex","viewPosition","handleItemToggle","attempt","handlePlayPress","togglePlayPause","jsxs","View","styles","container","children","header","jsx","Typography","title","variant","PlayButton","isLoading","isActive","isAttemptPlaying","onPress","onLayout","maxHeight","DROPDOWN_MAX_CONTENT_HEIGHT","ScrollableList","bounces","ref","hideShadow","data","keyExtractor","toString","renderItem","isTranscriptLoading","transcript","getTranscript","transcriptContent","VoiceTranscriptionsDropdownItem","content","onToggle","list","contentContainerStyle","paddingHorizontal","hitSlop","expandButton","CaretDownIcon","size","exports","StyleSheet","create","position","top","left","width","minHeight","padding","boxShadow","borderRadius","backgroundColor","COLORS","NEUTRAL_1","overflow","flexDirection","justifyContent","alignItems","marginBottom","color","NEUTRAL_9","marginLeft","flex","alignSelf"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/components/VoiceTranscriptionsDropdown.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNativeUi","require","_effectorReact","_react","_interopRequireWildcard","_reactNative","_reactNativeReanimated","_useVoicePlayer","_useVoiceTranscriptionsDropdown","_VoicePlayButton","_VoiceTranscriptionsDropdownItem","_constants","_index","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","AnimatedTouchableOpacity","Animated","createAnimatedComponent","TouchableOpacity","getActiveAttempt","attemptOffset","attemptsCount","undefined","getButtonStatus","audioLoading","activeAttempt","currentAttempt","isPlaying","VoiceTranscriptionsDropdown","style","model","audioIds","onAttemptOffsetChange","scrollRef","useRef","prevActiveAttemptRef","useText","useVoicePlayer","transcriptsLoaded","useUnit","$currentAttempt","$audioLoading","$transcriptsLoaded","$isPlaying","attempts","setAttempts","useState","getAllAttempts","listAnimatedStyle","iconAnimatedStyle","onListLayout","useVoiceTranscriptionsDropdown","dropdown","buttonStatus","hasActiveTranscript","getTranscript","scrollToAttempt","useCallback","attemptNumber","index","findIndex","item","current","scrollToIndex","animated","viewPosition","handleItemToggle","attempt","handlePlayPress","togglePlayPause","handleScrollToIndexFailed","info","setTimeout","useEffect","keys","length","initializeWithAudioIds","cleanup","stopAudio","setExpanded","loadAllTranscripts","renderItem","isLoading","isTranscriptLoading","transcript","isActive","jsx","VoiceTranscriptionsDropdownItem","content","onToggle","jsxs","View","styles","container","children","header","Typography","title","variant","entering","FadeIn","duration","exiting","FadeOut","PlayButton","status","onPress","overflow","onLayout","listContainer","ScrollableList","bounces","ref","hideShadow","data","keyExtractor","toString","onScrollToIndexFailed","IS_WEB","list","contentContainerStyle","listContent","expandButton","toggleExpand","CaretDownIcon","size","exports","StyleSheet","create","position","top","left","width","maxHeight","minHeight","padding","boxShadow","borderRadius","backgroundColor","COLORS","NEUTRAL_1","flexDirection","justifyContent","alignItems","marginBottom","height","color","NEUTRAL_9","marginLeft","flex","DROPDOWN_MAX_CONTENT_HEIGHT","paddingHorizontal"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/components/VoiceTranscriptionsDropdown.tsx"],"mappings":"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","ignoreList":[]}
|