diff --git a/apps/web/src/assets/icons/index.ts b/apps/web/src/assets/icons/index.ts
index a7dc5f3ac7..320d0b0dc8 100644
--- a/apps/web/src/assets/icons/index.ts
+++ b/apps/web/src/assets/icons/index.ts
@@ -10,10 +10,10 @@ export { default as ChevronDownIcon } from "./chevron-down.svg";
export { default as ChevronRightIcon } from "./chevron-right.svg";
export { default as CloseIcon } from "./close.svg";
export { default as CodeSandboxIcon } from "./code-sandbox.svg";
+export { default as CoinIcon } from "./coin.svg";
export { default as ContactIcon } from "./contact-s.svg";
export { default as ContractIcon } from "./contract.svg";
export { default as CopyIcon } from "./copy.svg";
-export { default as CoinIcon } from "./coin.svg";
export { default as CrossedCircleIcon } from "./crossed-circle.svg";
export { default as DelegateIcon } from "./delegate-s.svg";
export { default as DownloadIcon } from "./download.svg";
@@ -42,10 +42,12 @@ export { default as MenuIcon } from "./menu.svg";
export { default as MoonIcon } from "./moon.svg";
export { default as MultisigIcon } from "./multisig.svg";
export { default as OutgoingArrowIcon } from "./outgoing-arrow.svg";
+export { default as PencilIcon } from "./pencil.svg";
export { default as PlusIcon } from "./plus.svg";
export { default as PyramidIcon } from "./pyramid.svg";
export { default as RadioIcon } from "./radio.svg";
export { default as RedditIcon } from "./reddit.svg";
+export { default as ScanIcon } from "./scan.svg";
export { default as SearchIcon } from "./search.svg";
export { default as SelectorIcon } from "./selector.svg";
export { default as SettingsIcon } from "./settings.svg";
@@ -60,6 +62,7 @@ export { default as UserIcon } from "./user.svg";
export { default as UserPlusIcon } from "./user-plus.svg";
export { default as VerifiedIcon } from "./verified.svg";
export { default as WalletIcon } from "./wallet.svg";
+export { default as WindowCloseIcon } from "./window-close.svg";
export { TokenIcon } from "./TokenIcon";
import CloseIcon from "./close.svg";
diff --git a/apps/web/src/assets/icons/pencil.svg b/apps/web/src/assets/icons/pencil.svg
new file mode 100644
index 0000000000..0d3958d99d
--- /dev/null
+++ b/apps/web/src/assets/icons/pencil.svg
@@ -0,0 +1,5 @@
+
diff --git a/apps/web/src/assets/icons/scan.svg b/apps/web/src/assets/icons/scan.svg
new file mode 100644
index 0000000000..ce767b480b
--- /dev/null
+++ b/apps/web/src/assets/icons/scan.svg
@@ -0,0 +1,5 @@
+
diff --git a/apps/web/src/assets/icons/window-close.svg b/apps/web/src/assets/icons/window-close.svg
new file mode 100644
index 0000000000..e113c889c2
--- /dev/null
+++ b/apps/web/src/assets/icons/window-close.svg
@@ -0,0 +1,8 @@
+
diff --git a/apps/web/src/components/AccountCard/AccountBalance.tsx b/apps/web/src/components/AccountCard/AccountBalance.tsx
index 8ef4ab4645..6c8cd7b0a0 100644
--- a/apps/web/src/components/AccountCard/AccountBalance.tsx
+++ b/apps/web/src/components/AccountCard/AccountBalance.tsx
@@ -8,7 +8,7 @@ import { ArrowDownLeftIcon, WalletIcon } from "../../assets/icons";
import { useColor } from "../../styles/useColor";
import { AccountInfoModal } from "../AccountSelectorModal";
import { IconButtonWithText } from "../IconButtonWithText";
-import { useIsAccountVerified } from "../Onboarding/useIsAccountVerified";
+import { useIsAccountVerified } from "../Onboarding/VerificationFlow";
export const AccountBalance = () => {
const color = useColor();
diff --git a/apps/web/src/components/AccountCard/SendTezButton.tsx b/apps/web/src/components/AccountCard/SendTezButton.tsx
index e3252d5e6e..1fd8558a89 100644
--- a/apps/web/src/components/AccountCard/SendTezButton.tsx
+++ b/apps/web/src/components/AccountCard/SendTezButton.tsx
@@ -3,7 +3,7 @@ import { useCurrentAccount } from "@umami/state";
import { ArrowUpRightIcon } from "../../assets/icons";
import { IconButtonWithText } from "../IconButtonWithText/IconButtonWithText";
-import { useIsAccountVerified } from "../Onboarding/useIsAccountVerified";
+import { useIsAccountVerified } from "../Onboarding/VerificationFlow";
import { FormPage as SendTezFormPage } from "../SendFlow/Tez/FormPage";
export const SendTezButton = () => {
diff --git a/apps/web/src/components/AccountSelectorModal/AccountSelectorModal.tsx b/apps/web/src/components/AccountSelectorModal/AccountSelectorModal.tsx
index 6c28c16bbc..3247bf317f 100644
--- a/apps/web/src/components/AccountSelectorModal/AccountSelectorModal.tsx
+++ b/apps/web/src/components/AccountSelectorModal/AccountSelectorModal.tsx
@@ -23,7 +23,7 @@ import { useColor } from "../../styles/useColor";
import { AccountTile } from "../AccountTile";
import { ModalCloseButton } from "../CloseButton";
import { OnboardOptionsModal } from "../Onboarding/OnboardOptions";
-import { useIsAccountVerified } from "../Onboarding/useIsAccountVerified";
+import { useIsAccountVerified } from "../Onboarding/VerificationFlow";
export const AccountSelectorModal = () => {
const accounts = useImplicitAccounts();
diff --git a/apps/web/src/components/EmptyMessage/VerifyMessage.test.tsx b/apps/web/src/components/EmptyMessage/VerifyMessage.test.tsx
deleted file mode 100644
index a0d4c64a8e..0000000000
--- a/apps/web/src/components/EmptyMessage/VerifyMessage.test.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import { VerifyMessage } from "./VerifyMessage";
-import { dynamicModalContextMock, render, screen, userEvent } from "../../testUtils";
-import { VerificationInfoModal } from "../Onboarding/VerificationInfoModal";
-
-describe("", () => {
- it("renders correctly", () => {
- render();
-
- expect(screen.getByText("Verify Your Account")).toBeVisible();
- expect(
- screen.getByText(
- "Please verify your account, to unlock all features and keep your account secure."
- )
- ).toBeVisible();
- expect(screen.getByText("How does verification work?")).toBeVisible();
- });
-
- it("opens verification info modal", async () => {
- const { openWith } = dynamicModalContextMock;
- const user = userEvent.setup();
- render();
-
- await user.click(screen.getByText("How does verification work?"));
-
- expect(openWith).toHaveBeenCalledWith();
- });
-});
diff --git a/apps/web/src/components/EmptyMessage/index.ts b/apps/web/src/components/EmptyMessage/index.ts
index 3913fd280f..af14d53027 100644
--- a/apps/web/src/components/EmptyMessage/index.ts
+++ b/apps/web/src/components/EmptyMessage/index.ts
@@ -1,2 +1,2 @@
export { EmptyMessage } from "./EmptyMessage";
-export { VerifyMessage } from "./VerifyMessage";
+export type { EmptyMessageProps } from "./EmptyMessage";
diff --git a/apps/web/src/components/Menu/AdvancedMenu/AdvancedMenu.tsx b/apps/web/src/components/Menu/AdvancedMenu/AdvancedMenu.tsx
index 5760da093d..2657db38d1 100644
--- a/apps/web/src/components/Menu/AdvancedMenu/AdvancedMenu.tsx
+++ b/apps/web/src/components/Menu/AdvancedMenu/AdvancedMenu.tsx
@@ -1,7 +1,7 @@
import { useDynamicDrawerContext } from "@umami/components";
import { AlertCircleIcon, LockIcon, RadioIcon } from "../../../assets/icons";
-import { useIsAccountVerified } from "../../Onboarding/useIsAccountVerified";
+import { useIsAccountVerified } from "../../Onboarding/VerificationFlow";
import { ChangePasswordMenu } from "../ChangePasswordMenu/ChangePasswordMenu";
import { ErrorLogsMenu } from "../ErrorLogsMenu/ErrorLogsMenu";
import { GenericMenu } from "../GenericMenu";
diff --git a/apps/web/src/components/Menu/Menu.tsx b/apps/web/src/components/Menu/Menu.tsx
index 3339866e49..92dc455d23 100644
--- a/apps/web/src/components/Menu/Menu.tsx
+++ b/apps/web/src/components/Menu/Menu.tsx
@@ -18,7 +18,7 @@ import {
UserPlusIcon,
} from "../../assets/icons";
import { OnboardOptionsModal } from "../Onboarding/OnboardOptions";
-import { useIsAccountVerified } from "../Onboarding/useIsAccountVerified";
+import { useIsAccountVerified } from "../Onboarding/VerificationFlow";
export const Menu = () => {
const { openWith: openModal } = useDynamicModalContext();
diff --git a/apps/web/src/components/MnemonicWord/MnemonicWord.tsx b/apps/web/src/components/MnemonicWord/MnemonicWord.tsx
new file mode 100644
index 0000000000..5909ed6986
--- /dev/null
+++ b/apps/web/src/components/MnemonicWord/MnemonicWord.tsx
@@ -0,0 +1,43 @@
+import { GridItem, type GridItemProps, Text } from "@chakra-ui/react";
+import { MnemonicAutocomplete } from "@umami/components";
+import { type ComponentProps } from "react";
+
+import { useColor } from "../../styles/useColor";
+
+type MnemonicWordProps = {
+ index: number;
+ word?: string;
+ autocompleteProps?: ComponentProps;
+} & GridItemProps;
+
+export const MnemonicWord = ({ index, word, autocompleteProps, ...props }: MnemonicWordProps) => {
+ const color = useColor();
+
+ return (
+
+
+ {String(index + 1).padStart(2, "0")}.
+
+ {autocompleteProps && }
+ {word && (
+
+ {word}
+
+ )}
+
+ );
+};
diff --git a/apps/web/src/components/MnemonicWord/index.ts b/apps/web/src/components/MnemonicWord/index.ts
new file mode 100644
index 0000000000..058f49c522
--- /dev/null
+++ b/apps/web/src/components/MnemonicWord/index.ts
@@ -0,0 +1 @@
+export { MnemonicWord } from "./MnemonicWord";
diff --git a/apps/web/src/components/Onboarding/ImportWallet/SeedPhraseTab.tsx b/apps/web/src/components/Onboarding/ImportWallet/SeedPhraseTab.tsx
index 690dff38c0..77783d5d04 100644
--- a/apps/web/src/components/Onboarding/ImportWallet/SeedPhraseTab.tsx
+++ b/apps/web/src/components/Onboarding/ImportWallet/SeedPhraseTab.tsx
@@ -7,12 +7,10 @@ import {
Button,
Flex,
Grid,
- GridItem,
Heading,
Icon,
- Text,
} from "@chakra-ui/react";
-import { MnemonicAutocomplete, useDynamicModalContext, useMultiForm } from "@umami/components";
+import { useDynamicModalContext, useMultiForm } from "@umami/components";
import { useAsyncActionHandler } from "@umami/state";
import { validateMnemonic } from "bip39";
import { range } from "lodash";
@@ -20,6 +18,7 @@ import { FormProvider, useFieldArray } from "react-hook-form";
import { CloseIcon } from "../../../assets/icons";
import { useColor } from "../../../styles/useColor";
+import { MnemonicWord } from "../../MnemonicWord";
import { RadioButtons } from "../../RadioButtons";
import { SetupPassword } from "../SetupPassword";
@@ -114,21 +113,11 @@ export const SeedPhraseTab = () => {
{fields.map((field, index) => (
-
-
- {String(index + 1).padStart(2, "0")}.
-
- {
@@ -137,9 +126,10 @@ export const SeedPhraseTab = () => {
},
variant: "mnemonic",
placeholder: `word #${index + 1}`,
- }}
- />
-
+ },
+ }}
+ index={index}
+ />
))}