diff --git a/apps/web/pages/settings/admin/apps/[category].tsx b/apps/web/pages/settings/admin/apps/[category].tsx
index 588bec41ae..835c6e5e65 100644
--- a/apps/web/pages/settings/admin/apps/[category].tsx
+++ b/apps/web/pages/settings/admin/apps/[category].tsx
@@ -10,7 +10,7 @@ function AdminAppsView() {
const { t } = useLocale();
return (
<>
-
+
>
);
diff --git a/apps/web/public/static/locales/en/common.json b/apps/web/public/static/locales/en/common.json
index c29759b7ae..c445ac1ff2 100644
--- a/apps/web/public/static/locales/en/common.json
+++ b/apps/web/public/static/locales/en/common.json
@@ -1431,7 +1431,7 @@
"disable_app": "Disable App",
"disable_app_description": "Disabling this app could cause problems with how your users interact with Cal",
"edit_keys": "Edit Keys",
- "apps_description": "Enable apps for your instance of Cal",
+ "admin_apps_description": "Enable apps for your instance of Cal",
"no_available_apps": "There are no available apps",
"no_available_apps_description": "Please ensure there are apps in your deployment under 'packages/app-store'",
"no_apps": "There are no apps enabled in this instance of Cal",
@@ -1454,5 +1454,7 @@
"date_overrides_update_btn": "Update Override",
"event_type_duplicate_copy_text": "{{slug}}-copy",
"set_as_default": "Set as default",
- "hide_eventtype_details": "Hide EventType Details"
+ "hide_eventtype_details": "Hide EventType Details",
+ "no_availability_in_month": "No availability in {{month}}",
+ "view_next_month": "View next month"
}
diff --git a/packages/ui/v2/modules/booker/DatePicker.tsx b/packages/ui/v2/modules/booker/DatePicker.tsx
index a0af79622e..0625b5c4f2 100644
--- a/packages/ui/v2/modules/booker/DatePicker.tsx
+++ b/packages/ui/v2/modules/booker/DatePicker.tsx
@@ -6,6 +6,7 @@ import classNames from "@calcom/lib/classNames";
import { daysInMonth, yyyymmdd } from "@calcom/lib/date-fns";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { weekdayNames } from "@calcom/lib/weekday";
+import { Button, Icon } from "@calcom/ui";
import { SkeletonText } from "../../..";
@@ -69,6 +70,27 @@ export const Day = ({
);
};
+const NoAvailabilityOverlay = ({
+ month,
+ nextMonthButton,
+}: {
+ month: string | null;
+ nextMonthButton: () => void;
+}) => {
+ const { t } = useLocale();
+
+ return (
+
+
+ {t("no_availability_in_month", { month: month })}
+
+
+
+ );
+};
+
const Days = ({
minDate = dayjs.utc(),
excludedDates = [],
@@ -76,16 +98,19 @@ const Days = ({
weekStart,
DayComponent = Day,
selected,
+ month,
+ nextMonthButton,
...props
}: Omit & {
DayComponent?: React.FC>;
browsingDate: Dayjs;
weekStart: number;
+ month: string | null;
+ nextMonthButton: () => void;
}) => {
// Create placeholder elements for empty days in first week
const weekdayOfFirst = browsingDate.day();
const currentDate = minDate.utcOffset(browsingDate.utcOffset());
-
const availableDates = (includedDates: string[] | undefined) => {
const dates = [];
const lastDateOfMonth = browsingDate.date(daysInMonth(browsingDate));
@@ -120,7 +145,7 @@ const Days = ({
) : props.isLoading ? (