diff --git a/apps/web/public/static/locales/en/common.json b/apps/web/public/static/locales/en/common.json
index 1bca45281d81ef..11c6f5e407dff2 100644
--- a/apps/web/public/static/locales/en/common.json
+++ b/apps/web/public/static/locales/en/common.json
@@ -462,7 +462,13 @@
"allow_seo_indexing": "Allow search engines to access your public content",
"seo_indexing": "Allow SEO Indexing",
"allow_browser_notifications": "Allow Browser Notifications",
+ "you_have_denied_notifications": "You have denied notifications. Reset permission in browser settings to enable.",
"disable_browser_notifications": "Disable Browser Notifications",
+ "browser_notifications_turned_on": "Browser Notifications turned on",
+ "browser_notifications_turned_off": "Browser Notifications turned off",
+ "browser_notifications_denied": "Browser Notifications denied",
+ "please_allow_notifications": "Please allow notifications from the prompt",
+ "browser_notifications_not_supported": "Your browser does not support Push Notifications",
"email": "Email",
"email_placeholder": "jdoe@example.com",
"full_name": "Full name",
diff --git a/packages/features/shell/Shell.tsx b/packages/features/shell/Shell.tsx
index aea847130a7749..4dcb01520b5db6 100644
--- a/packages/features/shell/Shell.tsx
+++ b/packages/features/shell/Shell.tsx
@@ -53,7 +53,6 @@ import { useFormbricks } from "@calcom/lib/formbricks-client";
import getBrandColours from "@calcom/lib/getBrandColours";
import { useBookerUrl } from "@calcom/lib/hooks/useBookerUrl";
import { useLocale } from "@calcom/lib/hooks/useLocale";
-import { useNotifications } from "@calcom/lib/hooks/useNotifications";
import useTheme from "@calcom/lib/hooks/useTheme";
import { isKeyInObject } from "@calcom/lib/isKeyInObject";
import { localStorage } from "@calcom/lib/webstorage";
@@ -1084,8 +1083,7 @@ function SideBar({ bannersHeight, user }: SideBarProps) {
export function ShellMain(props: LayoutProps) {
const router = useRouter();
- const { isLocaleReady, t } = useLocale();
- const { buttonToShow, isLoading, enableNotifications, disableNotifications } = useNotifications();
+ const { isLocaleReady } = useLocale();
return (
<>
@@ -1145,22 +1143,6 @@ export function ShellMain(props: LayoutProps) {
)}
{props.actions && props.actions}
- {props.heading === "Bookings" &&
- (buttonToShow === "allow" ? (
-
- ) : buttonToShow === "disable" ? (
-
- ) : buttonToShow === "denied" ? (
-
-
-
- ) : null)}
)}
diff --git a/packages/lib/hooks/useNotifications.tsx b/packages/lib/hooks/useNotifications.tsx
index c7a02ab26884ea..c8e5c11f5a609e 100644
--- a/packages/lib/hooks/useNotifications.tsx
+++ b/packages/lib/hooks/useNotifications.tsx
@@ -1,16 +1,18 @@
import { useState, useEffect } from "react";
+import { useLocale } from "@calcom/lib/hooks/useLocale";
import { trpc } from "@calcom/trpc/react";
import { showToast } from "@calcom/ui";
export const useNotifications = () => {
const [buttonToShow, setButtonToShow] = useState<"none" | "allow" | "disable" | "denied">("none");
const [isLoading, setIsLoading] = useState(false);
+ const { t } = useLocale();
const { mutate: addSubscription } = trpc.viewer.addNotificationsSubscription.useMutation({
onSuccess: () => {
setButtonToShow("disable");
- showToast("Notifications turned on", "success");
+ showToast(t("browser_notifications_turned_on"), "success");
},
onError: (error) => {
showToast(`Error: ${error.message}`, "error");
@@ -22,7 +24,7 @@ export const useNotifications = () => {
const { mutate: removeSubscription } = trpc.viewer.removeNotificationsSubscription.useMutation({
onSuccess: () => {
setButtonToShow("allow");
- showToast("Notifications turned off", "success");
+ showToast(t("browser_notifications_turned_off"), "success");
},
onError: (error) => {
showToast(`Error: ${error.message}`, "error");
@@ -72,13 +74,13 @@ export const useNotifications = () => {
if (permissionResponse === "denied") {
setButtonToShow("denied");
setIsLoading(false);
- showToast("You denied the notifications", "warning");
+ showToast(t("browser_notifications_denied"), "warning");
return;
}
if (permissionResponse === "default") {
setIsLoading(false);
- showToast("Please allow notifications from the prompt", "warning");
+ showToast(t("please_allow_notifications"), "warning");
return;
}
@@ -99,7 +101,7 @@ export const useNotifications = () => {
console.error(error);
setIsLoading(false);
setButtonToShow("none");
- showToast("Your browser does not support Push Notifications", "error");
+ showToast(t("browser_notifications_not_supported"), "error");
return;
}
diff --git a/packages/trpc/server/routers/loggedInViewer/addNotificationsSubscription.handler.ts b/packages/trpc/server/routers/loggedInViewer/addNotificationsSubscription.handler.ts
index 2720b23fdb773d..19529ab2ddbefd 100644
--- a/packages/trpc/server/routers/loggedInViewer/addNotificationsSubscription.handler.ts
+++ b/packages/trpc/server/routers/loggedInViewer/addNotificationsSubscription.handler.ts
@@ -1,5 +1,3 @@
-import type { GetServerSidePropsContext, NextApiResponse } from "next";
-
import prisma from "@calcom/prisma";
import type { TrpcSessionUser } from "@calcom/trpc/server/trpc";
@@ -8,7 +6,6 @@ import type { TAddNotificationsSubscriptionInputSchema } from "./addNotification
type AddSecondaryEmailOptions = {
ctx: {
user: NonNullable