@magmamath/students-features 1.3.13 → 1.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js +37 -32
- package/dist/commonjs/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
- package/dist/module/features/voice/recording/components/VoiceRecordButton.js +37 -32
- package/dist/module/features/voice/recording/components/VoiceRecordButton.js.map +1 -1
- package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordButton.d.ts.map +1 -1
- package/dist/typescript/module/features/voice/recording/components/VoiceRecordButton.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/voice/recording/components/VoiceRecordButton.tsx +49 -42
|
@@ -19,6 +19,40 @@ const defaultButtonStyles = {
|
|
|
19
19
|
height: 50
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
|
+
const AdvancedButton = ({
|
|
23
|
+
isRecording,
|
|
24
|
+
disabled,
|
|
25
|
+
onPressIn
|
|
26
|
+
}) => {
|
|
27
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
28
|
+
style: [styles.advancedButtonContainer, disabled && styles.disabledCursor],
|
|
29
|
+
onPressIn: onPressIn,
|
|
30
|
+
disabled: disabled,
|
|
31
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Button, {
|
|
32
|
+
customColorScheme: {
|
|
33
|
+
[_reactNativeUi.ButtonStates.ACTIVE]: {
|
|
34
|
+
backgroundColor: _reactNativeUi.COLORS.PRIMARY_BLUE,
|
|
35
|
+
borderColor: _reactNativeUi.COLORS.PRIMARY_BLUE,
|
|
36
|
+
raiseColor: _reactNativeUi.COLORS.PRIMARY_BLUE,
|
|
37
|
+
color: _reactNativeUi.COLORS.PRIMARY_BLUE
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
style: {
|
|
41
|
+
button: styles.advancedButton
|
|
42
|
+
},
|
|
43
|
+
isActive: isRecording,
|
|
44
|
+
variant: _reactNativeUi.ButtonVariant.TERTIARY,
|
|
45
|
+
onPressIn: onPressIn,
|
|
46
|
+
icon: isRecording ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.CheckIcon, {
|
|
47
|
+
size: 25,
|
|
48
|
+
color: _reactNativeUi.COLORS.NEUTRAL_1
|
|
49
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.MicrophoneIcon, {
|
|
50
|
+
style: styles.advancedMicrophoneIcon,
|
|
51
|
+
color: disabled ? _reactNativeUi.COLORS.NEUTRAL_5 : isRecording ? _reactNativeUi.COLORS.NEUTRAL_1 : _reactNativeUi.COLORS.NEUTRAL_9
|
|
52
|
+
})
|
|
53
|
+
})
|
|
54
|
+
});
|
|
55
|
+
};
|
|
22
56
|
const VoiceRecordButton = ({
|
|
23
57
|
model,
|
|
24
58
|
buttonVariant
|
|
@@ -29,7 +63,6 @@ const VoiceRecordButton = ({
|
|
|
29
63
|
const isButtonDisabled = (0, _effectorReact.useUnit)(model.$isButtonDisabled);
|
|
30
64
|
const isInitializing = (0, _effectorReact.useUnit)(model.initializeRecording.pending);
|
|
31
65
|
const isRecording = voiceRecordState === _constants.VoiceRecorderState.RECORDING;
|
|
32
|
-
const isIdle = voiceRecordState === _constants.VoiceRecorderState.IDLE;
|
|
33
66
|
const hasInputs = availableInputs.length > 0;
|
|
34
67
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
35
68
|
onPressIn: e => {
|
|
@@ -41,7 +74,6 @@ const VoiceRecordButton = ({
|
|
|
41
74
|
style: [isButtonDisabled ? styles.disabledCursor : undefined],
|
|
42
75
|
children: buttonVariant === _types.RecordButtonVariant.ADVANCED ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AdvancedButton, {
|
|
43
76
|
isRecording: isRecording,
|
|
44
|
-
isIdle: isIdle,
|
|
45
77
|
disabled: isButtonDisabled,
|
|
46
78
|
onPressIn: () => model.recorderButtonHandler()
|
|
47
79
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Button, {
|
|
@@ -60,36 +92,6 @@ const VoiceRecordButton = ({
|
|
|
60
92
|
});
|
|
61
93
|
};
|
|
62
94
|
exports.VoiceRecordButton = VoiceRecordButton;
|
|
63
|
-
const AdvancedButton = ({
|
|
64
|
-
isRecording,
|
|
65
|
-
isIdle,
|
|
66
|
-
disabled,
|
|
67
|
-
onPressIn
|
|
68
|
-
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
69
|
-
style: [styles.advancedButtonContainer, disabled && styles.disabledCursor],
|
|
70
|
-
onPressIn: onPressIn,
|
|
71
|
-
disabled: disabled,
|
|
72
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.Button, {
|
|
73
|
-
customColorScheme: {
|
|
74
|
-
[_reactNativeUi.ButtonStates.ACTIVE]: {
|
|
75
|
-
backgroundColor: _reactNativeUi.COLORS.PRIMARY_BLUE,
|
|
76
|
-
borderColor: _reactNativeUi.COLORS.PRIMARY_BLUE,
|
|
77
|
-
raiseColor: _reactNativeUi.COLORS.PRIMARY_BLUE,
|
|
78
|
-
color: _reactNativeUi.COLORS.PRIMARY_BLUE
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
isActive: isRecording,
|
|
82
|
-
variant: _reactNativeUi.ButtonVariant.TERTIARY,
|
|
83
|
-
onPressIn: onPressIn,
|
|
84
|
-
icon: isRecording ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.CheckIcon, {
|
|
85
|
-
size: 25,
|
|
86
|
-
color: _reactNativeUi.COLORS.NEUTRAL_1
|
|
87
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeUi.MicrophoneIcon, {
|
|
88
|
-
style: styles.advancedMicrophoneIcon,
|
|
89
|
-
color: disabled ? _reactNativeUi.COLORS.NEUTRAL_5 : isIdle ? _reactNativeUi.COLORS.NEUTRAL_9 : _reactNativeUi.COLORS.NEUTRAL_1
|
|
90
|
-
})
|
|
91
|
-
})
|
|
92
|
-
});
|
|
93
95
|
const styles = _reactNative.StyleSheet.create({
|
|
94
96
|
advancedButtonContainer: {
|
|
95
97
|
width: 52,
|
|
@@ -125,6 +127,9 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
125
127
|
advancedMicrophoneIcon: {
|
|
126
128
|
width: 14,
|
|
127
129
|
height: 19
|
|
130
|
+
},
|
|
131
|
+
advancedButton: {
|
|
132
|
+
boxShadow: 'none'
|
|
128
133
|
}
|
|
129
134
|
});
|
|
130
135
|
//# sourceMappingURL=VoiceRecordButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeUi","_reactNative","_effectorReact","_constants","_index","_types","_jsxRuntime","e","__esModule","default","defaultButtonStyles","button","width","height","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNativeUi","_reactNative","_effectorReact","_constants","_index","_types","_jsxRuntime","e","__esModule","default","defaultButtonStyles","button","width","height","AdvancedButton","isRecording","disabled","onPressIn","jsx","Pressable","style","styles","advancedButtonContainer","disabledCursor","children","Button","customColorScheme","ButtonStates","ACTIVE","backgroundColor","COLORS","PRIMARY_BLUE","borderColor","raiseColor","color","advancedButton","isActive","variant","ButtonVariant","TERTIARY","icon","CheckIcon","size","NEUTRAL_1","MicrophoneIcon","advancedMicrophoneIcon","NEUTRAL_5","NEUTRAL_9","VoiceRecordButton","model","buttonVariant","t","useText","availableInputs","useUnit","recorderModel","$availableInputs","voiceRecordState","$voiceRecordState","isButtonDisabled","$isButtonDisabled","isInitializing","initializeRecording","pending","VoiceRecorderState","RECORDING","hasInputs","length","preventDefault","notification","warning","pointerEvents","undefined","RecordButtonVariant","ADVANCED","recorderButtonHandler","ButtonSize","LARGE","SECONDARY","colorScheme","ButtonColor","WHITE","IS_WEB","microphoneIconWeb","microphoneIconNative","exports","StyleSheet","create","alignItems","justifyContent","borderRadius","BORDER_RADIUS","boxShadow","VOICE_RECORD_SHADOWS","advancedIconContainer","cursor","minWidth","minHeight","advancedIconContainerActive"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/components/VoiceRecordButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,6 +14,40 @@ const defaultButtonStyles = {
|
|
|
14
14
|
height: 50
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
|
+
const AdvancedButton = ({
|
|
18
|
+
isRecording,
|
|
19
|
+
disabled,
|
|
20
|
+
onPressIn
|
|
21
|
+
}) => {
|
|
22
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
23
|
+
style: [styles.advancedButtonContainer, disabled && styles.disabledCursor],
|
|
24
|
+
onPressIn: onPressIn,
|
|
25
|
+
disabled: disabled,
|
|
26
|
+
children: /*#__PURE__*/_jsx(Button, {
|
|
27
|
+
customColorScheme: {
|
|
28
|
+
[ButtonStates.ACTIVE]: {
|
|
29
|
+
backgroundColor: COLORS.PRIMARY_BLUE,
|
|
30
|
+
borderColor: COLORS.PRIMARY_BLUE,
|
|
31
|
+
raiseColor: COLORS.PRIMARY_BLUE,
|
|
32
|
+
color: COLORS.PRIMARY_BLUE
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
style: {
|
|
36
|
+
button: styles.advancedButton
|
|
37
|
+
},
|
|
38
|
+
isActive: isRecording,
|
|
39
|
+
variant: ButtonVariant.TERTIARY,
|
|
40
|
+
onPressIn: onPressIn,
|
|
41
|
+
icon: isRecording ? /*#__PURE__*/_jsx(CheckIcon, {
|
|
42
|
+
size: 25,
|
|
43
|
+
color: COLORS.NEUTRAL_1
|
|
44
|
+
}) : /*#__PURE__*/_jsx(MicrophoneIcon, {
|
|
45
|
+
style: styles.advancedMicrophoneIcon,
|
|
46
|
+
color: disabled ? COLORS.NEUTRAL_5 : isRecording ? COLORS.NEUTRAL_1 : COLORS.NEUTRAL_9
|
|
47
|
+
})
|
|
48
|
+
})
|
|
49
|
+
});
|
|
50
|
+
};
|
|
17
51
|
export const VoiceRecordButton = ({
|
|
18
52
|
model,
|
|
19
53
|
buttonVariant
|
|
@@ -24,7 +58,6 @@ export const VoiceRecordButton = ({
|
|
|
24
58
|
const isButtonDisabled = useUnit(model.$isButtonDisabled);
|
|
25
59
|
const isInitializing = useUnit(model.initializeRecording.pending);
|
|
26
60
|
const isRecording = voiceRecordState === VoiceRecorderState.RECORDING;
|
|
27
|
-
const isIdle = voiceRecordState === VoiceRecorderState.IDLE;
|
|
28
61
|
const hasInputs = availableInputs.length > 0;
|
|
29
62
|
return /*#__PURE__*/_jsx(Pressable, {
|
|
30
63
|
onPressIn: e => {
|
|
@@ -36,7 +69,6 @@ export const VoiceRecordButton = ({
|
|
|
36
69
|
style: [isButtonDisabled ? styles.disabledCursor : undefined],
|
|
37
70
|
children: buttonVariant === RecordButtonVariant.ADVANCED ? /*#__PURE__*/_jsx(AdvancedButton, {
|
|
38
71
|
isRecording: isRecording,
|
|
39
|
-
isIdle: isIdle,
|
|
40
72
|
disabled: isButtonDisabled,
|
|
41
73
|
onPressIn: () => model.recorderButtonHandler()
|
|
42
74
|
}) : /*#__PURE__*/_jsx(Button, {
|
|
@@ -54,36 +86,6 @@ export const VoiceRecordButton = ({
|
|
|
54
86
|
})
|
|
55
87
|
});
|
|
56
88
|
};
|
|
57
|
-
const AdvancedButton = ({
|
|
58
|
-
isRecording,
|
|
59
|
-
isIdle,
|
|
60
|
-
disabled,
|
|
61
|
-
onPressIn
|
|
62
|
-
}) => /*#__PURE__*/_jsx(Pressable, {
|
|
63
|
-
style: [styles.advancedButtonContainer, disabled && styles.disabledCursor],
|
|
64
|
-
onPressIn: onPressIn,
|
|
65
|
-
disabled: disabled,
|
|
66
|
-
children: /*#__PURE__*/_jsx(Button, {
|
|
67
|
-
customColorScheme: {
|
|
68
|
-
[ButtonStates.ACTIVE]: {
|
|
69
|
-
backgroundColor: COLORS.PRIMARY_BLUE,
|
|
70
|
-
borderColor: COLORS.PRIMARY_BLUE,
|
|
71
|
-
raiseColor: COLORS.PRIMARY_BLUE,
|
|
72
|
-
color: COLORS.PRIMARY_BLUE
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
isActive: isRecording,
|
|
76
|
-
variant: ButtonVariant.TERTIARY,
|
|
77
|
-
onPressIn: onPressIn,
|
|
78
|
-
icon: isRecording ? /*#__PURE__*/_jsx(CheckIcon, {
|
|
79
|
-
size: 25,
|
|
80
|
-
color: COLORS.NEUTRAL_1
|
|
81
|
-
}) : /*#__PURE__*/_jsx(MicrophoneIcon, {
|
|
82
|
-
style: styles.advancedMicrophoneIcon,
|
|
83
|
-
color: disabled ? COLORS.NEUTRAL_5 : isIdle ? COLORS.NEUTRAL_9 : COLORS.NEUTRAL_1
|
|
84
|
-
})
|
|
85
|
-
})
|
|
86
|
-
});
|
|
87
89
|
const styles = StyleSheet.create({
|
|
88
90
|
advancedButtonContainer: {
|
|
89
91
|
width: 52,
|
|
@@ -119,6 +121,9 @@ const styles = StyleSheet.create({
|
|
|
119
121
|
advancedMicrophoneIcon: {
|
|
120
122
|
width: 14,
|
|
121
123
|
height: 19
|
|
124
|
+
},
|
|
125
|
+
advancedButton: {
|
|
126
|
+
boxShadow: 'none'
|
|
122
127
|
}
|
|
123
128
|
});
|
|
124
129
|
//# sourceMappingURL=VoiceRecordButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","BORDER_RADIUS","Button","ButtonColor","ButtonSize","ButtonStates","ButtonVariant","CheckIcon","COLORS","IS_WEB","MicrophoneIcon","Pressable","StyleSheet","useUnit","VOICE_RECORD_SHADOWS","VoiceRecorderState","useText","RecordButtonVariant","jsx","_jsx","defaultButtonStyles","button","width","height","
|
|
1
|
+
{"version":3,"names":["React","BORDER_RADIUS","Button","ButtonColor","ButtonSize","ButtonStates","ButtonVariant","CheckIcon","COLORS","IS_WEB","MicrophoneIcon","Pressable","StyleSheet","useUnit","VOICE_RECORD_SHADOWS","VoiceRecorderState","useText","RecordButtonVariant","jsx","_jsx","defaultButtonStyles","button","width","height","AdvancedButton","isRecording","disabled","onPressIn","style","styles","advancedButtonContainer","disabledCursor","children","customColorScheme","ACTIVE","backgroundColor","PRIMARY_BLUE","borderColor","raiseColor","color","advancedButton","isActive","variant","TERTIARY","icon","size","NEUTRAL_1","advancedMicrophoneIcon","NEUTRAL_5","NEUTRAL_9","VoiceRecordButton","model","buttonVariant","t","availableInputs","recorderModel","$availableInputs","voiceRecordState","$voiceRecordState","isButtonDisabled","$isButtonDisabled","isInitializing","initializeRecording","pending","RECORDING","hasInputs","length","e","preventDefault","notification","warning","pointerEvents","undefined","ADVANCED","recorderButtonHandler","LARGE","SECONDARY","colorScheme","WHITE","microphoneIconWeb","microphoneIconNative","create","alignItems","justifyContent","borderRadius","boxShadow","advancedIconContainer","cursor","minWidth","minHeight","advancedIconContainerActive"],"sourceRoot":"../../../../../../src","sources":["features/voice/recording/components/VoiceRecordButton.tsx"],"mappings":"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","ignoreList":[]}
|
package/dist/typescript/commonjs/features/voice/recording/components/VoiceRecordButton.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecordButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/components/VoiceRecordButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAezB,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAI7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,gBAAgB,CAAA;IACvB,aAAa,EAAE,mBAAmB,CAAA;CACnC,CAAA;
|
|
1
|
+
{"version":3,"file":"VoiceRecordButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/components/VoiceRecordButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAezB,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAI7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,gBAAgB,CAAA;IACvB,aAAa,EAAE,mBAAmB,CAAA;CACnC,CAAA;AAsDD,eAAO,MAAM,iBAAiB,6BAA8B,sBAAsB,sBAgDjF,CAAA"}
|
package/dist/typescript/module/features/voice/recording/components/VoiceRecordButton.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecordButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/components/VoiceRecordButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAezB,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAI7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,gBAAgB,CAAA;IACvB,aAAa,EAAE,mBAAmB,CAAA;CACnC,CAAA;
|
|
1
|
+
{"version":3,"file":"VoiceRecordButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/recording/components/VoiceRecordButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAezB,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAI7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,gBAAgB,CAAA;IACvB,aAAa,EAAE,mBAAmB,CAAA;CACnC,CAAA;AAsDD,eAAO,MAAM,iBAAiB,6BAA8B,sBAAsB,sBAgDjF,CAAA"}
|
package/package.json
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
IS_WEB,
|
|
13
13
|
MicrophoneIcon,
|
|
14
14
|
} from '@magmamath/react-native-ui'
|
|
15
|
-
import { Pressable, StyleSheet
|
|
15
|
+
import { Pressable, StyleSheet } from 'react-native'
|
|
16
16
|
import { VoiceRecordModel } from '../model/VoiceRecord.model'
|
|
17
17
|
import { useUnit } from 'effector-react'
|
|
18
18
|
import { VOICE_RECORD_SHADOWS, VoiceRecorderState } from '../../constants'
|
|
@@ -31,6 +31,51 @@ const defaultButtonStyles: ButtonStyle = {
|
|
|
31
31
|
},
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
type AdvancedButtonProps = {
|
|
35
|
+
isRecording: boolean
|
|
36
|
+
disabled: boolean
|
|
37
|
+
onPressIn: () => void
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const AdvancedButton = ({ isRecording, disabled, onPressIn }: AdvancedButtonProps) => {
|
|
41
|
+
return (
|
|
42
|
+
<Pressable
|
|
43
|
+
style={[styles.advancedButtonContainer, disabled && styles.disabledCursor]}
|
|
44
|
+
onPressIn={onPressIn}
|
|
45
|
+
disabled={disabled}
|
|
46
|
+
>
|
|
47
|
+
<Button
|
|
48
|
+
customColorScheme={{
|
|
49
|
+
[ButtonStates.ACTIVE]: {
|
|
50
|
+
backgroundColor: COLORS.PRIMARY_BLUE,
|
|
51
|
+
borderColor: COLORS.PRIMARY_BLUE,
|
|
52
|
+
raiseColor: COLORS.PRIMARY_BLUE,
|
|
53
|
+
color: COLORS.PRIMARY_BLUE,
|
|
54
|
+
},
|
|
55
|
+
}}
|
|
56
|
+
style={{
|
|
57
|
+
button: styles.advancedButton,
|
|
58
|
+
}}
|
|
59
|
+
isActive={isRecording}
|
|
60
|
+
variant={ButtonVariant.TERTIARY}
|
|
61
|
+
onPressIn={onPressIn}
|
|
62
|
+
icon={
|
|
63
|
+
isRecording ? (
|
|
64
|
+
<CheckIcon size={25} color={COLORS.NEUTRAL_1} />
|
|
65
|
+
) : (
|
|
66
|
+
<MicrophoneIcon
|
|
67
|
+
style={styles.advancedMicrophoneIcon}
|
|
68
|
+
color={
|
|
69
|
+
disabled ? COLORS.NEUTRAL_5 : isRecording ? COLORS.NEUTRAL_1 : COLORS.NEUTRAL_9
|
|
70
|
+
}
|
|
71
|
+
/>
|
|
72
|
+
)
|
|
73
|
+
}
|
|
74
|
+
/>
|
|
75
|
+
</Pressable>
|
|
76
|
+
)
|
|
77
|
+
}
|
|
78
|
+
|
|
34
79
|
export const VoiceRecordButton = ({ model, buttonVariant }: VoiceRecordButtonProps) => {
|
|
35
80
|
const t = useText()
|
|
36
81
|
|
|
@@ -40,7 +85,6 @@ export const VoiceRecordButton = ({ model, buttonVariant }: VoiceRecordButtonPro
|
|
|
40
85
|
const isInitializing = useUnit(model.initializeRecording.pending)
|
|
41
86
|
|
|
42
87
|
const isRecording = voiceRecordState === VoiceRecorderState.RECORDING
|
|
43
|
-
const isIdle = voiceRecordState === VoiceRecorderState.IDLE
|
|
44
88
|
const hasInputs = availableInputs.length > 0
|
|
45
89
|
|
|
46
90
|
return (
|
|
@@ -56,7 +100,6 @@ export const VoiceRecordButton = ({ model, buttonVariant }: VoiceRecordButtonPro
|
|
|
56
100
|
{buttonVariant === RecordButtonVariant.ADVANCED ? (
|
|
57
101
|
<AdvancedButton
|
|
58
102
|
isRecording={isRecording}
|
|
59
|
-
isIdle={isIdle}
|
|
60
103
|
disabled={isButtonDisabled}
|
|
61
104
|
onPressIn={() => model.recorderButtonHandler()}
|
|
62
105
|
/>
|
|
@@ -83,45 +126,6 @@ export const VoiceRecordButton = ({ model, buttonVariant }: VoiceRecordButtonPro
|
|
|
83
126
|
)
|
|
84
127
|
}
|
|
85
128
|
|
|
86
|
-
type AdvancedButtonProps = {
|
|
87
|
-
isRecording: boolean
|
|
88
|
-
isIdle: boolean
|
|
89
|
-
disabled: boolean
|
|
90
|
-
onPressIn: () => void
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
const AdvancedButton = ({ isRecording, isIdle, disabled, onPressIn }: AdvancedButtonProps) => (
|
|
94
|
-
<Pressable
|
|
95
|
-
style={[styles.advancedButtonContainer, disabled && styles.disabledCursor]}
|
|
96
|
-
onPressIn={onPressIn}
|
|
97
|
-
disabled={disabled}
|
|
98
|
-
>
|
|
99
|
-
<Button
|
|
100
|
-
customColorScheme={{
|
|
101
|
-
[ButtonStates.ACTIVE]: {
|
|
102
|
-
backgroundColor: COLORS.PRIMARY_BLUE,
|
|
103
|
-
borderColor: COLORS.PRIMARY_BLUE,
|
|
104
|
-
raiseColor: COLORS.PRIMARY_BLUE,
|
|
105
|
-
color: COLORS.PRIMARY_BLUE,
|
|
106
|
-
},
|
|
107
|
-
}}
|
|
108
|
-
isActive={isRecording}
|
|
109
|
-
variant={ButtonVariant.TERTIARY}
|
|
110
|
-
onPressIn={onPressIn}
|
|
111
|
-
icon={
|
|
112
|
-
isRecording ? (
|
|
113
|
-
<CheckIcon size={25} color={COLORS.NEUTRAL_1} />
|
|
114
|
-
) : (
|
|
115
|
-
<MicrophoneIcon
|
|
116
|
-
style={styles.advancedMicrophoneIcon}
|
|
117
|
-
color={disabled ? COLORS.NEUTRAL_5 : isIdle ? COLORS.NEUTRAL_9 : COLORS.NEUTRAL_1}
|
|
118
|
-
/>
|
|
119
|
-
)
|
|
120
|
-
}
|
|
121
|
-
/>
|
|
122
|
-
</Pressable>
|
|
123
|
-
)
|
|
124
|
-
|
|
125
129
|
const styles = StyleSheet.create({
|
|
126
130
|
advancedButtonContainer: {
|
|
127
131
|
width: 52,
|
|
@@ -158,4 +162,7 @@ const styles = StyleSheet.create({
|
|
|
158
162
|
width: 14,
|
|
159
163
|
height: 19,
|
|
160
164
|
},
|
|
165
|
+
advancedButton: {
|
|
166
|
+
boxShadow: 'none',
|
|
167
|
+
},
|
|
161
168
|
})
|