"use client"; import React, { useState } from "react"; import { GetTranscript } from "../../api"; import Pagination from "./pagination"; import Link from "next/link"; import { FaCheck, FaTrash, FaStar, FaMicrophone } from "react-icons/fa"; import { MdError } from "react-icons/md"; import useTranscriptList from "../transcripts/useTranscriptList"; import { formatTime } from "../../lib/time"; import useApi from "../../lib/useApi"; import { useError } from "../../(errors)/errorContext"; import { Flex, Spinner, Heading, Button, Card, CardBody, CardFooter, Stack, Text, Icon, Grid, Divider, Popover, PopoverTrigger, PopoverContent, PopoverArrow, PopoverCloseButton, PopoverHeader, PopoverBody, PopoverFooter, } from "@chakra-ui/react"; import { PlusSquareIcon } from "@chakra-ui/icons"; // import { useFiefUserinfo } from "@fief/fief/nextjs/react"; export default function TranscriptBrowser() { const [page, setPage] = useState(1); const { loading, response, refetch } = useTranscriptList(page); const [deletionLoading, setDeletionLoading] = useState(false); const [deletedItems, setDeletedItems] = useState([]); const api = useApi(); const { setError } = useError(); // Todo: fief add name field to userinfo // const user = useFiefUserinfo(); // console.log(user); if (loading && !response) return ( ); if (!loading && !response) return ( No transcripts found, but you can  record a meeting  to get started. ); const prevent = (e: React.MouseEvent) => { e.stopPropagation(); e.preventDefault(); }; const handleDeleteTranscript = (transcriptToDeleteId) => (e) => { if (!deletionLoading) { api ?.v1TranscriptDelete(transcriptToDeleteId) .then(() => { setDeletionLoading(false); setDeletedItems([...deletedItems, transcriptToDeleteId]); refetch(); }) .catch((err) => { setDeletionLoading(false); setError(err, "There was an error deleting the transcript"); }); } }; return ( {/* {user?.fields?.name}'s Meetings */} Your Meetings {loading && } {response?.items .filter((item) => !deletedItems.includes(item.id)) .map((item: GetTranscript) => ( {item.title || item.name || "Unamed Transcript"} {item.status == "ended" && ( )} {item.status == "error" && ( )} {item.status == "idle" && ( )} {item.status == "processing" && ( )} {item.status == "recording" && ( )} {new Date(item.created_at).toLocaleString("en-US")} {"\u00A0"}-{"\u00A0"} {formatTime(Math.floor(item.duration / 1000))} {item.short_summary} {item.status !== "ended" && ( <> Are you sure you want to delete {item.title} ? This action is not reversible. )} ))} ); }