diff --git a/src/lib/components/json-schema/common/AttachSchemaCard.tsx b/src/lib/components/json-schema/AttachSchemaCard.tsx similarity index 86% rename from src/lib/components/json-schema/common/AttachSchemaCard.tsx rename to src/lib/components/json-schema/AttachSchemaCard.tsx index 8ccd5e759..c7f73d776 100644 --- a/src/lib/components/json-schema/common/AttachSchemaCard.tsx +++ b/src/lib/components/json-schema/AttachSchemaCard.tsx @@ -53,15 +53,9 @@ export const AttachSchemaCard = ({ - - } - /> + = ({ ); return ( -
{ - // log.info(values) - onChange?.(values); - }} - onSubmit={({ formData: values }) => { - // log.info(values) - onSubmit(values); - }} - onError={() => console.error("errors")} - /> + + { + // log.info(values) + onChange?.(values); + }} + onSubmit={({ formData: values }) => { + // log.info(values) + onSubmit(values); + }} + onError={() => console.error("errors")} + /> + ); }; diff --git a/src/lib/components/json-schema/index.ts b/src/lib/components/json-schema/index.ts new file mode 100644 index 000000000..9b95a8fac --- /dev/null +++ b/src/lib/components/json-schema/index.ts @@ -0,0 +1,5 @@ +export * from "./AttachSchemaCard"; +export * from "./JsonSchemaDrawer"; +export * from "./UploadTemplate"; +export * from "./ViewSchemaButton"; +export * from "./form"; diff --git a/src/lib/components/select-code/CodeSelect.tsx b/src/lib/components/select-code/CodeSelect.tsx index 7294544f6..09032b397 100644 --- a/src/lib/components/select-code/CodeSelect.tsx +++ b/src/lib/components/select-code/CodeSelect.tsx @@ -6,8 +6,8 @@ import { PermissionChip } from "../PermissionChip"; import type { FormStatus } from "lib/components/forms"; import { UploadIcon } from "lib/components/icon"; import { useCodeStore } from "lib/providers/store"; -import type { LcdCodeInfoSuccessCallback } from "lib/services/codeService"; -import { useLcdCodeInfo } from "lib/services/codeService"; +import type { LCDCodeInfoSuccessCallback } from "lib/services/codeService"; +import { useLCDCodeInfo } from "lib/services/codeService"; import { AccessConfigPermission } from "lib/types"; import { isCodeId } from "lib/utils"; @@ -15,7 +15,7 @@ import { CodeSelectDrawerButton } from "./CodeSelectDrawerButton"; interface CodeSelectProps extends Omit { onCodeSelect: (code: string) => void; - setCodeHash?: LcdCodeInfoSuccessCallback; + setCodeHash?: LCDCodeInfoSuccessCallback; codeId: string; status: FormStatus; } @@ -29,7 +29,7 @@ export const CodeSelect = ({ }: CodeSelectProps) => { const { getCodeLocalInfo } = useCodeStore(); const name = getCodeLocalInfo(Number(codeId))?.name; - const { data: codeInfo } = useLcdCodeInfo(codeId, { + const { data: codeInfo } = useLCDCodeInfo(codeId, { onSuccess: setCodeHash, enabled: isCodeId(codeId), }); diff --git a/src/lib/components/select-code/CodeSelectSection.tsx b/src/lib/components/select-code/CodeSelectSection.tsx index 8b6c2e5d5..e91d63c89 100644 --- a/src/lib/components/select-code/CodeSelectSection.tsx +++ b/src/lib/components/select-code/CodeSelectSection.tsx @@ -5,7 +5,7 @@ import type { Control, FieldPath, FieldValues } from "react-hook-form"; import { ControllerInput } from "lib/components/forms"; import type { FormStatus } from "lib/components/forms"; import { AmpEvent, AmpTrack } from "lib/services/amplitude"; -import type { LcdCodeInfoSuccessCallback } from "lib/services/codeService"; +import type { LCDCodeInfoSuccessCallback } from "lib/services/codeService"; import type { Option } from "lib/types"; import { CodeSelect } from "./CodeSelect"; @@ -16,7 +16,7 @@ interface CodeSelectSectionProps { control: Control; error: Option; onCodeSelect: (codeId: string) => void; - setCodeHash?: LcdCodeInfoSuccessCallback; + setCodeHash?: LCDCodeInfoSuccessCallback; status: FormStatus; } diff --git a/src/lib/pages/migrate/components/MessageInputSwitch.tsx b/src/lib/pages/migrate/components/MessageInputSwitch.tsx index a201235a9..362b10adc 100644 --- a/src/lib/pages/migrate/components/MessageInputSwitch.tsx +++ b/src/lib/pages/migrate/components/MessageInputSwitch.tsx @@ -7,12 +7,14 @@ import { MotionBox } from "lib/components/MotionBox"; interface MessageInputSwitchProps { currentTab: T; tabs: T[]; + disabled?: boolean; onTabChange: Dispatch>; } export const MessageInputSwitch = ({ currentTab, tabs, + disabled = false, onTabChange, }: MessageInputSwitchProps) => { const tabRefs = useRef<(HTMLDivElement | null)[]>([]); @@ -25,6 +27,7 @@ export const MessageInputSwitch = ({ direction="row" align="center" position="relative" + sx={{ ...(disabled ? { pointerEvents: "none", opacity: 0.3 } : {}) }} > {tabs.map((tab, idx) => ( { @@ -196,7 +198,7 @@ export const MigrateContract = observer( onCodeSelect={(code: string) => { setValue("codeId", code); }} - setCodeHash={(data: Parameters[0]) => { + setCodeHash={(data: CodeIdInfoResponse) => { setValue("codeHash", data.code_info.data_hash.toLowerCase()); }} codeId={codeId} @@ -205,11 +207,19 @@ export const MigrateContract = observer( Migrate Message - + +
+ +
+
diff --git a/src/lib/pages/upload/components/UploadSchema.tsx b/src/lib/pages/upload/components/UploadSchema.tsx index 83d605cac..9a3e6a503 100644 --- a/src/lib/pages/upload/components/UploadSchema.tsx +++ b/src/lib/pages/upload/components/UploadSchema.tsx @@ -1,7 +1,6 @@ import { useDisclosure } from "@chakra-ui/react"; -import { AttachSchemaCard } from "lib/components/json-schema/common/AttachSchemaCard"; -import { JsonSchemaDrawer } from "lib/components/json-schema/common/JsonSchemaDrawer"; +import { AttachSchemaCard, JsonSchemaDrawer } from "lib/components/json-schema"; import type { CodeSchema } from "lib/stores/schema"; import type { Option } from "lib/types"; diff --git a/src/lib/services/codeService.ts b/src/lib/services/codeService.ts index 39ae202d4..255800d4a 100644 --- a/src/lib/services/codeService.ts +++ b/src/lib/services/codeService.ts @@ -1,5 +1,5 @@ /* eslint-disable sonarjs/no-identical-functions */ -import type { UseQueryResult } from "@tanstack/react-query"; +import type { UseQueryOptions, UseQueryResult } from "@tanstack/react-query"; import { useQuery } from "@tanstack/react-query"; import { useCallback } from "react"; @@ -273,11 +273,11 @@ export const useCodeListCountByWalletAddress = ( ); }; -export type LcdCodeInfoSuccessCallback = (data: CodeIdInfoResponse) => void; +export type LCDCodeInfoSuccessCallback = (data: CodeIdInfoResponse) => void; -export const useLcdCodeInfo = ( +export const useLCDCodeInfo = ( codeId: string, - options?: Parameters>[2] + options?: Omit, "queryKey"> ): UseQueryResult => { const lcdEndpoint = useBaseApiRoute("rest"); const queryFn = async () => getCodeIdInfo(lcdEndpoint, codeId);