fix: Add feedback when user installs app [CAL-2144] (#10169)
* Prevent multiple clicks on app store * Disable multiple clicks on app page * Disable multiple clicks on app page * Clean uppull/10118/head^2
parent
8c6669e204
commit
494012484e
|
@ -29,6 +29,8 @@ import {
|
||||||
Avatar,
|
Avatar,
|
||||||
} from "@calcom/ui";
|
} from "@calcom/ui";
|
||||||
import { BookOpen, Check, ExternalLink, File, Flag, Mail, Plus, Shield } from "@calcom/ui/components/icon";
|
import { BookOpen, Check, ExternalLink, File, Flag, Mail, Plus, Shield } from "@calcom/ui/components/icon";
|
||||||
|
import { Spinner } from "@calcom/features/calendars/weeklyview/components/spinner/Spinner";
|
||||||
|
|
||||||
|
|
||||||
/* These app slugs all require Google Cal to be installed */
|
/* These app slugs all require Google Cal to be installed */
|
||||||
|
|
||||||
|
@ -441,7 +443,16 @@ const InstallAppButtonChild = ({
|
||||||
</Button>
|
</Button>
|
||||||
</DropdownMenuTrigger>
|
</DropdownMenuTrigger>
|
||||||
<DropdownMenuPortal>
|
<DropdownMenuPortal>
|
||||||
<DropdownMenuContent>
|
<DropdownMenuContent
|
||||||
|
onInteractOutside={(event) => {
|
||||||
|
if (mutation.isLoading) event.preventDefault();
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{mutation.isLoading && (
|
||||||
|
<div className="z-1 fixed inset-0 flex items-center justify-center bg-black bg-opacity-50">
|
||||||
|
<Spinner />
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
<DropdownMenuLabel>{t("install_app_on")}</DropdownMenuLabel>
|
<DropdownMenuLabel>{t("install_app_on")}</DropdownMenuLabel>
|
||||||
{userAdminTeams.map((team) => {
|
{userAdminTeams.map((team) => {
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ import { useEffect, useState } from "react";
|
||||||
|
|
||||||
import useAddAppMutation from "@calcom/app-store/_utils/useAddAppMutation";
|
import useAddAppMutation from "@calcom/app-store/_utils/useAddAppMutation";
|
||||||
import { InstallAppButton } from "@calcom/app-store/components";
|
import { InstallAppButton } from "@calcom/app-store/components";
|
||||||
|
import { Spinner } from "@calcom/features/calendars/weeklyview/components/spinner/Spinner";
|
||||||
import type { UserAdminTeams } from "@calcom/features/ee/teams/lib/getUserAdminTeams";
|
import type { UserAdminTeams } from "@calcom/features/ee/teams/lib/getUserAdminTeams";
|
||||||
import classNames from "@calcom/lib/classNames";
|
import classNames from "@calcom/lib/classNames";
|
||||||
import { CAL_URL } from "@calcom/lib/constants";
|
import { CAL_URL } from "@calcom/lib/constants";
|
||||||
|
@ -224,7 +225,15 @@ const InstallAppButtonChild = ({
|
||||||
</Button>
|
</Button>
|
||||||
</DropdownMenuTrigger>
|
</DropdownMenuTrigger>
|
||||||
<DropdownMenuPortal>
|
<DropdownMenuPortal>
|
||||||
<DropdownMenuContent>
|
<DropdownMenuContent
|
||||||
|
onInteractOutside={(event) => {
|
||||||
|
if (mutation.isLoading) event.preventDefault();
|
||||||
|
}}>
|
||||||
|
{mutation.isLoading && (
|
||||||
|
<div className="z-1 fixed inset-0 flex items-center justify-center bg-black bg-opacity-50">
|
||||||
|
<Spinner />
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
<DropdownMenuLabel>{t("install_app_on")}</DropdownMenuLabel>
|
<DropdownMenuLabel>{t("install_app_on")}</DropdownMenuLabel>
|
||||||
{userAdminTeams.map((team) => {
|
{userAdminTeams.map((team) => {
|
||||||
const isInstalledTeamOrUser =
|
const isInstalledTeamOrUser =
|
||||||
|
|
Loading…
Reference in New Issue