Files
discord-decomp/modules/voice_messages/native/VoiceMessagesUIStore.tsx
T
2026-11-01 12:12:55 +02:00

130 lines
3.3 KiB
TypeScript

// Metro module 11153 (f11154).
import { VoiceMessageAnimationState, WAVEFORM_WAVE_MAX_VALUE } from "../VoiceMessageConstants";
import { create } from "../../../_bundle/Module644";
import { makeMutable } from "../../reanimated/ReanimatedRexport";
import { batchUpdates } from "../../../_bundle/Module705";
import { withSpring } from "../../../design/animation/reanimated/spring/spring";
let c7539_5;
const r16 = {
REQUESTED: 0,
0: "REQUESTED",
STARTED: 1,
1: "STARTED"
};
let c7539_4 = create(() => ({
voiceMessageAnimationState: makeMutable([VoiceMessageAnimationState.SENDING, VoiceMessageAnimationState.SENDING]),
recordingStatus: null,
recordingId: null,
currWaveHeight: void 0,
showRecordingOverlay: false,
startTimeMillis: void 0,
waveform: [],
waveformVersion: 0,
showVoiceMessagesTooltip: false,
savedVoiceMessageUploadData: void 0,
isVoiceMessageButtonMounted: false,
isUsingHoldGesture: false
}));
c7539_5 = c7539_4;
export { r16 as VoiceMessageRecordingStatus };
export { c7539_4 as useVoiceMessagesUIStore };
export function setShowRecordingOverlay(showRecordingOverlay) {
batchUpdates(() => {
c7539_4.setState({
showRecordingOverlay
});
});
}
export function setVoiceMessageRecordingState(recordingStatus) {
batchUpdates(() => {
c7539_4.setState({
recordingStatus
});
});
}
export function setVoiceMessageRecordingId(recordingId) {
batchUpdates(() => {
c7539_4.setState({
recordingId
});
});
}
export function setVoiceMessageStartTimeMillis(startTimeMillis) {
batchUpdates(() => {
c7539_4.setState({
startTimeMillis
});
});
}
export function setVoiceMessageAnimationState(c18570_0) {
batchUpdates(() => {
c7539_4.setState({
...c18570_0
});
});
}
export function addVoiceMessageWave(a0) {
const waveform = c7539_5.getState().waveform;
const waveformVersion = c7539_5.getState().waveformVersion;
const currWaveHeight = c7539_5.getState().currWaveHeight;
if (currWaveHeight != null) {
currWaveHeight.set(withSpring(a0 / WAVEFORM_WAVE_MAX_VALUE));
}
waveform.push([a0, waveformVersion]);
batchUpdates(() => {
c7539_4.setState({
waveformVersion: waveformVersion + 1
});
});
}
export function showVoiceMessagesTooltip() {
batchUpdates(() => {
c7539_4.setState({
showVoiceMessagesTooltip: true
});
});
}
export function hideVoiceMessagesTooltip() {
batchUpdates(() => {
c7539_4.setState({
showVoiceMessagesTooltip: false
});
});
}
export function resetVoiceMessageState() {
batchUpdates(() => {
c7539_4.setState({
waveform: [],
waveformVersion: 0,
showRecordingOverlay: false,
startTimeMillis: void 0,
savedVoiceMessageUploadData: void 0
});
});
const currWaveHeight = c7539_5.getState().currWaveHeight;
if (currWaveHeight != null) {
currWaveHeight.set(withSpring(0));
}
}
export function setSavedVoiceMessageUploadData(savedVoiceMessageUploadData) {
batchUpdates(() => {
c7539_4.setState({
savedVoiceMessageUploadData
});
});
}
export function setIsVoiceMessageButtonMounted(isVoiceMessageButtonMounted) {
batchUpdates(() => {
c7539_4.setState({
isVoiceMessageButtonMounted
});
});
}
export function setIsUsingHoldGesture(isUsingHoldGesture) {
batchUpdates(() => {
c7539_4.setState({
isUsingHoldGesture
});
});
}