@p0llen/speaker-detector-client
Version:
React client for interfacing with the [speaker-detector](https://pypi.org/project/speaker-detector) Python backend. Supports real-time speaker identification, meeting transcription, and speaker enrollment.
39 lines • 1.32 kB
JavaScript
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
import { useState, useEffect } from "react";
import { generateTranscript } from "../lib/api";
export default function useMeetingTranscript() {
var auto = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
var interval = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10000;
var [transcript, setTranscript] = useState(null);
var [error, setError] = useState(null);
var [loading, setLoading] = useState(false);
function fetchTranscript() {
return _fetchTranscript.apply(this, arguments);
}
function _fetchTranscript() {
_fetchTranscript = _asyncToGenerator(function* () {
setLoading(true);
try {
var data = yield generateTranscript();
setTranscript(data);
} catch (err) {
console.error("Transcript error:", err);
setError("❌ Failed to fetch transcript");
} finally {
setLoading(false);
}
});
return _fetchTranscript.apply(this, arguments);
}
useEffect(() => {
if (!auto) return;
var intervalId = setInterval(fetchTranscript, interval);
return () => clearInterval(intervalId);
}, [auto, interval]);
return {
transcript,
fetchTranscript,
loading,
error
};
}