diff --git a/components/dashboard/src/Usage.tsx b/components/dashboard/src/Usage.tsx index ff660d7e475f2b..94f74141719c49 100644 --- a/components/dashboard/src/Usage.tsx +++ b/components/dashboard/src/Usage.tsx @@ -4,44 +4,19 @@ * See License-AGPL.txt in the project root for license information. */ -import { useContext, useEffect, useState } from "react"; +import { useContext } from "react"; -import { getGitpodService, gitpodHostUrl } from "./service/service"; -import { BillingMode } from "@gitpod/gitpod-protocol/lib/billing-mode"; import UsageView from "./components/UsageView"; -import { AttributionId } from "@gitpod/gitpod-protocol/lib/attribution"; import { UserContext } from "./user-context"; function TeamUsage() { const { user } = useContext(UserContext); - const [billingMode, setBillingMode] = useState(undefined); - const [attributionId, setAttributionId] = useState(); - useEffect(() => { - if (!user) { - return; - } - setAttributionId({ kind: "user", userId: user.id }); - (async () => { - const billingMode = await getGitpodService().server.getBillingModeForUser(); - setBillingMode(billingMode); - })(); - }, [user]); - - useEffect(() => { - if (!billingMode) { - return; - } - if (!BillingMode.showUsageBasedBilling(billingMode)) { - window.location.href = gitpodHostUrl.asDashboard().toString(); - } - }, [billingMode]); - - if (!billingMode || !attributionId) { + if (!user) { return <>; } - return ; + return ; } export default TeamUsage; diff --git a/components/dashboard/src/components/UsageView.tsx b/components/dashboard/src/components/UsageView.tsx index 1f842fc83fbe47..a0fb586bb48c37 100644 --- a/components/dashboard/src/components/UsageView.tsx +++ b/components/dashboard/src/components/UsageView.tsx @@ -21,17 +21,15 @@ import { ErrorCodes } from "@gitpod/gitpod-protocol/lib/messaging/error"; import { ReactComponent as CreditsSvg } from "../images/credits.svg"; import { ReactComponent as Spinner } from "../icons/Spinner.svg"; import { ReactComponent as UsageIcon } from "../images/usage-default.svg"; -import { BillingMode } from "@gitpod/gitpod-protocol/lib/billing-mode"; import { toRemoteURL } from "../projects/render-utils"; import { WorkspaceType } from "@gitpod/gitpod-protocol"; import PillLabel from "./PillLabel"; interface UsageViewProps { attributionId: AttributionId; - billingMode: BillingMode; } -function UsageView({ attributionId, billingMode }: UsageViewProps) { +function UsageView({ attributionId }: UsageViewProps) { const [usagePage, setUsagePage] = useState(undefined); const [errorMessage, setErrorMessage] = useState(""); const today = new Date(); diff --git a/components/dashboard/src/teams/TeamUsage.tsx b/components/dashboard/src/teams/TeamUsage.tsx index d8283c7d34e2f3..39bb0fc1b62f1d 100644 --- a/components/dashboard/src/teams/TeamUsage.tsx +++ b/components/dashboard/src/teams/TeamUsage.tsx @@ -4,46 +4,27 @@ * See License-AGPL.txt in the project root for license information. */ -import { useContext, useEffect, useState } from "react"; +import { useContext } from "react"; import { useLocation } from "react-router"; import { getCurrentTeam, TeamsContext } from "./teams-context"; -import { getGitpodService, gitpodHostUrl } from "../service/service"; -import { BillingMode } from "@gitpod/gitpod-protocol/lib/billing-mode"; import UsageView from "../components/UsageView"; -import { AttributionId } from "@gitpod/gitpod-protocol/lib/attribution"; function TeamUsage() { const { teams } = useContext(TeamsContext); const location = useLocation(); const team = getCurrentTeam(location, teams); - const [billingMode, setBillingMode] = useState(undefined); - const [attributionId, setAttributionId] = useState(); - - useEffect(() => { - if (!team) { - return; - } - setAttributionId({ kind: "team", teamId: team.id }); - (async () => { - const billingMode = await getGitpodService().server.getBillingModeForTeam(team.id); - setBillingMode(billingMode); - })(); - }, [team]); - - useEffect(() => { - if (!billingMode) { - return; - } - if (!BillingMode.showUsageBasedBilling(billingMode)) { - window.location.href = gitpodHostUrl.asDashboard().toString(); - } - }, [billingMode]); - - if (!billingMode || !attributionId) { + if (!team) { return <>; } - return ; + return ( + + ); } export default TeamUsage;