diff --git a/apps/web-coreum/public/locales/en/message_contents.json b/apps/web-coreum/public/locales/en/message_contents.json
index ba8fe7513f..52cae35359 100644
--- a/apps/web-coreum/public/locales/en/message_contents.json
+++ b/apps/web-coreum/public/locales/en/message_contents.json
@@ -56,5 +56,17 @@
"MsgRevokeAllowance": "<0>{{granter}}0> revoked allowance for <1>{{grantee}}1>",
"MsgCreateVestingAccount": "Vesting account created for <0>{{toAddress}}0>",
"MsgCreatePeriodicVestingAccount": "Periodic vesting account created for <0>{{toAddress}}0>",
- "msgIssueContent": "<0>{{issuer}}0> issued <1>{{amount}}1> units of <1>{{subunit}}1> "
+ "msgIssueContent": "<0>{{issuer}}0> issued <1>{{amount}}1> units of <1>{{subunit}}1> ",
+ "msgMintContent": "<0>{{sender}}0> has minted <1>{{amount}}1> ",
+ "msgBurnContent": "<0>{{sender}}0> has burned <1>{{amount}}1> ",
+ "msgFreezeContent": "<0>{{sender}}0> has frozen <1>{{amount}}1> on <2>{{account}}2>",
+ "msgUnfreezeContent": "<0>{{sender}}0> has unfrozen <1>{{amount}}1> on <2>{{account}}2>",
+ "msgGloballyFreezeContent": "<0>{{sender}}0> has globally frozen the token<1>{{denom}}1>",
+ "msgGloballyUnfreezeContent": "<0>{{sender}}0> has globally unfrozen the token<1>{{denom}}1>",
+ "msgSetWhitelistedLimitContent": "<0>{{sender}}0> has set the whitelisted limit for <1>{{account}}1> to <2>{{amount}}2>",
+ "msgNftMintContent": "Account <0>{{sender}}0> has minted NFT <1>{{id}}1> with class <2>{{class_id}}2>",
+ "msgNftBurnContent": "Account <0>{{sender}}0> has burned NFT <1>{{id}}1> with class <2>{{class_id}}2>",
+ "msgNftFreezeContent": "Account <0>{{sender}}0> has frozen NFT <1>{{id}}1> with class <2>{{class_id}}2>",
+ "msgNftUnfreezeContent": "Account <0>{{sender}}0> has unfrozen NFT <1>{{id}}1> with class <2>{{class_id}}2>",
+ "msgNftIssueClassContent": "A new NFT Class <0>{{name}}0> has been issued by <1>{{issuer}}1>"
}
diff --git a/apps/web-coreum/public/locales/en/message_labels.json b/apps/web-coreum/public/locales/en/message_labels.json
index 14925f2d52..646172e7b2 100644
--- a/apps/web-coreum/public/locales/en/message_labels.json
+++ b/apps/web-coreum/public/locales/en/message_labels.json
@@ -55,5 +55,17 @@
"MsgRevokeAllowance": "Revoke Allowance",
"MsgCreateVestingAccount": "Create Vesting Account",
"MsgCreatePeriodicVestingAccount": "Create Periodic Vesting Account",
- "msgIssueLabel": "Issue"
+ "msgIssueLabel": "Issue",
+ "msgMintLabel": "Mint",
+ "msgBurnLabel": "Burn",
+ "msgFreezeLabel": "Freeze",
+ "msgUnfreezeLabel": "Unfreeze",
+ "msgGloballyFreezeLabel": "Globally Freeze",
+ "msgGloballyUnfreezeLabel": "Globally Unfreeze",
+ "msgSetWhitelistedLimitLabel": "Set Whitelisted Limit",
+ "msgNftMintLabel": "NFT Mint",
+ "msgNftBurnLabel": "NFT Burn",
+ "msgNftFreezeLabel": "NFT Freeze",
+ "msgNftUnfreezeLabel": "NFT Unfreeze",
+ "msgNftIssueClassLabel": "NFT Issue Class"
}
diff --git a/packages/ui/src/assets/logo-full-light.svg b/packages/ui/src/assets/logo-full-light.svg
new file mode 100644
index 0000000000..110ffcce38
--- /dev/null
+++ b/packages/ui/src/assets/logo-full-light.svg
@@ -0,0 +1,10 @@
+
diff --git a/packages/ui/src/components/loadingSpinner/index.tsx b/packages/ui/src/components/loadingSpinner/index.tsx
new file mode 100644
index 0000000000..b1942a0251
--- /dev/null
+++ b/packages/ui/src/components/loadingSpinner/index.tsx
@@ -0,0 +1,18 @@
+import useStyles from '@/components/loadingSpinner/styles';
+import SpinnerSvg from './spinner.svg';
+
+const Spinner = ({ custom_style = {} }) => {
+ const { classes } = useStyles();
+ return (
+
+
+
+ );
+};
+
+export default Spinner;
diff --git a/packages/ui/src/components/loadingSpinner/spinner.svg b/packages/ui/src/components/loadingSpinner/spinner.svg
new file mode 100644
index 0000000000..5866b955a3
--- /dev/null
+++ b/packages/ui/src/components/loadingSpinner/spinner.svg
@@ -0,0 +1,64 @@
+
diff --git a/packages/ui/src/components/loadingSpinner/styles.ts b/packages/ui/src/components/loadingSpinner/styles.ts
new file mode 100644
index 0000000000..97e2d3dcb8
--- /dev/null
+++ b/packages/ui/src/components/loadingSpinner/styles.ts
@@ -0,0 +1,24 @@
+import { makeStyles } from 'tss-react/mui';
+
+const useStyles = makeStyles()((theme) => ({
+ root: {
+ '@keyframes spin': {
+ from: {
+ transform: 'rotate(0deg)',
+ },
+ to: {
+ transform: 'rotate(360deg)',
+ },
+ },
+ width: '100%',
+ height: '100%',
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'flex-end',
+ '& .spinner': {
+ scale: '0.8',
+ },
+ },
+}));
+
+export default useStyles;
diff --git a/packages/ui/src/components/msg/asset/burn/index.tsx b/packages/ui/src/components/msg/asset/burn/index.tsx
new file mode 100644
index 0000000000..8ebda67c1b
--- /dev/null
+++ b/packages/ui/src/components/msg/asset/burn/index.tsx
@@ -0,0 +1,35 @@
+import { FC } from 'react';
+import { Typography } from '@mui/material';
+import { Trans } from 'react-i18next';
+import { MsgBurn } from '@/models';
+import Name from '@/components/name';
+import { useProfileRecoil } from '@/recoil/profiles';
+import { formatNumber, formatToken } from '@/utils';
+
+const Burn: FC<{ message: MsgBurn }> = (props) => {
+ const { message } = props;
+
+ const amount = formatToken(message.coin.amount, message.coin.denom);
+
+ const parsedAmount = `${formatNumber(
+ amount.value,
+ amount.exponent
+ )} ${amount.displayDenom.toUpperCase()}`;
+
+ const sender = useProfileRecoil(message.sender);
+
+ return (
+
+ , ]}
+ values={{
+ sender: message.sender,
+ amount: parsedAmount,
+ }}
+ />
+
+ );
+};
+
+export default Burn;
diff --git a/packages/ui/src/components/msg/asset/freeze/index.tsx b/packages/ui/src/components/msg/asset/freeze/index.tsx
new file mode 100644
index 0000000000..9c52513ca6
--- /dev/null
+++ b/packages/ui/src/components/msg/asset/freeze/index.tsx
@@ -0,0 +1,41 @@
+import { FC } from 'react';
+import { useProfileRecoil } from '@/recoil/profiles';
+import { Typography } from '@mui/material';
+import { Trans } from 'react-i18next';
+import Name from '@/components/name';
+import { MsgFreeze } from '@/models';
+import { formatToken, formatNumber } from '@/utils';
+
+const Freeze: FC<{ message: MsgFreeze }> = (props) => {
+ const { message } = props;
+
+ const sender = useProfileRecoil(message.sender);
+ const account = useProfileRecoil(message.account);
+
+ const amount = formatToken(message.coin.amount, message.coin.denom);
+
+ const parsedAmount = `${formatNumber(
+ amount.value,
+ amount.exponent
+ )} ${amount.displayDenom.toUpperCase()}`;
+
+ return (
+
+ ,
+ ,
+ ,
+ ]}
+ values={{
+ sender: message.sender,
+ account: message.account,
+ amount: parsedAmount,
+ }}
+ />
+
+ );
+};
+
+export default Freeze;
diff --git a/packages/ui/src/components/msg/asset/globally_freeze/index.tsx b/packages/ui/src/components/msg/asset/globally_freeze/index.tsx
new file mode 100644
index 0000000000..47a4dd4366
--- /dev/null
+++ b/packages/ui/src/components/msg/asset/globally_freeze/index.tsx
@@ -0,0 +1,27 @@
+import { FC } from 'react';
+import { useProfileRecoil } from '@/recoil/profiles';
+import { Typography } from '@mui/material';
+import { Trans } from 'react-i18next';
+import Name from '@/components/name';
+import { MsgGloballyFreeze } from '@/models';
+
+const GloballyFreeze: FC<{ message: MsgGloballyFreeze }> = (props) => {
+ const { message } = props;
+
+ const sender = useProfileRecoil(message.sender);
+
+ return (
+
+ , ]}
+ values={{
+ sender: message.sender,
+ denom: message.denom,
+ }}
+ />
+
+ );
+};
+
+export default GloballyFreeze;
diff --git a/packages/ui/src/components/msg/asset/globally_unfreeze/index.tsx b/packages/ui/src/components/msg/asset/globally_unfreeze/index.tsx
new file mode 100644
index 0000000000..3e5991b429
--- /dev/null
+++ b/packages/ui/src/components/msg/asset/globally_unfreeze/index.tsx
@@ -0,0 +1,27 @@
+import { FC } from 'react';
+import { useProfileRecoil } from '@/recoil/profiles';
+import { Typography } from '@mui/material';
+import { Trans } from 'react-i18next';
+import Name from '@/components/name';
+import { MsgGloballyUnfreeze } from '@/models';
+
+const GloballyUnfreeze: FC<{ message: MsgGloballyUnfreeze }> = (props) => {
+ const { message } = props;
+
+ const sender = useProfileRecoil(message.sender);
+
+ return (
+
+ , ]}
+ values={{
+ sender: message.sender,
+ denom: message.denom,
+ }}
+ />
+
+ );
+};
+
+export default GloballyUnfreeze;
diff --git a/packages/ui/src/components/msg/asset/mint/index.tsx b/packages/ui/src/components/msg/asset/mint/index.tsx
new file mode 100644
index 0000000000..9a997ea235
--- /dev/null
+++ b/packages/ui/src/components/msg/asset/mint/index.tsx
@@ -0,0 +1,35 @@
+import { FC } from 'react';
+import { useProfileRecoil } from '@/recoil/profiles';
+import { Typography } from '@mui/material';
+import { Trans } from 'react-i18next';
+import Name from '@/components/name';
+import { MsgMint } from '@/models';
+import { formatNumber, formatToken } from '@/utils';
+
+const Mint: FC<{ message: MsgMint }> = (props) => {
+ const { message } = props;
+
+ const sender = useProfileRecoil(message.sender);
+
+ const amount = formatToken(message.coin.amount, message.coin.denom);
+
+ const parsedAmount = `${formatNumber(
+ amount.value,
+ amount.exponent
+ )} ${amount.displayDenom.toUpperCase()}`;
+
+ return (
+
+ , ]}
+ values={{
+ sender: message.sender,
+ amount: parsedAmount,
+ }}
+ />
+
+ );
+};
+
+export default Mint;
diff --git a/packages/ui/src/components/msg/asset/nft_burn/index.tsx b/packages/ui/src/components/msg/asset/nft_burn/index.tsx
new file mode 100644
index 0000000000..928b157c3e
--- /dev/null
+++ b/packages/ui/src/components/msg/asset/nft_burn/index.tsx
@@ -0,0 +1,32 @@
+import { FC } from 'react';
+import { useProfileRecoil } from '@/recoil/profiles';
+import { Typography } from '@mui/material';
+import { Trans } from 'react-i18next';
+import Name from '@/components/name';
+import { MsgNftBurn } from '@/models';
+
+const NftBurn: FC<{ message: MsgNftBurn }> = (props) => {
+ const { message } = props;
+
+ const sender = useProfileRecoil(message.sender);
+
+ return (
+
+ ,
+ ,
+ ,
+ ]}
+ values={{
+ sender: message.sender,
+ id: message.id,
+ class_id: message.class_id,
+ }}
+ />
+
+ );
+};
+
+export default NftBurn;
diff --git a/packages/ui/src/components/msg/asset/nft_freeze/index.tsx b/packages/ui/src/components/msg/asset/nft_freeze/index.tsx
new file mode 100644
index 0000000000..abc12d8bbd
--- /dev/null
+++ b/packages/ui/src/components/msg/asset/nft_freeze/index.tsx
@@ -0,0 +1,32 @@
+import { FC } from 'react';
+import { useProfileRecoil } from '@/recoil/profiles';
+import { Typography } from '@mui/material';
+import { Trans } from 'react-i18next';
+import Name from '@/components/name';
+import { MsgNftFreeze } from '@/models';
+
+const NftFreeze: FC<{ message: MsgNftFreeze }> = (props) => {
+ const { message } = props;
+
+ const sender = useProfileRecoil(message.sender);
+
+ return (
+
+ ,
+ ,
+ ,
+ ]}
+ values={{
+ sender: message.sender,
+ id: message.id,
+ class_id: message.class_id,
+ }}
+ />
+
+ );
+};
+
+export default NftFreeze;
diff --git a/packages/ui/src/components/msg/asset/nft_issue_class/index.tsx b/packages/ui/src/components/msg/asset/nft_issue_class/index.tsx
new file mode 100644
index 0000000000..5a39a96f2d
--- /dev/null
+++ b/packages/ui/src/components/msg/asset/nft_issue_class/index.tsx
@@ -0,0 +1,27 @@
+import { FC } from 'react';
+import { useProfileRecoil } from '@/recoil/profiles';
+import { Typography } from '@mui/material';
+import { Trans } from 'react-i18next';
+import Name from '@/components/name';
+import { MsgNftIssueClass } from '@/models';
+
+const NftIssueClass: FC<{ message: MsgNftIssueClass }> = (props) => {
+ const { message } = props;
+
+ const issuer = useProfileRecoil(message.issuer);
+
+ return (
+
+ , ]}
+ values={{
+ name: message.name,
+ issuer: message.issuer,
+ }}
+ />
+
+ );
+};
+
+export default NftIssueClass;
diff --git a/packages/ui/src/components/msg/asset/nft_mint/index.tsx b/packages/ui/src/components/msg/asset/nft_mint/index.tsx
new file mode 100644
index 0000000000..5f0ab455b5
--- /dev/null
+++ b/packages/ui/src/components/msg/asset/nft_mint/index.tsx
@@ -0,0 +1,32 @@
+import { FC } from 'react';
+import { useProfileRecoil } from '@/recoil/profiles';
+import { Typography } from '@mui/material';
+import { Trans } from 'react-i18next';
+import Name from '@/components/name';
+import { MsgNftMint } from '@/models';
+
+const NftMint: FC<{ message: MsgNftMint }> = (props) => {
+ const { message } = props;
+
+ const sender = useProfileRecoil(message.sender);
+
+ return (
+
+ ,
+ ,
+ ,
+ ]}
+ values={{
+ sender: message.sender,
+ id: message.id,
+ class_id: message.class_id,
+ }}
+ />
+
+ );
+};
+
+export default NftMint;
diff --git a/packages/ui/src/components/msg/asset/nft_unfreeze/index.tsx b/packages/ui/src/components/msg/asset/nft_unfreeze/index.tsx
new file mode 100644
index 0000000000..d3a4e766c4
--- /dev/null
+++ b/packages/ui/src/components/msg/asset/nft_unfreeze/index.tsx
@@ -0,0 +1,32 @@
+import { FC } from 'react';
+import { useProfileRecoil } from '@/recoil/profiles';
+import { Typography } from '@mui/material';
+import { Trans } from 'react-i18next';
+import Name from '@/components/name';
+import { MsgNftUnfreeze } from '@/models';
+
+const NftUnfreeze: FC<{ message: MsgNftUnfreeze }> = (props) => {
+ const { message } = props;
+
+ const sender = useProfileRecoil(message.sender);
+
+ return (
+
+ ,
+ ,
+ ,
+ ]}
+ values={{
+ sender: message.sender,
+ id: message.id,
+ class_id: message.class_id,
+ }}
+ />
+
+ );
+};
+
+export default NftUnfreeze;
diff --git a/packages/ui/src/components/msg/asset/set_whitelisted_limit/index.tsx b/packages/ui/src/components/msg/asset/set_whitelisted_limit/index.tsx
new file mode 100644
index 0000000000..815d0c16d4
--- /dev/null
+++ b/packages/ui/src/components/msg/asset/set_whitelisted_limit/index.tsx
@@ -0,0 +1,41 @@
+import { FC } from 'react';
+import { useProfileRecoil } from '@/recoil/profiles';
+import { Typography } from '@mui/material';
+import { Trans } from 'react-i18next';
+import Name from '@/components/name';
+import { MsgSetWhitelistedLimit } from '@/models';
+import { formatNumber, formatToken } from '@/utils';
+
+const SetWhitelistedLimit: FC<{ message: MsgSetWhitelistedLimit }> = (props) => {
+ const { message } = props;
+
+ const sender = useProfileRecoil(message.sender);
+ const account = useProfileRecoil(message.account);
+
+ const amount = formatToken(message.coin.amount, message.coin.denom);
+
+ const parsedAmount = `${formatNumber(
+ amount.value,
+ amount.exponent
+ )} ${amount.displayDenom.toUpperCase()}`;
+
+ return (
+
+ ,
+ ,
+ ,
+ ]}
+ values={{
+ sender: message.sender,
+ account: message.account,
+ amount: parsedAmount,
+ }}
+ />
+
+ );
+};
+
+export default SetWhitelistedLimit;
diff --git a/packages/ui/src/components/msg/asset/unfreeze/index.tsx b/packages/ui/src/components/msg/asset/unfreeze/index.tsx
new file mode 100644
index 0000000000..a8120c87bb
--- /dev/null
+++ b/packages/ui/src/components/msg/asset/unfreeze/index.tsx
@@ -0,0 +1,40 @@
+import { FC } from 'react';
+import { useProfileRecoil } from '@/recoil/profiles';
+import { Typography } from '@mui/material';
+import { Trans } from 'react-i18next';
+import Name from '@/components/name';
+import { MsgUnfreeze } from '@/models';
+import { formatNumber, formatToken } from '@/utils';
+
+const Unfreeze: FC<{ message: MsgUnfreeze }> = (props) => {
+ const { message } = props;
+
+ const sender = useProfileRecoil(message.sender);
+ const account = useProfileRecoil(message.account);
+
+ const amount = formatToken(message.coin.amount, message.coin.denom);
+
+ const parsedAmount = `${formatNumber(
+ amount.value,
+ amount.exponent
+ )} ${amount.displayDenom.toUpperCase()}`;
+ return (
+
+ ,
+ ,
+ ,
+ ]}
+ values={{
+ sender: message.sender,
+ account: message.account,
+ amount: parsedAmount,
+ }}
+ />
+
+ );
+};
+
+export default Unfreeze;
diff --git a/packages/ui/src/components/msg/index.ts b/packages/ui/src/components/msg/index.ts
index 8f46775247..e9e52e3b73 100644
--- a/packages/ui/src/components/msg/index.ts
+++ b/packages/ui/src/components/msg/index.ts
@@ -60,3 +60,15 @@ export { default as Unknown } from '@/components/msg/unknown';
export { default as CreatePeriodicVestingAccount } from '@/components/msg/vesting/create_periodic_vesting_account';
export { default as CreateVestingAccount } from '@/components/msg/vesting/create_vesting_account';
export { default as Issue } from '@/components/msg/asset/issue';
+export { default as Mint } from '@/components/msg/asset/mint';
+export { default as Burn } from '@/components/msg/asset/burn';
+export { default as Freeze } from '@/components/msg/asset/freeze';
+export { default as Unfreeze } from '@/components/msg/asset/unfreeze';
+export { default as GloballyFreeze } from '@/components/msg/asset/globally_freeze';
+export { default as GloballyUnfreeze } from '@/components/msg/asset/globally_unfreeze';
+export { default as SetWhitelistedLimit } from '@/components/msg/asset/set_whitelisted_limit';
+export { default as NftBurn } from '@/components/msg/asset/nft_burn';
+export { default as NftMint } from '@/components/msg/asset/nft_mint';
+export { default as NftFreeze } from '@/components/msg/asset/nft_freeze';
+export { default as NftUnfreeze } from '@/components/msg/asset/nft_unfreeze';
+export { default as NftIssueClass } from '@/components/msg/asset/nft_issue_class';
diff --git a/packages/ui/src/components/msg/utils.tsx b/packages/ui/src/components/msg/utils.tsx
index 4217bf56af..849afb6d47 100644
--- a/packages/ui/src/components/msg/utils.tsx
+++ b/packages/ui/src/components/msg/utils.tsx
@@ -345,6 +345,7 @@ type DefaultTypeToModel = typeof defaultTypeToModel;
// =====================================
// Update your chain's message types here
+// The tagTheme is the color of the tag.
// =====================================
const customTypeToModel = {
// ========================
@@ -410,6 +411,78 @@ const customTypeToModel = {
tagTheme: 'one',
tagDisplay: 'msgIssueLabel',
},
+ '/coreum.asset.ft.v1.MsgMint': {
+ model: MODELS.MsgMint,
+ content: COMPONENTS.Mint,
+ tagTheme: 'one',
+ tagDisplay: 'msgMintLabel',
+ },
+ '/coreum.asset.ft.v1.MsgBurn': {
+ model: MODELS.MsgBurn,
+ content: COMPONENTS.Burn,
+ tagTheme: 'one',
+ tagDisplay: 'msgBurnLabel',
+ },
+ '/coreum.asset.ft.v1.MsgFreeze': {
+ model: MODELS.MsgFreeze,
+ content: COMPONENTS.Freeze,
+ tagTheme: 'one',
+ tagDisplay: 'msgFreezeLabel',
+ },
+ '/coreum.asset.ft.v1.MsgUnfreeze': {
+ model: MODELS.MsgUnfreeze,
+ content: COMPONENTS.Unfreeze,
+ tagTheme: 'one',
+ tagDisplay: 'msgUnfreezeLabel',
+ },
+ '/coreum.asset.ft.v1.MsgGloballyFreeze': {
+ model: MODELS.MsgGloballyFreeze,
+ content: COMPONENTS.GloballyFreeze,
+ tagTheme: 'one',
+ tagDisplay: 'msgGloballyFreezeLabel',
+ },
+ '/coreum.asset.ft.v1.MsgGloballyUnfreeze': {
+ model: MODELS.MsgGloballyUnfreeze,
+ content: COMPONENTS.GloballyUnfreeze,
+ tagTheme: 'one',
+ tagDisplay: 'msgGloballyUnfreezeLabel',
+ },
+ '/coreum.asset.ft.v1.MsgSetWhitelistedLimit': {
+ model: MODELS.MsgSetWhitelistedLimit,
+ content: COMPONENTS.SetWhitelistedLimit,
+ tagTheme: 'one',
+ tagDisplay: 'msgSetWhitelistedLimitLabel',
+ },
+ '/coreum.asset.nft.v1.MsgBurn': {
+ model: MODELS.MsgNftBurn,
+ content: COMPONENTS.NftBurn,
+ tagTheme: 'one',
+ tagDisplay: 'msgNftBurnLabel',
+ },
+ '/coreum.asset.nft.v1.MsgMint': {
+ model: MODELS.MsgNftMint,
+ content: COMPONENTS.NftMint,
+ tagTheme: 'one',
+ tagDisplay: 'msgNftMintLabel',
+ },
+ '/coreum.asset.nft.v1.MsgIssueClass': {
+ model: MODELS.MsgNftIssueClass,
+ content: COMPONENTS.NftIssueClass,
+ tagTheme: 'one',
+ tagDisplay: 'msgNftIssueClassLabel',
+ },
+ '/coreum.asset.nft.v1.MsgFreeze': {
+ model: MODELS.MsgNftFreeze,
+ content: COMPONENTS.NftFreeze,
+ tagTheme: 'one',
+ tagDisplay: 'msgNftFreezeLabel',
+ },
+ '/coreum.asset.nft.v1.MsgUnfreeze': {
+ model: MODELS.MsgNftUnfreeze,
+ content: COMPONENTS.NftUnfreeze,
+ tagTheme: 'one',
+ tagDisplay: 'msgNftUnfreezeLabel',
+ },
};
type CustomTypeToModel = typeof customTypeToModel;
diff --git a/packages/ui/src/components/nav/components/mobile/components/navbar/index.tsx b/packages/ui/src/components/nav/components/mobile/components/navbar/index.tsx
index 674db8c596..8c21d37596 100644
--- a/packages/ui/src/components/nav/components/mobile/components/navbar/index.tsx
+++ b/packages/ui/src/components/nav/components/mobile/components/navbar/index.tsx
@@ -3,6 +3,7 @@ import type { NavbarProps } from '@/components/nav/components/mobile/components/
import { readTheme } from '@/recoil/settings';
import { HOME } from '@/utils/go_to_page';
import Logo from '@/assets/logo-full.svg';
+import LogoWhite from '@/assets/logo-full-light.svg';
import Link from 'next/link';
import { useRecoilValue } from 'recoil';
@@ -14,7 +15,7 @@ const Navbar = (props: NavbarProps) => {
return (
-
+ {theme === 'dark' ?
:
}
= ({ className }) => {
const { t } = useTranslation('common');
const { handleOnSubmit } = useSearchBar(t);
- let placeholderText;
- if (extra.profile) {
- placeholderText = t('searchBarPlaceholderDtag');
- } else {
- placeholderText = t('searchBarPlaceholder');
- }
+ //Modified search placeholder to hide DTag search
+ let placeholderText = t('searchBarPlaceholder');
+
+ // if (extra.profile) {
+ // placeholderText = t('searchBarPlaceholderDtag');
+ // } else {
+ // placeholderText = t('searchBarPlaceholder');
+ // }
return
;
};
diff --git a/packages/ui/src/components/search/hooks.ts b/packages/ui/src/components/search/hooks.ts
index 6a4ea0625f..1c697b7f9d 100644
--- a/packages/ui/src/components/search/hooks.ts
+++ b/packages/ui/src/components/search/hooks.ts
@@ -7,8 +7,14 @@ export const useSearch = (callback: (value: string, clear?: () => void) => void)
setValue(newValue);
};
+ const handleSubmitOnChange: ChangeEventHandler
= (e) => {
+ const newValue = e?.target?.value ?? '';
+ setValue(newValue);
+ callback(newValue);
+ };
+
const handleOnSubmit = () => {
- callback(value, clear);
+ callback(value);
};
const handleKeyDown: KeyboardEventHandler = (e) => {
@@ -16,7 +22,7 @@ export const useSearch = (callback: (value: string, clear?: () => void) => void)
const isEnter = e?.keyCode === 13 || e?.key === 'Enter';
if (isEnter && !shift) {
e.preventDefault();
- callback(value, clear);
+ callback(value);
}
};
@@ -29,5 +35,6 @@ export const useSearch = (callback: (value: string, clear?: () => void) => void)
handleOnSubmit,
value,
handleKeyDown,
+ handleSubmitOnChange,
};
};
diff --git a/packages/ui/src/components/search/index.tsx b/packages/ui/src/components/search/index.tsx
index d251b010ed..daf090a23e 100644
--- a/packages/ui/src/components/search/index.tsx
+++ b/packages/ui/src/components/search/index.tsx
@@ -8,18 +8,21 @@ import { useSearch } from '@/components/search/hooks';
type SearchProps = {
className?: string;
placeholder: string;
+ submitOnChange?: boolean;
callback: (value: string) => void;
};
-const Search: FC = ({ className, placeholder, callback }) => {
+const Search: FC = ({ className, placeholder, callback, submitOnChange = false }) => {
const { classes, cx } = useStyles();
- const { handleOnSubmit, handleOnChange, handleKeyDown, value } = useSearch(callback);
+ const { handleOnSubmit, handleOnChange, handleSubmitOnChange, handleKeyDown, value } =
+ useSearch(callback);
+
return (