## What does this PR do? - Adds a welcome modal for new Cal.com users - Implements timezone display in the weekly calendar view - Creates a hook for fetching onboarding calendar events ## Visual Demo (For contributors especially) #### Image Demo:   ## Mandatory Tasks - [x] I have self-reviewed the code - [x] I have updated the developer docs in /docs - [x] I confirm automated tests are in place that prove my fix is effective or that my feature works. ## How should this be tested? 1. **Welcome Modal:** - Create a new user account - Verify the welcome modal appears with correct content - Test the "Continue" button closes the modal - Check that the modal can be triggered via URL parameter `?welcomeToCalcomModal=true` 2. **Timezone Display:** - Go to the weekly calendar view - Verify the timezone is displayed correctly when `showTimezone` is enabled - Test with different timezones to ensure proper formatting 3. **Onboarding Calendar Events:** - Test the hook by connecting a calendar during onboarding - Verify events are fetched and displayed correctly - Check that events refresh when new calendars are connected ## Checklist - I have read the [contributing guide](https://github.com/calcom/cal.com/blob/main/CONTRIBUTING.md) - My code follows the style guidelines of this project - I have commented my code, particularly in hard-to-understand areas - I have checked if my changes generate no new warnings
26 lines
831 B
TypeScript
26 lines
831 B
TypeScript
"use client";
|
|
|
|
import { WelcomeToOrganizationsModal } from "@calcom/features/ee/organizations/components/WelcomeToOrganizationsModal";
|
|
|
|
import { WelcomeToCalcomModal } from "./components/WelcomeToCalcomModal";
|
|
|
|
/**
|
|
* Container for all query-param driven modals that should appear globally across the app.
|
|
* This keeps the Shell component clean and provides a centralized place for dynamic modals.
|
|
*
|
|
* We can probably also use this for thinks like the T&C and Privacy Policy modals. That @marketing are discussing
|
|
*
|
|
* To add a new modal:
|
|
* 1. Create the modal component with its own useQueryState hook
|
|
* 2. Import and add it here
|
|
*/
|
|
export function DynamicModals() {
|
|
return (
|
|
<>
|
|
<WelcomeToOrganizationsModal />
|
|
<WelcomeToCalcomModal />
|
|
{/* Add more query-param driven modals here */}
|
|
</>
|
|
);
|
|
}
|