diff --git a/packages/web/src/constants/constants.ts b/packages/web/src/constants/constants.ts index beece24fb..43d3d5504 100644 --- a/packages/web/src/constants/constants.ts +++ b/packages/web/src/constants/constants.ts @@ -27,8 +27,8 @@ export enum ScreenSize { export const MAX_NFT_TIER = 3; // export const stagingServiceUrl = "https://rl848xdj4k.execute-api.us-east-1.amazonaws.com/staging"; -export const stagingServiceUrl = "https://hats-backend-dev.herokuapp.com/v1"; -export const prodServiceUrl = "https://hats-backend-prod.herokuapp.com/v1"; +export const stagingServiceUrl = "https://dev.hats.finance/v1"; +export const prodServiceUrl = "https://prod.hats.finance/v1"; export const auditWizardVerifyService = "https://app.auditwizard.io:5000/submissions/finalizeHats"; diff --git a/packages/web/src/languages/en.json b/packages/web/src/languages/en.json index 1f86a0b80..72cdc69a3 100644 --- a/packages/web/src/languages/en.json +++ b/packages/web/src/languages/en.json @@ -752,6 +752,7 @@ "linesOfCode": "Lines of code (LoC)", "issueAlreadyHaveValidSubmission": "This issue already have a valid submission. You can submit complementary submission in other issue.", "oneSubmissionIsBeingReviewed": "One submission is being reviewed. Please wait, if the submission is not complete, you can submit another one.", + "vaultIsNotLive": "This vault is not live", "MyWallet": { "overview": "Overview", "pointValue": "Point value", diff --git a/packages/web/src/pages/Honeypots/VaultDetailsPage/Sections/VaultSubmissionsSection/PublicSubmissionCard/components/SplitPointsActions.tsx b/packages/web/src/pages/Honeypots/VaultDetailsPage/Sections/VaultSubmissionsSection/PublicSubmissionCard/components/SplitPointsActions.tsx index aba757271..56a918252 100644 --- a/packages/web/src/pages/Honeypots/VaultDetailsPage/Sections/VaultSubmissionsSection/PublicSubmissionCard/components/SplitPointsActions.tsx +++ b/packages/web/src/pages/Honeypots/VaultDetailsPage/Sections/VaultSubmissionsSection/PublicSubmissionCard/components/SplitPointsActions.tsx @@ -6,9 +6,11 @@ import { Button, HackerProfileImage, Loading, Pill, WithTooltip } from "componen import { useSiweAuth } from "hooks/siwe/useSiweAuth"; import useConfirm from "hooks/useConfirm"; import moment from "moment"; +import { RoutePaths } from "navigation"; import { useProfileByAddress } from "pages/HackerProfile/hooks"; import { useAllTimeLeaderboard } from "pages/Leaderboard/LeaderboardPage/components/AllTimeLeaderboard/useAllTimeLeaderboard"; import { useTranslation } from "react-i18next"; +import { useNavigate } from "react-router-dom"; import { IS_PROD, appChains } from "settings"; import { useAccount, useNetwork } from "wagmi"; import { useClaimIssue, useClaimedIssuesByVault } from "../hooks"; @@ -35,6 +37,9 @@ export const SplitPointsActions = ({ vault, submission, linkedPRs }: SplitPoints const { chain } = useNetwork(); const { tryAuthentication } = useSiweAuth(); const confirm = useConfirm(); + const navigate = useNavigate(); + + const isVaultLive = vault.dateStatus === "on_time"; const { leaderboard } = useAllTimeLeaderboard("all", "streak"); const { data: profile } = useProfileByAddress(address); @@ -69,6 +74,7 @@ export const SplitPointsActions = ({ vault, submission, linkedPRs }: SplitPoints const isOpenToSubmissions = linkedPRs.length === 0 ? true : linkedPRs?.every((pr) => pr.bonusSubmissionStatus === "INCOMPLETE"); const canExecuteAction = () => { + if (!isVaultLive) return { can: false, reason: t("vaultIsNotLive") }; if (isClaimedByCurrentUser) return { can: true }; if (claimedByInfo) return { can: false, reason: t("issueAlreadyClaimed") }; @@ -137,6 +143,11 @@ export const SplitPointsActions = ({ vault, submission, linkedPRs }: SplitPoints const handleClaimIssue = async () => { if (!canExecuteAction().can) return; + if (isClaimedByCurrentUser) { + navigate(`${RoutePaths.vulnerability}?projectId=${vault.id}`); + return; + } + const wantsToClaim = await confirm({ title: t("claimIssue"), titleIcon: ,