Skip to content

Commit

Permalink
chore: [app dir bootstrapping 9]: replace useSearchParams with useCom…
Browse files Browse the repository at this point in the history
…patSearchParams hook (calcom#12056)

Co-authored-by: zomars <[email protected]>
  • Loading branch information
DmytroHryshyn and zomars authored Nov 16, 2023
1 parent 3534e3c commit 28acbe5
Show file tree
Hide file tree
Showing 53 changed files with 254 additions and 97 deletions.
5 changes: 3 additions & 2 deletions apps/web/components/AppListCard.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import { usePathname, useRouter, useSearchParams } from "next/navigation";
import { usePathname, useRouter } from "next/navigation";
import type { ReactNode } from "react";
import { useEffect, useRef, useState } from "react";
import { z } from "zod";

import type { CredentialOwner } from "@calcom/app-store/types";
import classNames from "@calcom/lib/classNames";
import { getPlaceholderAvatar } from "@calcom/lib/defaultAvatarImage";
import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { useTypedQuery } from "@calcom/lib/hooks/useTypedQuery";
import { Badge, ListItemText, Avatar } from "@calcom/ui";
Expand Down Expand Up @@ -56,7 +57,7 @@ export default function AppListCard(props: AppListCardProps) {
const router = useRouter();
const [highlight, setHighlight] = useState(shouldHighlight && hl === slug);
const timeoutRef = useRef<NodeJS.Timeout | null>(null);
const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();
const pathname = usePathname();

useEffect(() => {
Expand Down
6 changes: 4 additions & 2 deletions apps/web/lib/hooks/useIsBookingPage.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import { usePathname, useSearchParams } from "next/navigation";
import { usePathname } from "next/navigation";

import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";

export default function useIsBookingPage(): boolean {
const pathname = usePathname();
const isBookingPage = ["/booking/", "/cancel", "/reschedule"].some((route) => pathname?.startsWith(route));

const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();
const userParam = Boolean(searchParams?.get("user"));
const teamParam = Boolean(searchParams?.get("team"));

Expand Down
6 changes: 4 additions & 2 deletions apps/web/lib/hooks/useRouterQuery.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import { usePathname, useRouter, useSearchParams } from "next/navigation";
import { usePathname, useRouter } from "next/navigation";
import { useCallback } from "react";

import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";

export default function useRouterQuery<T extends string>(name: T) {
const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();
const pathname = usePathname();
const router = useRouter();

Expand Down
4 changes: 2 additions & 2 deletions apps/web/lib/hooks/useToggleQuery.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { useSearchParams } from "next/navigation";
import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";

export function useToggleQuery(name: string) {
const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();

return {
isOn: searchParams?.get(name) === "1",
Expand Down
4 changes: 2 additions & 2 deletions apps/web/pages/500.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import Head from "next/head";
import { useSearchParams } from "next/navigation";

import { APP_NAME } from "@calcom/lib/constants";
import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { Button, showToast } from "@calcom/ui";
import { Copy } from "@calcom/ui/components/icon";

import PageWrapper from "@components/PageWrapper";

export default function Error500() {
const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();
const { t } = useLocale();

return (
Expand Down
5 changes: 3 additions & 2 deletions apps/web/pages/apps/[slug]/setup.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
import type { InferGetServerSidePropsType } from "next";
import { useSession } from "next-auth/react";
import { useRouter, useSearchParams } from "next/navigation";
import { useRouter } from "next/navigation";

import { AppSetupPage } from "@calcom/app-store/_pages/setup";
import { getServerSideProps } from "@calcom/app-store/_pages/setup/_getServerSideProps";
import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";
import { HeadSeo } from "@calcom/ui";

import PageWrapper from "@components/PageWrapper";

export default function SetupInformation(props: InferGetServerSidePropsType<typeof getServerSideProps>) {
const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();
const router = useRouter();
const slug = searchParams?.get("slug") as string;
const { status } = useSession();
Expand Down
4 changes: 2 additions & 2 deletions apps/web/pages/apps/categories/[category].tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { Prisma } from "@prisma/client";
import type { GetStaticPropsContext, InferGetStaticPropsType } from "next";
import Link from "next/link";
import { useSearchParams } from "next/navigation";

import { getAppRegistry } from "@calcom/app-store/_appRegistry";
import Shell from "@calcom/features/shell/Shell";
import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import prisma from "@calcom/prisma";
import { AppCategories } from "@calcom/prisma/enums";
Expand All @@ -13,7 +13,7 @@ import { AppCard, SkeletonText } from "@calcom/ui";
import PageWrapper from "@components/PageWrapper";

export default function Apps({ apps }: InferGetStaticPropsType<typeof getStaticProps>) {
const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();
const { t, isLocaleReady } = useLocale();
const category = searchParams?.get("category");

Expand Down
4 changes: 2 additions & 2 deletions apps/web/pages/apps/installed/[category].tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { useSearchParams } from "next/navigation";
import { useReducer } from "react";
import { z } from "zod";

import DisconnectIntegrationModal from "@calcom/features/apps/components/DisconnectIntegrationModal";
import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { AppCategories } from "@calcom/prisma/enums";
import { trpc } from "@calcom/trpc/react";
Expand Down Expand Up @@ -122,7 +122,7 @@ type ModalState = {
};

export default function InstalledApps() {
const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();
const { t } = useLocale();
const category = searchParams?.get("category") as querySchemaType["category"];
const categoryList: AppCategories[] = Object.values(AppCategories).filter((category) => {
Expand Down
4 changes: 2 additions & 2 deletions apps/web/pages/auth/error.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import type { GetStaticPropsContext } from "next";
import Link from "next/link";
import { useSearchParams } from "next/navigation";
import z from "zod";

import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { Button } from "@calcom/ui";
import { X } from "@calcom/ui/components/icon";
Expand All @@ -18,7 +18,7 @@ const querySchema = z.object({

export default function Error() {
const { t } = useLocale();
const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();
const { error } = querySchema.parse(searchParams);
const isTokenVerificationError = error?.toLowerCase() === "verification";
const errorMsg = isTokenVerificationError ? t("token_invalid_expired") : t("error_during_login");
Expand Down
5 changes: 3 additions & 2 deletions apps/web/pages/auth/login.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { jwtVerify } from "jose";
import type { GetServerSidePropsContext } from "next";
import { getCsrfToken, signIn } from "next-auth/react";
import Link from "next/link";
import { useRouter, useSearchParams } from "next/navigation";
import { useRouter } from "next/navigation";
import type { CSSProperties } from "react";
import { useState } from "react";
import { FormProvider, useForm } from "react-hook-form";
Expand All @@ -17,6 +17,7 @@ import { getServerSession } from "@calcom/features/auth/lib/getServerSession";
import { isSAMLLoginEnabled, samlProductID, samlTenantID } from "@calcom/features/ee/sso/lib/saml";
import { WEBAPP_URL, WEBSITE_URL, HOSTED_CAL_FEATURES } from "@calcom/lib/constants";
import { getSafeRedirectUrl } from "@calcom/lib/getSafeRedirectUrl";
import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { collectPageParameters, telemetryEventTypes, useTelemetry } from "@calcom/lib/telemetry";
import prisma from "@calcom/prisma";
Expand Down Expand Up @@ -53,7 +54,7 @@ export default function Login({
totpEmail,
}: // eslint-disable-next-line @typescript-eslint/ban-types
inferSSRProps<typeof _getServerSideProps> & WithNonceProps<{}>) {
const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();
const { t } = useLocale();
const router = useRouter();
const formSchema = z
Expand Down
4 changes: 2 additions & 2 deletions apps/web/pages/auth/oauth2/authorize.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { useSession } from "next-auth/react";
import { useRouter } from "next/navigation";
import { useSearchParams } from "next/navigation";
import { useState, useEffect } from "react";

import { APP_NAME } from "@calcom/lib/constants";
import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { trpc } from "@calcom/trpc/react";
import { Avatar, Button, Select } from "@calcom/ui";
Expand All @@ -16,7 +16,7 @@ export default function Authorize() {
const { status } = useSession();

const router = useRouter();
const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();

const client_id = searchParams?.get("client_id") as string;
const state = searchParams?.get("state") as string;
Expand Down
5 changes: 3 additions & 2 deletions apps/web/pages/auth/saml-idp.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import { signIn } from "next-auth/react";
import { useSearchParams } from "next/navigation";
import { useEffect } from "react";

import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";

import PageWrapper from "@components/PageWrapper";

// To handle the IdP initiated login flow callback
export default function Page() {
const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();

useEffect(() => {
const code = searchParams?.get("code");
Expand Down
5 changes: 3 additions & 2 deletions apps/web/pages/auth/setup/index.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import type { GetServerSidePropsContext } from "next";
import { usePathname, useRouter, useSearchParams } from "next/navigation";
import { usePathname, useRouter } from "next/navigation";
import { useState } from "react";

import AdminAppsList from "@calcom/features/apps/AdminAppsList";
import { getServerSession } from "@calcom/features/auth/lib/getServerSession";
import { getDeploymentKey } from "@calcom/features/ee/deployment/lib/getDeploymentKey";
import { APP_NAME } from "@calcom/lib/constants";
import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import prisma from "@calcom/prisma";
import { UserPermissionRole } from "@calcom/prisma/enums";
Expand All @@ -21,7 +22,7 @@ import { ssrInit } from "@server/lib/ssr";

function useSetStep() {
const router = useRouter();
const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();
const pathname = usePathname();
const setStep = (newStep = 1) => {
const _searchParams = new URLSearchParams(searchParams ?? undefined);
Expand Down
5 changes: 3 additions & 2 deletions apps/web/pages/auth/sso/[provider].tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { GetServerSidePropsContext } from "next";
import { signIn } from "next-auth/react";
import { useRouter, useSearchParams } from "next/navigation";
import { useRouter } from "next/navigation";
import { useEffect } from "react";

import { getPremiumMonthlyPlanPriceId } from "@calcom/app-store/stripepayment/lib/utils";
Expand All @@ -9,6 +9,7 @@ import { orgDomainConfig } from "@calcom/features/ee/organizations/lib/orgDomain
import stripe from "@calcom/features/ee/payments/server/stripe";
import { hostedCal, isSAMLLoginEnabled, samlProductID, samlTenantID } from "@calcom/features/ee/sso/lib/saml";
import { ssoTenantProduct } from "@calcom/features/ee/sso/lib/sso";
import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";
import { checkUsername } from "@calcom/lib/server/checkUsername";
import prisma from "@calcom/prisma";

Expand All @@ -22,7 +23,7 @@ import { ssrInit } from "@server/lib/ssr";
export type SSOProviderPageProps = inferSSRProps<typeof getServerSideProps>;

export default function Provider(props: SSOProviderPageProps) {
const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();
const router = useRouter();

useEffect(() => {
Expand Down
5 changes: 3 additions & 2 deletions apps/web/pages/auth/verify.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import { signIn } from "next-auth/react";
import Head from "next/head";
import { usePathname, useRouter, useSearchParams } from "next/navigation";
import { usePathname, useRouter } from "next/navigation";
import { useEffect, useRef, useState } from "react";
import z from "zod";

import { APP_NAME, WEBAPP_URL } from "@calcom/lib/constants";
import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";
import { useRouterQuery } from "@calcom/lib/hooks/useRouterQuery";
import { trpc } from "@calcom/trpc/react";
import { Button, showToast } from "@calcom/ui";
Expand Down Expand Up @@ -54,7 +55,7 @@ const querySchema = z.object({
});

export default function Verify() {
const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();
const pathname = usePathname();
const router = useRouter();
const routerQuery = useRouterQuery();
Expand Down
5 changes: 3 additions & 2 deletions apps/web/pages/availability/[schedule].tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { useRouter, useSearchParams } from "next/navigation";
import { useRouter } from "next/navigation";
import { useState } from "react";
import { Controller, useFieldArray, useForm } from "react-hook-form";

Expand All @@ -8,6 +8,7 @@ import Schedule from "@calcom/features/schedules/components/Schedule";
import Shell from "@calcom/features/shell/Shell";
import { classNames } from "@calcom/lib";
import { availabilityAsString } from "@calcom/lib/availability";
import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { HttpError } from "@calcom/lib/http-error";
import { trpc } from "@calcom/trpc/react";
Expand Down Expand Up @@ -83,7 +84,7 @@ const DateOverride = ({ workingHours }: { workingHours: WorkingHours[] }) => {
};

export default function Availability() {
const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();
const { t, i18n } = useLocale();
const router = useRouter();
const utils = trpc.useContext();
Expand Down
5 changes: 3 additions & 2 deletions apps/web/pages/availability/index.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import { useAutoAnimate } from "@formkit/auto-animate/react";
import { useRouter, useSearchParams, usePathname } from "next/navigation";
import { useRouter, usePathname } from "next/navigation";
import { useCallback } from "react";

import { getLayout } from "@calcom/features/MainLayout";
import { NewScheduleButton, ScheduleListItem } from "@calcom/features/schedules";
import { ShellMain } from "@calcom/features/shell/Shell";
import { AvailabilitySliderTable } from "@calcom/features/timezone-buddy/components/AvailabilitySliderTable";
import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { HttpError } from "@calcom/lib/http-error";
import type { RouterOutputs } from "@calcom/trpc/react";
Expand Down Expand Up @@ -131,7 +132,7 @@ const WithQuery = withQuery(trpc.viewer.availability.list as any);

export default function AvailabilityPage() {
const { t } = useLocale();
const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();
const router = useRouter();
const pathname = usePathname();

Expand Down
5 changes: 3 additions & 2 deletions apps/web/pages/booking/[uid].tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { createEvent } from "ics";
import type { GetServerSidePropsContext } from "next";
import { useSession } from "next-auth/react";
import Link from "next/link";
import { usePathname, useRouter, useSearchParams } from "next/navigation";
import { usePathname, useRouter } from "next/navigation";
import { useEffect, useState } from "react";
import { RRule } from "rrule";
import { z } from "zod";
Expand Down Expand Up @@ -36,6 +36,7 @@ import {
} from "@calcom/lib/date-fns";
import { getDefaultEvent } from "@calcom/lib/defaultEvents";
import useGetBrandingColours from "@calcom/lib/getBrandColours";
import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { useRouterQuery } from "@calcom/lib/hooks/useRouterQuery";
import useTheme from "@calcom/lib/hooks/useTheme";
Expand Down Expand Up @@ -98,7 +99,7 @@ export default function Success(props: SuccessProps) {
const router = useRouter();
const routerQuery = useRouterQuery();
const pathname = usePathname();
const searchParams = useSearchParams();
const searchParams = useCompatSearchParams();
const {
allRemainingBookings,
isSuccessBookingPage,
Expand Down
Loading

0 comments on commit 28acbe5

Please sign in to comment.