diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2c3774107..c8f8c6c07 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -88,6 +88,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Bug fixes
+- [#617](https://github.com/alleslabs/celatone-frontend/pull/617) Fix textwrap module path on module detail, framer motion incorrect transition prop, loadingoverlay not centered
- [#610](https://github.com/alleslabs/celatone-frontend/pull/610) Remove `.at()` from code
- [#615](https://github.com/alleslabs/celatone-frontend/pull/615) Fix useEffect on pool page
- [#612](https://github.com/alleslabs/celatone-frontend/pull/612) Add saved accounts page
diff --git a/src/lib/components/LoadingOverlay.tsx b/src/lib/components/LoadingOverlay.tsx
index 7545efc2e..5b8a87c55 100644
--- a/src/lib/components/LoadingOverlay.tsx
+++ b/src/lib/components/LoadingOverlay.tsx
@@ -9,7 +9,7 @@ export const LoadingOverlay = () => (
direction="column"
gap={3}
bgColor="background.overlay"
- position="absolute"
+ position="fixed"
top={0}
left={0}
zIndex="overlay"
diff --git a/src/lib/pages/account-details/components/modules/ModuleLists.tsx b/src/lib/pages/account-details/components/modules/ModuleLists.tsx
index 441f3a2e0..62c819254 100644
--- a/src/lib/pages/account-details/components/modules/ModuleLists.tsx
+++ b/src/lib/pages/account-details/components/modules/ModuleLists.tsx
@@ -1,8 +1,10 @@
import { Flex } from "@chakra-ui/react";
+import { useState } from "react";
import { useMobile } from "lib/app-provider";
import { CustomIcon } from "lib/components/icon";
-import { TableTitle } from "lib/components/table";
+import InputWithIcon from "lib/components/InputWithIcon";
+import { TableTitle, ViewMore } from "lib/components/table";
import { type IndexedModule } from "lib/services/move/moduleService";
import type { MoveAccountAddr, Option } from "lib/types";
@@ -23,41 +25,52 @@ export const ModuleLists = ({
isLoading,
onViewMore,
}: ModuleListsProps) => {
+ const [keyword, setKeyword] = useState("");
const isMobile = useMobile();
const isMobileOverview = isMobile && !!onViewMore;
- return (
+ return isMobileOverview ? (
+
+
+
+
+ ) : (
- {isMobileOverview ? (
-
-
-
-
- ) : (
- <>
-
-
- >
+
+ {!onViewMore && (
+ setKeyword(e.target.value)}
+ action="execute-message-search"
+ />
+ )}
+
+ {onViewMore && totalCount && totalCount > 9 && (
+
)}
);
diff --git a/src/lib/pages/account-details/components/modules/ModuleListsBody.tsx b/src/lib/pages/account-details/components/modules/ModuleListsBody.tsx
index 200580d12..ab1a85d96 100644
--- a/src/lib/pages/account-details/components/modules/ModuleListsBody.tsx
+++ b/src/lib/pages/account-details/components/modules/ModuleListsBody.tsx
@@ -1,18 +1,17 @@
-import { Flex, SimpleGrid } from "@chakra-ui/react";
-import { useMemo, useState } from "react";
+import { SimpleGrid } from "@chakra-ui/react";
+import { useMemo } from "react";
import { ErrorFetching } from "../ErrorFetching";
import { useInternalNavigate } from "lib/app-provider";
-import InputWithIcon from "lib/components/InputWithIcon";
import { Loading } from "lib/components/Loading";
import { ModuleCard } from "lib/components/module";
import { EmptyState } from "lib/components/state";
-import { ViewMore } from "lib/components/table";
import type { IndexedModule } from "lib/services/move/moduleService";
import type { MoveAccountAddr, Option } from "lib/types";
interface ModuleListsBodyProps {
selectedAddress: MoveAccountAddr;
+ keyword: string;
modules: Option;
isLoading: boolean;
onViewMore?: () => void;
@@ -20,12 +19,12 @@ interface ModuleListsBodyProps {
export const ModuleListsBody = ({
selectedAddress,
+ keyword,
modules,
isLoading,
onViewMore,
}: ModuleListsBodyProps) => {
const navigate = useInternalNavigate();
- const [keyword, setKeyword] = useState("");
const filteredModules = useMemo(() => {
if (!keyword) return modules;
@@ -58,31 +57,18 @@ export const ModuleListsBody = ({
/>
);
return (
-
- {!onViewMore && (
- setKeyword(e.target.value)}
- action="execute-message-search"
- />
+
+ {(onViewMore ? filteredModules.slice(0, 9) : filteredModules).map(
+ (item) => (
+
+ )
)}
-
- {(onViewMore ? filteredModules.slice(0, 9) : filteredModules).map(
- (item) => (
-
- )
- )}
-
- {onViewMore && filteredModules.length > 9 && (
-
- )}
-
+
);
};
diff --git a/src/lib/pages/account-details/index.tsx b/src/lib/pages/account-details/index.tsx
index c4634f810..185454876 100644
--- a/src/lib/pages/account-details/index.tsx
+++ b/src/lib/pages/account-details/index.tsx
@@ -404,8 +404,8 @@ const AccountDetailsBody = ({
diff --git a/src/lib/pages/module-details/components/ModuleTop.tsx b/src/lib/pages/module-details/components/ModuleTop.tsx
index 64d3f3160..fdd2c5047 100644
--- a/src/lib/pages/module-details/components/ModuleTop.tsx
+++ b/src/lib/pages/module-details/components/ModuleTop.tsx
@@ -90,7 +90,7 @@ export const ModuleTop = ({ moduleData, isVerified }: ModuleTopProps) => {
Module Path:
-
+
{moduleData.parsedAbi.address}::{moduleData.parsedAbi.name}
diff --git a/src/lib/pages/tx-details/components/tx-message/EventBox.tsx b/src/lib/pages/tx-details/components/tx-message/EventBox.tsx
index 8f9407a9a..118e33f89 100644
--- a/src/lib/pages/tx-details/components/tx-message/EventBox.tsx
+++ b/src/lib/pages/tx-details/components/tx-message/EventBox.tsx
@@ -1,6 +1,5 @@
-import { Box, Flex, chakra, shouldForwardProp } from "@chakra-ui/react";
+import { Box, Flex } from "@chakra-ui/react";
import type { Event } from "@cosmjs/stargate";
-import { isValidMotionProp, motion } from "framer-motion";
import type { ReactNode } from "react";
import { useState } from "react";
@@ -10,15 +9,11 @@ import type { LinkType } from "lib/components/ExplorerLink";
import { ExplorerLink } from "lib/components/ExplorerLink";
import { CustomIcon } from "lib/components/icon";
import JsonReadOnly from "lib/components/json/JsonReadOnly";
+import { MotionBox } from "lib/components/MotionBox";
import { TxReceiptRender } from "lib/components/tx";
import type { TxReceipt } from "lib/types";
import { jsonPrettify, jsonValidate } from "lib/utils";
-const MotionBox = chakra(motion.div, {
- shouldForwardProp: (prop) =>
- isValidMotionProp(prop) || shouldForwardProp(prop),
-});
-
interface EventBoxProps {
event: Event;
msgIndex: number;
@@ -145,7 +140,10 @@ export const EventBox = ({ event, msgIndex }: EventBoxProps) => {
overflow="hidden"
initial="collapsed"
animate={expand ? "expanded" : "collapsed"}
- transition="all 0.25s ease-in-out"
+ transition={{
+ duration: "0.25",
+ ease: "easeInOut",
+ }}
>
// ------------------------------------------//
// -----------------MOVE ARGS----------------//
// ------------------------------------------//
-export const getArgType = (argType: string) => {
- if (argType === "0x1::string::String") return BCS.STRING;
- if (argType.startsWith("0x1::option::Option")) return BCS.OPTION;
- if (argType.startsWith("0x1::object::Object")) return BCS.OBJECT;
- if (argType === "0x1::fixed_point32::FixedPoint32") return BCS.FIXED_POINT32;
- if (argType === "0x1::fixed_point64::FixedPoint64") return BCS.FIXED_POINT64;
- if (argType === "0x1::decimal128::Decimal128") return BCS.DECIMAL128;
- if (argType === "0x1::decimal256::Decimal256") return BCS.DECIMAL256;
- return argType;
-};
+export const getArgType = (argType: string) =>
+ argType
+ .replace("0x1::string::String", BCS.STRING)
+ .replace("0x1::option::Option", BCS.OPTION)
+ .replace("0x1::object::Object", BCS.OBJECT)
+ .replace("0x1::fixed_point32::FixedPoint32", BCS.FIXED_POINT32)
+ .replace("0x1::fixed_point64::FixedPoint64", BCS.FIXED_POINT64)
+ .replace("0x1::decimal128::Decimal128", BCS.DECIMAL128)
+ .replace("0x1::decimal256::Decimal256", BCS.DECIMAL256);
const getArgValue = ({
type,