Skip to content

Commit

Permalink
fix(billing): move duplicated code to a component
Browse files Browse the repository at this point in the history
refs #628
  • Loading branch information
jzsfkzm committed Feb 12, 2025
1 parent c12562d commit d894665
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 26 deletions.
15 changes: 2 additions & 13 deletions apps/deploy-web/src/components/new-deployment/ManifestEdit.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,9 @@ import { useSnackbar } from "notistack";

import { browserEnvConfig } from "@src/config/browser-env.config";
import { useCertificate } from "@src/context/CertificateProvider";
import { useChainParam } from "@src/context/ChainParamProvider";
import { useSdlBuilder } from "@src/context/SdlBuilderProvider/SdlBuilderProvider";
import { useWallet } from "@src/context/WalletProvider";
import { useManagedWalletDenom } from "@src/hooks/useManagedWalletDenom";
import { useDenomData } from "@src/hooks/useWalletBalance";
import { useWhen } from "@src/hooks/useWhen";
import { useDepositParams } from "@src/queries/useSettings";
import sdlStore from "@src/store/sdlStore";
Expand All @@ -37,6 +35,7 @@ import { domainName, handleDocClick, UrlService } from "@src/utils/urlUtils";
import { updateWallet } from "@src/utils/walletUtils";
import { useSettings } from "../../context/SettingsProvider";
import { DeploymentDepositModal } from "../deployments/DeploymentDepositModal";
import { DeploymentMinimumEscrowAlertText } from "../sdl/DeploymentMinimumEscrowAlertText";
import { CustomNextSeo } from "../shared/CustomNextSeo";
import { DynamicMonacoEditor } from "../shared/DynamicMonacoEditor";
import { LinkTo } from "../shared/LinkTo";
Expand Down Expand Up @@ -67,7 +66,6 @@ export const ManifestEdit: React.FunctionComponent<Props> = ({
const [selectedSdlEditMode, setSelectedSdlEditMode] = useAtom(sdlStore.selectedSdlEditMode);
const [isRepoInputValid, setIsRepoInputValid] = useState(false);
const [sdlDenom, setSdlDenom] = useState("uakt");
const depositData = useDenomData(sdlDenom);

const { settings } = useSettings();
const { address, signAndBroadcastTx, isManaged, isTrialing } = useWallet();
Expand All @@ -77,7 +75,6 @@ export const ManifestEdit: React.FunctionComponent<Props> = ({
const muiTheme = useMuiTheme();
const smallScreen = useMediaQuery(muiTheme.breakpoints.down("md"));
const sdlBuilderRef = useRef<SdlBuilderRefType>(null);
const { minDeposit } = useChainParam();
const { hasComponent } = useSdlBuilder();
const searchParams = useSearchParams();
const templateId = searchParams.get("templateId");
Expand Down Expand Up @@ -428,15 +425,7 @@ export const ManifestEdit: React.FunctionComponent<Props> = ({
title="Confirm deployment creation?"
infoText={
<Alert className="mb-4 text-xs" variant="default">
{isManaged ? (
<>
To create a deployment, you need to have at least <b>${depositData?.min}</b> in an escrow account.{" "}
</>
) : (
<>
To create a deployment, you need to have at least <b>{minDeposit.akt} AKT</b> or <b>{minDeposit.usdc} USDC</b> in an escrow account.{" "}
</>
)}
<DeploymentMinimumEscrowAlertText />
<LinkTo onClick={ev => handleDocClick(ev, "https://akash.network/docs/other-resources/payments/")}>
<strong>Learn more.</strong>
</LinkTo>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import { FC, useState } from "react";

import { useChainParam } from "@src/context/ChainParamProvider";
import { useWallet } from "@src/context/WalletProvider";
import { useDenomData } from "@src/hooks/useWalletBalance";

export const DeploymentMinimumEscrowAlertText: FC = () => {
const { isManaged } = useWallet();
const [sdlDenom] = useState("uakt");
const depositData = useDenomData(sdlDenom);
const { minDeposit } = useChainParam();

return isManaged ? (
<>
To create a deployment, you need to have at least <b>${depositData?.min}</b> in an escrow account.{" "}
</>
) : (
<>
To create a deployment, you need to have at least <b>{minDeposit.akt} AKT</b> or <b>{minDeposit.usdc} USDC</b> in an escrow account.{" "}
</>
);
};
15 changes: 2 additions & 13 deletions apps/deploy-web/src/components/sdl/RentGpusForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,9 @@ import { event } from "nextjs-google-analytics";

import { browserEnvConfig } from "@src/config/browser-env.config";
import { useCertificate } from "@src/context/CertificateProvider";
import { useChainParam } from "@src/context/ChainParamProvider";
import { useSettings } from "@src/context/SettingsProvider";
import { useWallet } from "@src/context/WalletProvider";
import { useManagedWalletDenom } from "@src/hooks/useManagedWalletDenom";
import { useDenomData } from "@src/hooks/useWalletBalance";
import { useWhen } from "@src/hooks/useWhen";
import { useGpuModels } from "@src/queries/useGpuQuery";
import { useDepositParams } from "@src/queries/useSettings";
Expand All @@ -41,6 +39,7 @@ import { LinkTo } from "../shared/LinkTo";
import { PrerequisiteList } from "../shared/PrerequisiteList";
import { AdvancedConfig } from "./AdvancedConfig";
import { CpuFormControl } from "./CpuFormControl";
import { DeploymentMinimumEscrowAlertText } from "./DeploymentMinimumEscrowAlertText";
import { FormPaper } from "./FormPaper";
import { GpuFormControl } from "./GpuFormControl";
import { ImageSelect } from "./ImageSelect";
Expand Down Expand Up @@ -75,12 +74,10 @@ export const RentGpusForm: React.FunctionComponent = () => {
const { address, signAndBroadcastTx, isManaged } = useWallet();
const { loadValidCertificates, localCert, isLocalCertMatching, loadLocalCert, setSelectedCertificate } = useCertificate();
const [sdlDenom, setSdlDenom] = useState("uakt");
const { minDeposit } = useChainParam();
const router = useRouter();
const managedDenom = useManagedWalletDenom();
const { data: depositParams } = useDepositParams();
const defaultDeposit = depositParams || browserEnvConfig.NEXT_PUBLIC_DEFAULT_INITIAL_DEPOSIT;
const depositData = useDenomData(sdlDenom);

useWhen(isManaged && sdlDenom === "uakt", () => {
setSdlDenom(managedDenom);
Expand Down Expand Up @@ -292,15 +289,7 @@ export const RentGpusForm: React.FunctionComponent = () => {
infoText={
<Alert className="mb-4" variant="default">
<p className="text-sm text-muted-foreground">
{isManaged ? (
<>
To create a deployment, you need to have at least <b>${depositData?.min}</b> in an escrow account.{" "}
</>
) : (
<>
To create a deployment, you need to have at least <b>{minDeposit.akt} AKT</b> or <b>{minDeposit.usdc} USDC</b> in an escrow account.{" "}
</>
)}
<DeploymentMinimumEscrowAlertText />
<LinkTo onClick={ev => handleDocClick(ev, "https://akash.network/docs/getting-started/intro-to-akash/bids-and-leases/#escrow-accounts")}>
<strong>Learn more.</strong>
</LinkTo>
Expand Down

0 comments on commit d894665

Please sign in to comment.