mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-21 20:59:05 +00:00
feat: complete calendar integration with UI improvements and code cleanup
Calendar Integration Tasks: - Update upcoming meetings window from 30 to 120 minutes - Include currently happening events in upcoming meetings API - Create shared time utility functions (formatDateTime, formatCountdown, formatStartedAgo) - Improve ongoing meetings UI logic with proper time detection - Fix backend code organization and remove excessive documentation UI/UX Improvements: - Restructure room page layout using MinimalHeader pattern - Remove borders from header and footer elements - Change button text from "Leave Meeting" to "Leave Room" - Remove "Back to Reflector" footer for cleaner design - Extract WaitPageClient component for better separation Backend Changes: - calendar_events.py: Fix import organization and extend timing window - rooms.py: Update API default from 30 to 120 minutes - Enhanced test coverage for ongoing meeting scenarios Frontend Changes: - MinimalHeader: Add onLeave prop for custom navigation - MeetingSelection: Complete layout restructure with shared utilities - timeUtils: New shared utility file for consistent time formatting 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -9,17 +9,23 @@ interface MinimalHeaderProps {
|
||||
roomName: string;
|
||||
displayName?: string;
|
||||
showLeaveButton?: boolean;
|
||||
onLeave?: () => void;
|
||||
}
|
||||
|
||||
export default function MinimalHeader({
|
||||
roomName,
|
||||
displayName,
|
||||
showLeaveButton = true,
|
||||
onLeave,
|
||||
}: MinimalHeaderProps) {
|
||||
const router = useRouter();
|
||||
|
||||
const handleLeaveMeeting = () => {
|
||||
router.push(`/${roomName}`);
|
||||
if (onLeave) {
|
||||
onLeave();
|
||||
} else {
|
||||
router.push(`/${roomName}`);
|
||||
}
|
||||
};
|
||||
|
||||
const roomTitle = displayName
|
||||
@@ -36,8 +42,6 @@ export default function MinimalHeader({
|
||||
w="100%"
|
||||
py="2"
|
||||
px="4"
|
||||
borderBottom="1px solid"
|
||||
borderColor="gray.200"
|
||||
bg="white"
|
||||
position="sticky"
|
||||
top="0"
|
||||
@@ -59,7 +63,7 @@ export default function MinimalHeader({
|
||||
</Text>
|
||||
</Flex>
|
||||
|
||||
{/* Leave Meeting Button */}
|
||||
{/* Leave Room Button */}
|
||||
{showLeaveButton && (
|
||||
<Button
|
||||
variant="outline"
|
||||
@@ -67,7 +71,7 @@ export default function MinimalHeader({
|
||||
size="sm"
|
||||
onClick={handleLeaveMeeting}
|
||||
>
|
||||
Leave Meeting
|
||||
Leave Room
|
||||
</Button>
|
||||
)}
|
||||
</Flex>
|
||||
|
||||
Reference in New Issue
Block a user