Skip to content

Commit 6bc892b

Browse files
committed
feat: calendar settings headers styles
1 parent 6ede440 commit 6bc892b

File tree

4 files changed

+46
-8
lines changed

4 files changed

+46
-8
lines changed

packages/platform/atoms/calendar-settings/wrappers/CalendarSettingsPlatformWrapper.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
1+
import type { DestinationHeaderClassnames } from "destination-calendar/DestinationCalendar";
2+
13
import { DestinationCalendarSettingsPlatformWrapper } from "../../destination-calendar/index";
24
import { SelectedCalendarsSettingsPlatformWrapper } from "../../selected-calendars/index";
3-
import type { CalendarRedirectUrls } from "../../selected-calendars/wrappers/SelectedCalendarsSettingsPlatformWrapper";
5+
import type {
6+
CalendarRedirectUrls,
7+
SelectedCalendarsHeaderClassnames,
8+
} from "../../selected-calendars/wrappers/SelectedCalendarsSettingsPlatformWrapper";
49

510
type CalendarSettingsPlatformWrapperProps = {
611
classNames?: {
712
calendarSettingsCustomClassnames?: string;
813
destinationCalendarSettingsCustomClassnames?: string;
914
selectedCalendarSettingsCustomClassnames?: string;
15+
selectedCalendarSettingsHeaderClassNames?: SelectedCalendarsHeaderClassnames;
16+
destinationCalendarSettingsHeaderClassNames?: DestinationHeaderClassnames;
1017
};
1118
calendarRedirectUrls?: CalendarRedirectUrls;
1219
allowDelete?: boolean;
@@ -24,13 +31,15 @@ export const CalendarSettingsPlatformWrapper = ({
2431
<DestinationCalendarSettingsPlatformWrapper
2532
statusLoader={<></>}
2633
classNames={classNames?.destinationCalendarSettingsCustomClassnames}
34+
headerClassNames={classNames?.destinationCalendarSettingsHeaderClassNames}
2735
isDryRun={isDryRun}
2836
/>
2937
<SelectedCalendarsSettingsPlatformWrapper
3038
classNames={classNames?.selectedCalendarSettingsCustomClassnames}
3139
calendarRedirectUrls={calendarRedirectUrls}
3240
allowDelete={allowDelete}
3341
isDryRun={isDryRun}
42+
headerClassNames={classNames?.selectedCalendarSettingsHeaderClassNames}
3443
/>
3544
</div>
3645
);

packages/platform/atoms/destination-calendar/DestinationCalendar.tsx

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,19 @@ import { cn } from "../src/lib/utils";
55
import type { DestinationCalendarProps } from "./DestinationCalendarSelector";
66
import { DestinationCalendarSelector } from "./DestinationCalendarSelector";
77

8-
export const DestinationCalendarSettings = (props: DestinationCalendarProps & { classNames?: string }) => {
8+
export type DestinationHeaderClassnames = {
9+
title?: string;
10+
description?: string;
11+
};
12+
13+
export const DestinationCalendarSettings = (
14+
props: DestinationCalendarProps & { classNames?: string; headerClassNames?: DestinationHeaderClassnames }
15+
) => {
916
const { t } = useLocale();
1017

1118
return (
1219
<div className={cn("border-subtle mb-6 mt-8 rounded-lg border", props?.classNames)}>
13-
<DestinationCalendarSettingsHeading />
20+
<DestinationCalendarSettingsHeading classNames={props.headerClassNames} />
1421
<div className="border-t">
1522
<div className="border-subtle flex w-full flex-col space-y-3 border-y-0 p-6">
1623
<div>
@@ -23,15 +30,17 @@ export const DestinationCalendarSettings = (props: DestinationCalendarProps & {
2330
);
2431
};
2532

26-
const DestinationCalendarSettingsHeading = () => {
33+
const DestinationCalendarSettingsHeading = ({ classNames }: { classNames?: DestinationHeaderClassnames }) => {
2734
const { t } = useLocale();
2835

2936
return (
3037
<div className="p-6">
31-
<h2 className="text-emphasis mb-1 text-base font-bold leading-5 tracking-wide">
38+
<h2 className={cn("text-emphasis mb-1 text-base font-bold leading-5 tracking-wide", classNames?.title)}>
3239
{t("add_to_calendar")}
3340
</h2>
34-
<p className="text-subtle text-sm leading-tight">{t("add_to_calendar_description")}</p>
41+
<p className={cn("text-subtle text-sm leading-tight", classNames?.description)}>
42+
{t("add_to_calendar_description")}
43+
</p>
3544
</div>
3645
);
3746
};

packages/platform/atoms/destination-calendar/wrappers/DestinationCalendarSettingsPlatformWrapper.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
import { useUpdateDestinationCalendars } from "../../hooks/calendars/useUpdateDestinationCalendars";
22
import { useConnectedCalendars } from "../../hooks/useConnectedCalendars";
33
import { AtomsWrapper } from "../../src/components/atoms-wrapper";
4+
import type { DestinationHeaderClassnames } from "../DestinationCalendar";
45
import { DestinationCalendarSettings } from "../DestinationCalendar";
56

67
export const DestinationCalendarSettingsPlatformWrapper = ({
78
statusLoader,
89
classNames = "mx-5",
10+
headerClassNames,
911
isDryRun = false,
1012
}: {
1113
statusLoader?: JSX.Element;
1214
classNames?: string;
15+
headerClassNames?: DestinationHeaderClassnames;
1316
isDryRun?: boolean;
1417
}) => {
1518
const calendars = useConnectedCalendars({});
@@ -35,6 +38,7 @@ export const DestinationCalendarSettingsPlatformWrapper = ({
3538
<AtomsWrapper>
3639
<DestinationCalendarSettings
3740
classNames={classNames}
41+
headerClassNames={headerClassNames}
3842
connectedCalendars={calendars.data.connectedCalendars}
3943
destinationCalendar={calendars.data.destinationCalendar}
4044
value={calendars.data.destinationCalendar.externalId}

packages/platform/atoms/selected-calendars/wrappers/SelectedCalendarsSettingsPlatformWrapper.tsx

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import type { ICalendarSwitchProps } from "@calcom/features/calendars/CalendarSw
44
import { useLocale } from "@calcom/lib/hooks/useLocale";
55
import type { CALENDARS } from "@calcom/platform-constants";
66
import { QueryCell } from "@calcom/trpc/components/QueryCell";
7+
import cn from "@calcom/ui/classNames";
78
import { Alert } from "@calcom/ui/components/alert";
89
import { AppListCard } from "@calcom/ui/components/app-list-card";
910
import type { ButtonProps } from "@calcom/ui/components/button";
@@ -31,6 +32,7 @@ export type CalendarRedirectUrls = {
3132

3233
type SelectedCalendarsSettingsPlatformWrapperProps = {
3334
classNames?: string;
35+
headerClassNames?: SelectedCalendarsHeaderClassnames;
3436
calendarRedirectUrls?: CalendarRedirectUrls;
3537
allowDelete?: boolean;
3638
isDryRun?: boolean;
@@ -41,6 +43,7 @@ export const SelectedCalendarsSettingsPlatformWrapper = ({
4143
calendarRedirectUrls,
4244
allowDelete,
4345
isDryRun,
46+
headerClassNames,
4447
}: SelectedCalendarsSettingsPlatformWrapperProps) => {
4548
const { t } = useLocale();
4649
const query = useConnectedCalendars({});
@@ -57,6 +60,7 @@ export const SelectedCalendarsSettingsPlatformWrapper = ({
5760
return (
5861
<SelectedCalendarsSettings classNames={classNames}>
5962
<SelectedCalendarsSettingsHeading
63+
classNames={headerClassNames}
6064
calendarRedirectUrls={calendarRedirectUrls}
6165
isDryRun={isDryRun}
6266
/>
@@ -68,6 +72,7 @@ export const SelectedCalendarsSettingsPlatformWrapper = ({
6872
return (
6973
<SelectedCalendarsSettings classNames={classNames}>
7074
<SelectedCalendarsSettingsHeading
75+
classNames={headerClassNames}
7176
calendarRedirectUrls={calendarRedirectUrls}
7277
isDryRun={isDryRun}
7378
/>
@@ -156,21 +161,32 @@ export const SelectedCalendarsSettingsPlatformWrapper = ({
156161
);
157162
};
158163

164+
export type SelectedCalendarsHeaderClassnames = {
165+
title?: string;
166+
description?: string;
167+
};
168+
159169
const SelectedCalendarsSettingsHeading = ({
160170
calendarRedirectUrls,
161171
isDryRun,
172+
classNames,
162173
}: {
163174
calendarRedirectUrls?: CalendarRedirectUrls;
164175
isDryRun?: boolean;
176+
classNames?: SelectedCalendarsHeaderClassnames;
165177
}) => {
166178
const { t } = useLocale();
167179

168180
return (
169181
<div className="border-subtle border-b p-6">
170182
<div className="flex items-center justify-between">
171183
<div>
172-
<h4 className="text-emphasis text-base font-semibold leading-5">{t("check_for_conflicts")}</h4>
173-
<p className="text-default text-sm leading-tight">{t("select_calendars")}</p>
184+
<h4 className={cn("text-emphasis text-base font-semibold leading-5", classNames?.title)}>
185+
{t("check_for_conflicts")}
186+
</h4>
187+
<p className={cn("text-default text-sm leading-tight", classNames?.description)}>
188+
{t("select_calendars")}
189+
</p>
174190
</div>
175191
<div className="flex flex-col xl:flex-row xl:space-x-5">
176192
<div className="flex items-center">

0 commit comments

Comments
 (0)