diff --git a/components/demo/Announcements.tsx b/components/demo/Announcements.tsx index deb6715..930bea2 100644 --- a/components/demo/Announcements.tsx +++ b/components/demo/Announcements.tsx @@ -4,16 +4,41 @@ import { UserStatus } from "../../models/user"; import Image from "next/image"; import { Tooltip } from "antd"; import { DemoStep, IVoiceDemoProps } from "./VoiceLineConceptDemo"; +import { useEffect, useState } from "react"; +import toast from "react-hot-toast"; export default function Announcements(props: IVoiceDemoProps) { const isAnnouncementsTurn = props.demoStep == DemoStep.playAnnouncement || - props.demoStep == DemoStep.resolveAnnouncement; + props.demoStep == DemoStep.doneDemo; + + const [showAnnouncement, setShowAnnouncement] = useState(false); + + useEffect(() => { + if (props.demoStep == DemoStep.playAnnouncement) { + setTimeout(function () { + setShowAnnouncement(true); + + var audio = new Audio( + "https://firebasestorage.googleapis.com/v0/b/nirvana-for-business.appspot.com/o/messages%2Fbb649032-64cc-46f7-b0b1-bcb57704a0a7.mp3?alt=media&token=919c596b-c829-4c70-85ce-134d5c348730" + ); + audio.play(); + + toast.success("Live Announcement from Arjun"); + }, 2000); + + setTimeout(function () { + props.handleChangeDemoStep(DemoStep.doneDemo); + + toast.success("done with the demo!"); + }, 9000); + } + }, [props.demoStep]); return (
@@ -54,6 +79,40 @@ export default function Announcements(props: IVoiceDemoProps) {
+ {/* arjun's announcement */} + + + + + profile + + + + Arjun + 2 seconds ago + + engineering + + + + + + + + {/* adriana's announcement */} @@ -69,45 +128,17 @@ export default function Announcements(props: IVoiceDemoProps) { Adriana - 5 minutes ago + 30 minutes ago blockers - - - {/* arjun's announcement */} - - - - - profile - - - - Arjun - 30 minutes ago - - engineering - - - - - -
diff --git a/components/demo/TeamVoiceLine.tsx b/components/demo/TeamVoiceLine.tsx index 890cf73..9bc9425 100644 --- a/components/demo/TeamVoiceLine.tsx +++ b/components/demo/TeamVoiceLine.tsx @@ -84,7 +84,8 @@ function TeamVoiceLine(props: IVoiceDemoProps) { const isVoiceLineTurn = props.demoStep == DemoStep.playIncomingMessage || props.demoStep == DemoStep.hearReply || - props.demoStep == DemoStep.sendReply; + props.demoStep == DemoStep.sendReply || + props.demoStep == DemoStep.doneDemo; useEffect(() => { if (props.demoStep == DemoStep.playIncomingMessage) { @@ -100,7 +101,14 @@ function TeamVoiceLine(props: IVoiceDemoProps) { }, 10000); } else if (props.demoStep == DemoStep.sendReply) { } else if (props.demoStep == DemoStep.hearReply) { - toast.success("Paul heard it live!"); + var audio = new Audio( + "https://firebasestorage.googleapis.com/v0/b/nirvana-for-business.appspot.com/o/deep%20fakes%2Fvocodes_728915c1-eb1f-4f16-8f70-c7b0c2235b3e.wav?alt=media&token=76afd74c-7499-4bd8-9c10-dd6ff4f81c48" + ); + audio.play(); + + setTimeout(function () { + props.handleChangeDemoStep(DemoStep.playAnnouncement); + }, 6000); } }, [props.demoStep]); @@ -116,6 +124,12 @@ function TeamVoiceLine(props: IVoiceDemoProps) { toast.success("Paul heard it live!"); setIsRecording(false); + + setTimeout(function () { + toast.success("Mark is talking..."); + + props.handleChangeDemoStep(DemoStep.hearReply); + }, 3000); } const keyMap: KeyMap = { @@ -132,7 +146,7 @@ function TeamVoiceLine(props: IVoiceDemoProps) {
{/* keyboard shortcut handler */} @@ -157,13 +171,18 @@ function TeamVoiceLine(props: IVoiceDemoProps) { - {friend.name == "Paul" && - props.demoStep == DemoStep.playIncomingMessage ? ( + {(friend.name == "Paul" && + props.demoStep == DemoStep.playIncomingMessage) || + (friend.name == "Mark" && + props.demoStep == DemoStep.hearReply) ? ( ) : ( <> diff --git a/components/demo/VoiceLineConceptDemo.tsx b/components/demo/VoiceLineConceptDemo.tsx index 5c557f2..8f6ce0a 100644 --- a/components/demo/VoiceLineConceptDemo.tsx +++ b/components/demo/VoiceLineConceptDemo.tsx @@ -10,7 +10,7 @@ export enum DemoStep { sendReply = "send reply", hearReply = "hear reply", playAnnouncement = "play announcement", - resolveAnnouncement = "resolve announcement", + doneDemo = "done with demo", } export interface IVoiceDemoProps {