"use client"; import React, { useEffect, useState } from "react"; import useAudioDevice from "../useAudioDevice"; import "react-select-search/style.css"; import "../../../styles/button.css"; import "../../../styles/form.scss"; import About from "../../../(aboutAndPrivacy)/about"; import Privacy from "../../../(aboutAndPrivacy)/privacy"; import { useRouter } from "next/navigation"; import useCreateTranscript from "../createTranscript"; import SelectSearch from "react-select-search"; import { supportedLanguages } from "../../../supportedLanguages"; import { useFiefIsAuthenticated } from "@fief/fief/nextjs/react"; import { featureEnabled } from "../../../domainContext"; import { Button, Text } from "@chakra-ui/react"; const TranscriptCreate = () => { const router = useRouter(); const isAuthenticated = useFiefIsAuthenticated(); const requireLogin = featureEnabled("requireLogin"); const [name, setName] = useState(""); const nameChange = (event: React.ChangeEvent) => { setName(event.target.value); }; const [targetLanguage, setTargetLanguage] = useState(); const onLanguageChange = (newval) => { (!newval || typeof newval === "string") && setTargetLanguage(newval); }; const createTranscript = useCreateTranscript(); const [loadingRecord, setLoadingRecord] = useState(false); const [loadingUpload, setLoadingUpload] = useState(false); const send = () => { if (loadingRecord || createTranscript.loading || permissionDenied) return; setLoadingRecord(true); createTranscript.create({ name, target_language: targetLanguage }); }; const uploadFile = () => { if (loadingUpload || createTranscript.loading || permissionDenied) return; setLoadingUpload(true); createTranscript.create({ name, target_language: targetLanguage }); }; useEffect(() => { let action = "record"; if (loadingUpload) action = "upload"; createTranscript.transcript && router.push(`/transcripts/${createTranscript.transcript.id}/${action}`); }, [createTranscript.transcript]); useEffect(() => { if (createTranscript.error) setLoadingRecord(false); }, [createTranscript.error]); const { loading, permissionOk, permissionDenied, requestPermission } = useAudioDevice(); return (

Welcome to Reflector

Reflector is a transcription and summarization pipeline that transforms audio into knowledge. The output is meeting minutes and topic summaries enabling topic-specific analyses stored in your systems of record. This is accomplished on your infrastructure – without 3rd parties – keeping your data private, secure, and organized.

In order to use Reflector, we kindly request permission to access your microphone during meetings and events.

{featureEnabled("privacy") && ( )}
{requireLogin && !isAuthenticated ? ( ) : (

Try Reflector

{loading ? (

Checking permissions...

) : permissionOk ? (

Microphone permission granted

) : permissionDenied ? (

Permission to use your microphone was denied, please change the permission setting in your browser and refresh this page.

) : ( )} OR
)}
); }; export default TranscriptCreate;