"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"; 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 [loadingSend, setLoadingSend] = useState(false); const send = () => { if (loadingSend || createTranscript.loading || permissionDenied) return; setLoadingSend(true); createTranscript.create({ name, target_language: targetLanguage }); }; useEffect(() => { createTranscript.transcript && router.push(`/transcripts/${createTranscript.transcript.id}/record`); }, [createTranscript.transcript]); useEffect(() => { if (createTranscript.error) setLoadingSend(false); }, [createTranscript.error]); const { loading, permissionOk, permissionDenied, requestPermission } = useAudioDevice(); return ( <>

Welcome to reflector.media

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.

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