feat(UI): Adding linter and prettier for UI (#3156)

This commit is contained in:
Francisco Arceo 2025-08-14 15:58:43 -06:00 committed by GitHub
parent 61582f327c
commit e69acbafbf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
73 changed files with 1452 additions and 1226 deletions

View file

@ -1,50 +1,50 @@
type RecordAudioType = {
(stream: MediaStream): Promise<Blob>
stop: () => void
currentRecorder?: MediaRecorder
}
(stream: MediaStream): Promise<Blob>;
stop: () => void;
currentRecorder?: MediaRecorder;
};
export const recordAudio = (function (): RecordAudioType {
const func = async function recordAudio(stream: MediaStream): Promise<Blob> {
try {
const mediaRecorder = new MediaRecorder(stream, {
mimeType: "audio/webm;codecs=opus",
})
const audioChunks: Blob[] = []
});
const audioChunks: Blob[] = [];
return new Promise((resolve, reject) => {
mediaRecorder.ondataavailable = (event) => {
mediaRecorder.ondataavailable = event => {
if (event.data.size > 0) {
audioChunks.push(event.data)
audioChunks.push(event.data);
}
}
};
mediaRecorder.onstop = () => {
const audioBlob = new Blob(audioChunks, { type: "audio/webm" })
resolve(audioBlob)
}
const audioBlob = new Blob(audioChunks, { type: "audio/webm" });
resolve(audioBlob);
};
mediaRecorder.onerror = () => {
reject(new Error("MediaRecorder error occurred"))
}
reject(new Error("MediaRecorder error occurred"));
};
mediaRecorder.start(1000)
;(func as RecordAudioType).currentRecorder = mediaRecorder
})
mediaRecorder.start(1000);
(func as RecordAudioType).currentRecorder = mediaRecorder;
});
} catch (error) {
const errorMessage =
error instanceof Error ? error.message : "Unknown error occurred"
throw new Error("Failed to start recording: " + errorMessage)
error instanceof Error ? error.message : "Unknown error occurred";
throw new Error("Failed to start recording: " + errorMessage);
}
}
};
;(func as RecordAudioType).stop = () => {
const recorder = (func as RecordAudioType).currentRecorder
(func as RecordAudioType).stop = () => {
const recorder = (func as RecordAudioType).currentRecorder;
if (recorder && recorder.state !== "inactive") {
recorder.stop()
recorder.stop();
}
delete (func as RecordAudioType).currentRecorder
}
delete (func as RecordAudioType).currentRecorder;
};
return func as RecordAudioType
})()
return func as RecordAudioType;
})();