diff --git a/www/app/(app)/rooms/page.tsx b/www/app/(app)/rooms/page.tsx
index 198df774..147f8351 100644
--- a/www/app/(app)/rooms/page.tsx
+++ b/www/app/(app)/rooms/page.tsx
@@ -15,9 +15,12 @@ import {
createListCollection,
useDisclosure,
Tabs,
+ Popover,
+ Text,
+ HStack,
} from "@chakra-ui/react";
import { useEffect, useMemo, useState } from "react";
-import { LuEye, LuEyeOff } from "react-icons/lu";
+import { LuEye, LuEyeOff, LuInfo } from "react-icons/lu";
import useRoomList from "./useRoomList";
import type { components } from "../../reflector-api";
import {
@@ -534,6 +537,10 @@ export default function RoomsList() {
room.recordingType === "cloud"
? "automatic-2nd-participant"
: "none";
+ } else {
+ if (room.recordingType !== "cloud") {
+ updates.recordingTrigger = "none";
+ }
}
setRoomInput({ ...room, ...updates });
}}
@@ -583,39 +590,75 @@ export default function RoomsList() {
Locked room
+ {room.platform !== "daily" && (
+
+ Room size
+
+ setRoomInput({ ...room, roomMode: e.value[0] })
+ }
+ collection={roomModeCollection}
+ >
+
+
+
+
+
+
+
+
+
+
+
+ {roomModeOptions.map((option) => (
+
+ {option.label}
+
+
+ ))}
+
+
+
+
+ )}
- Room size
-
- setRoomInput({ ...room, roomMode: e.value[0] })
- }
- collection={roomModeCollection}
- disabled={room.platform === "daily"}
- >
-
-
-
-
-
-
-
-
-
-
-
- {roomModeOptions.map((option) => (
-
- {option.label}
-
-
- ))}
-
-
-
-
-
- Recording type
+
+ Recording type
+
+
+
+
+
+
+
+
+
+
+
+ None: No recording will be
+ created.
+
+
+ Local: Recording happens on
+ each participant's device. Files are saved
+ locally.
+
+
+ Cloud: Recording happens on
+ the platform's servers and is available after
+ the meeting ends.
+
+
+
+
+
+
{
@@ -623,14 +666,12 @@ export default function RoomsList() {
const updates: Partial = {
recordingType: newRecordingType,
};
- // For Daily: if cloud, use automatic; otherwise none
if (room.platform === "daily") {
updates.recordingTrigger =
newRecordingType === "cloud"
? "automatic-2nd-participant"
: "none";
} else {
- // For Whereby: if not cloud, set to none
updates.recordingTrigger =
newRecordingType !== "cloud"
? "none"
@@ -661,44 +702,77 @@ export default function RoomsList() {
-
- Recording start trigger
-
- setRoomInput({
- ...room,
- recordingTrigger: e.value[0],
- })
- }
- collection={recordingTriggerCollection}
- disabled={
- room.recordingType !== "cloud" ||
- (room.platform === "daily" &&
- room.recordingType === "cloud")
- }
- >
-
-
-
-
-
-
-
-
-
-
-
- {recordingTriggerOptions.map((option) => (
-
- {option.label}
-
-
- ))}
-
-
-
-
+ {room.recordingType === "cloud" &&
+ room.platform !== "daily" && (
+
+
+ Recording start trigger
+
+
+
+
+
+
+
+
+
+
+
+ None: Recording must be
+ started manually by a participant.
+
+
+ Prompt: Participants will
+ be prompted to start recording when they
+ join.
+
+
+ Automatic: Recording
+ starts automatically when a second
+ participant joins.
+
+
+
+
+
+
+
+ setRoomInput({
+ ...room,
+ recordingTrigger: e.value[0],
+ })
+ }
+ collection={recordingTriggerCollection}
+ >
+
+
+
+
+
+
+
+
+
+
+
+ {recordingTriggerOptions.map((option) => (
+
+ {option.label}
+
+
+ ))}
+
+
+
+
+ )}