mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-22 05:09:05 +00:00
fix: redirect Join Now button to local meeting page
- Change handleJoinDirect to use onMeetingSelect instead of opening external URL
- Join Now button now navigates to /{roomName}/{meetingId} instead of whereby.com
- Maintains proper routing within the application
This commit is contained in:
@@ -106,9 +106,9 @@ export default function MeetingSelection({
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleJoinUpcoming = async (meeting: Meeting) => {
|
const handleJoinUpcoming = async (meeting: Meeting) => {
|
||||||
// Join the upcoming meeting directly
|
// Join the upcoming meeting and navigate to local meeting page
|
||||||
try {
|
try {
|
||||||
await joinMeetingMutation.mutateAsync({
|
const joinedMeeting = await joinMeetingMutation.mutateAsync({
|
||||||
params: {
|
params: {
|
||||||
path: {
|
path: {
|
||||||
room_name: roomName,
|
room_name: roomName,
|
||||||
@@ -116,15 +116,15 @@ export default function MeetingSelection({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
handleJoinDirect(meeting.room_url);
|
onMeetingSelect(joinedMeeting);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error("Failed to join upcoming meeting:", err);
|
console.error("Failed to join upcoming meeting:", err);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleJoinDirect = (roomUrl: string) => {
|
const handleJoinDirect = (meeting: Meeting) => {
|
||||||
// Go directly to the meeting URL (Whereby/etc)
|
// Navigate to local meeting page instead of external URL
|
||||||
window.open(roomUrl, "_blank");
|
onMeetingSelect(meeting);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleEndMeeting = async (meetingId: string) => {
|
const handleEndMeeting = async (meetingId: string) => {
|
||||||
@@ -168,7 +168,7 @@ export default function MeetingSelection({
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Generate display name for room
|
// Generate display name for room
|
||||||
const displayName = room?.display_name || room?.name || roomName;
|
const displayName = room?.name || roomName;
|
||||||
const roomTitle =
|
const roomTitle =
|
||||||
displayName.endsWith("'s") || displayName.endsWith("s")
|
displayName.endsWith("'s") || displayName.endsWith("s")
|
||||||
? `${displayName} Room`
|
? `${displayName} Room`
|
||||||
@@ -182,7 +182,7 @@ export default function MeetingSelection({
|
|||||||
<Flex flexDir="column" minH="100vh">
|
<Flex flexDir="column" minH="100vh">
|
||||||
<MinimalHeader
|
<MinimalHeader
|
||||||
roomName={roomName}
|
roomName={roomName}
|
||||||
displayName={room?.display_name || room?.name}
|
displayName={room?.name}
|
||||||
showLeaveButton={true}
|
showLeaveButton={true}
|
||||||
onLeave={handleLeaveMeeting}
|
onLeave={handleLeaveMeeting}
|
||||||
/>
|
/>
|
||||||
@@ -295,9 +295,9 @@ export default function MeetingSelection({
|
|||||||
fontSize="lg"
|
fontSize="lg"
|
||||||
px={8}
|
px={8}
|
||||||
py={6}
|
py={6}
|
||||||
onClick={() => handleJoinDirect(meeting.room_url)}
|
onClick={() => handleJoinDirect(meeting)}
|
||||||
leftIcon={<Icon as={FaUsers} boxSize="20px" />}
|
|
||||||
>
|
>
|
||||||
|
<Icon as={FaUsers} boxSize="20px" me={2} />
|
||||||
Join Now
|
Join Now
|
||||||
</Button>
|
</Button>
|
||||||
{isOwner && (
|
{isOwner && (
|
||||||
@@ -306,9 +306,9 @@ export default function MeetingSelection({
|
|||||||
colorScheme="red"
|
colorScheme="red"
|
||||||
size="md"
|
size="md"
|
||||||
onClick={() => handleEndMeeting(meeting.id)}
|
onClick={() => handleEndMeeting(meeting.id)}
|
||||||
isLoading={deactivateMeetingMutation.isPending}
|
loading={deactivateMeetingMutation.isPending}
|
||||||
leftIcon={<Icon as={LuX} />}
|
|
||||||
>
|
>
|
||||||
|
<Icon as={LuX} me={2} />
|
||||||
End Meeting
|
End Meeting
|
||||||
</Button>
|
</Button>
|
||||||
)}
|
)}
|
||||||
|
|||||||
Reference in New Issue
Block a user