Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
daca36f
fix: cleanup
neocybereth May 18, 2025
52cc4cf
fix: placeholder
neocybereth May 22, 2025
aa87520
fix: updates to module
neocybereth May 23, 2025
aaf312e
fix: cleanup
neocybereth May 23, 2025
45a9424
fix: clean up card
neocybereth May 23, 2025
b343ef6
fix: remove svg and update to icon
neocybereth May 25, 2025
e4fadcc
fix: cleanup token selector
neocybereth Jun 10, 2025
94d8280
chore: add selector for all networks and keep it highlighted
neocybereth Jun 10, 2025
b599226
fix: linting
neocybereth Jun 10, 2025
5ae6291
fix: update scrolling
neocybereth Jun 24, 2025
50f5ee2
fix: cleanup
neocybereth Jun 24, 2025
b3405b4
fix: cleaup
neocybereth Jun 26, 2025
5e177e0
fix: cleanup transfer destination and update left side panel
neocybereth Jun 26, 2025
93bbef9
fix: complete siderb ar
neocybereth Jun 26, 2025
8eaf534
fix: cleanup
neocybereth Jun 30, 2025
b895d29
fix: cleanup
neocybereth Jul 1, 2025
d2e15f3
fix: cleanup
neocybereth Jul 2, 2025
65ea0bd
fix: update icons on source
neocybereth Jul 2, 2025
2bfdb60
fix: styling in source module
neocybereth Jul 2, 2025
5d60f70
fix: remove token example
neocybereth Jul 2, 2025
7d76e63
fix: mild cleanup
neocybereth Jul 2, 2025
a0dc55f
fix: clear amount input
neocybereth Jul 2, 2025
4a80565
fix: separate types
neocybereth Jul 3, 2025
e92e677
fix: cleanup
neocybereth Jul 3, 2025
9edbbb9
fix: more cleanup
neocybereth Jul 3, 2025
bdd3bcd
chore: abstract away and cleanup
neocybereth Jul 3, 2025
7d6b097
fix: cleanup
neocybereth Jul 3, 2025
304879f
fix: various cleanups
neocybereth Jul 3, 2025
6b0caf6
fix: reinstate
neocybereth Jul 3, 2025
8620168
fix: get wallet dropdown working
neocybereth Jul 3, 2025
381ccc9
fix: mega cleanup
neocybereth Jul 3, 2025
60d89ac
fix: cleanup
neocybereth Jul 8, 2025
e39f2a9
chore: validator for source
neocybereth Jul 9, 2025
07dfa13
fix: remove shielding option on shielding txn
neocybereth Jul 9, 2025
b716910
fix: design overhaul
neocybereth Jul 9, 2025
c4f626b
chore: transfer resolver
neocybereth Jul 10, 2025
b17e3ee
fix: clean
neocybereth Jul 10, 2025
f8d202a
fix: back to equilibrium
neocybereth Jul 10, 2025
9721c43
fix: its a miracle
neocybereth Jul 11, 2025
a170646
fix: cleanup
neocybereth Jul 11, 2025
37498e0
fix: yo
neocybereth Jul 13, 2025
05134a6
fix: checkpoint
neocybereth Jul 13, 2025
cbbaff0
fix: slog
neocybereth Jul 14, 2025
840c1a5
fix: address dropdown and such
neocybereth Jul 14, 2025
fd16080
cleanup
neocybereth Jul 14, 2025
f6813d3
cleanup
neocybereth Jul 14, 2025
c01acc0
fix: transaction melding chaos
neocybereth Jul 14, 2025
d4cdb94
cleanup
neocybereth Jul 15, 2025
65cbfae
fix: cleaning up the chaos
neocybereth Jul 16, 2025
1702560
cleanup
neocybereth Jul 16, 2025
c7037eb
clean
neocybereth Jul 16, 2025
78f9960
add keplr addy in top logo tooltip
neocybereth Jul 17, 2025
b66ccaf
fixes
neocybereth Jul 17, 2025
54bcc05
major cleanup
neocybereth Jul 17, 2025
47d4dd6
EXPERIMENTAL CHECKPOINT
neocybereth Jul 17, 2025
62d8a40
i did it holy smokes
neocybereth Jul 17, 2025
533d5c1
absolutely cooking with gas folks
neocybereth Jul 17, 2025
524b36c
clean up of Namada Transfer
neocybereth Jul 17, 2025
0273fca
mega cleanup all components done
neocybereth Jul 17, 2025
f23e705
what a frikkin miracle
neocybereth Jul 17, 2025
01f541e
cleanup
neocybereth Jul 17, 2025
f55b9e2
new architecture
neocybereth Jul 18, 2025
6a3d3bb
cleanup tweaks
neocybereth Jul 18, 2025
5b4345a
core base
neocybereth Jul 18, 2025
ff6a950
fix: add back spacing
neocybereth Jul 18, 2025
69baead
fix: cleanup sidebar nav
neocybereth Jul 18, 2025
b1d5ac1
fix: cleanup
neocybereth Jul 18, 2025
205a409
cleanup
neocybereth Jul 18, 2025
732f048
fix: cleanup components and organize
neocybereth Jul 18, 2025
f45a461
cleanup token select
neocybereth Jul 18, 2025
214c530
fix: goofy select token fix,dk how I feel about it
neocybereth Jul 18, 2025
0807704
revert
neocybereth Jul 18, 2025
f94084e
fix: cleanup
neocybereth Jul 21, 2025
105a77e
fix and keplr wallet manager sharing
neocybereth Jul 22, 2025
20e9b6e
cleanup
neocybereth Jul 22, 2025
07de53b
get ibc shielding workin
neocybereth Jul 22, 2025
ca2ba18
update side menu
neocybereth Jul 22, 2025
c7af5ce
various fixes
neocybereth Jul 22, 2025
570cbc3
fix: remove old ways extra funcs
neocybereth Jul 23, 2025
a67819e
fix: variables
neocybereth Jul 23, 2025
d96c749
fix: types
neocybereth Jul 23, 2025
8beef7d
fix: simplify address dropdown
neocybereth Jul 23, 2025
1fd2cf4
fix: address dropdown
neocybereth Jul 24, 2025
c500c90
fix: update address dropdown to show alias instead of address
neocybereth Jul 27, 2025
393d617
fix: add keplr alias
neocybereth Jul 29, 2025
1559672
fix: adding ibc addy
neocybereth Jul 29, 2025
76b0033
fix: deps
neocybereth Jul 29, 2025
d63c54d
fix: cleanup
neocybereth Jul 29, 2025
0d04768
fix: cleanup
neocybereth Jul 29, 2025
5424df3
fix: cleanup
neocybereth Jul 29, 2025
38b8fa3
fix: cleanup
neocybereth Jul 29, 2025
3c6065c
fix: update destination and downgrade packages
neocybereth Jul 29, 2025
4a0cb87
fix: minor fixes
neocybereth Jul 29, 2025
c2ade4d
fix: prevent auto request
neocybereth Jul 31, 2025
4191225
fix: prevent auto request
neocybereth Jul 31, 2025
9c2c7bf
fix: remove yarn
neocybereth Jul 31, 2025
7cd94d3
fix: update link tracking state and ibc gas errorr
neocybereth Jul 31, 2025
684967f
fix: cleanup
neocybereth Jul 31, 2025
33dc111
fix: update sidebar
neocybereth Aug 1, 2025
b0ae455
fix: set default account
neocybereth Aug 1, 2025
880a416
fix: fix popup on select token when changing routes
neocybereth Aug 4, 2025
3752f47
fix: clean up code that determines what ibc addresses we can transfer to
neocybereth Aug 4, 2025
cfb5bef
fix: update URL with asset
neocybereth Aug 4, 2025
bcad427
fix: cleanup for ibc transfers
neocybereth Aug 5, 2025
2cf493f
fix: update submitting txn view
neocybereth Aug 5, 2025
0b8bb2b
fix: cleanup for fees
neocybereth Aug 5, 2025
320b046
fix: cleanup transaction receipt
neocybereth Aug 5, 2025
2440eca
fix: cleanup
neocybereth Aug 5, 2025
37ce3d1
fix: tests
neocybereth Aug 5, 2025
28645df
fix: tests
neocybereth Aug 5, 2025
d3ff81d
fix: types
neocybereth Aug 5, 2025
36d658b
fix: update destination address modal
neocybereth Aug 6, 2025
86f8b41
fix: allow NAM to be sent to osmosis
neocybereth Aug 6, 2025
4198604
fix: cleanup select token
neocybereth Aug 6, 2025
f6b4e76
fix: show selected account
neocybereth Aug 6, 2025
39a8ad5
fix: cleanup keplr asset transfer destination
neocybereth Aug 7, 2025
ccc1b93
fix: cleanup
neocybereth Aug 7, 2025
9a53cad
fix: prevent reusing same link on sidebar
neocybereth Aug 7, 2025
63bc9c1
fix: dont allow sending from/to same address
neocybereth Aug 18, 2025
0dc2a1f
fix: pr review fixes
neocybereth Aug 25, 2025
a65c21e
fix: cleanup
neocybereth Aug 25, 2025
03671e9
fix: cleanup
neocybereth Aug 25, 2025
c07db8f
fix: cleanup early popup
neocybereth Aug 26, 2025
55c95e0
fix: dont popup single chain connection on address modal
neocybereth Aug 26, 2025
1206d91
fix: make sure destination address isnt ibc if keplr not connected
neocybereth Aug 26, 2025
7433e30
fix: connect all keplr chains upon destination select
neocybereth Aug 26, 2025
3dcef27
fix: add connect all keplr chains helper
neocybereth Aug 26, 2025
af60dcf
fix: update privacy tooltip
neocybereth Aug 26, 2025
2456dd6
fix: remove annoying console error
neocybereth Sep 4, 2025
4823e1c
fix: clear other annoying error
neocybereth Sep 4, 2025
ba7de5d
fix: update nam
neocybereth Sep 10, 2025
efd7d83
fix: remove assets with no balance on keplr
neocybereth Sep 10, 2025
9974774
feat: add square chain icons (#2302)
euharrison Oct 12, 2025
412fe98
fix: fix network select
neocybereth Oct 14, 2025
53d76f1
fix: namada transparent image in receipt
neocybereth Oct 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ import { useBalances } from "hooks/useBalances";
import { useAtomValue } from "jotai";
import { useEffect, useMemo, useState } from "react";
import { IoSwapHorizontal } from "react-icons/io5";
import { TbVectorTriangle } from "react-icons/tb";
import { Link } from "react-router-dom";
import { twMerge } from "tailwind-merge";
import { TokenBalance } from "types";
Expand Down Expand Up @@ -128,12 +127,6 @@ const TransparentTokensTable = ({
url: `${routes.transfer}?${params.asset}=${address}&${params.shielded}=0`,
icon: <IoSwapHorizontal className="h-[20px] w-[20px]" />,
},
{
url: `${routes.ibcWithdraw}?${params.asset}=${address}`,
icon: (
<TbVectorTriangle className="h-[20px] w-[20px] -mt-1" />
),
},
].map(({ url, icon }) => (
<div key={url} className="relative group/tooltip">
<Link
Expand Down
2 changes: 1 addition & 1 deletion apps/namadillo/src/App/AccountOverview/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ export const sortedTableData = (data: TokenBalance[]): TokenBalance[] => {
if (aIsNam !== bIsNam) return aIsNam ? -1 : 1;
const aValue = BigNumber(a.amount);
const bValue = BigNumber(b.amount);
return bValue.comparedTo(aValue);
return bValue.comparedTo(aValue) || 0;
});
};
44 changes: 11 additions & 33 deletions apps/namadillo/src/App/AppRoutes.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,6 @@ import { SubmitVote } from "./Governance/SubmitVote";
import { ViewJson } from "./Governance/ViewJson";
import { IbcLayout } from "./Ibc/IbcLayout";
import { IbcShieldAll } from "./Ibc/IbcShieldAll";
import { IbcTransfer } from "./Ibc/IbcTransfer";
import { IbcTransfersLayout } from "./Ibc/IbcTransfersLayout";
import { IbcWithdraw } from "./Ibc/IbcWithdraw";
import { MaspLayout } from "./Masp/MaspLayout";
import { MaspShield } from "./Masp/MaspShield";
import { MaspUnshield } from "./Masp/MaspUnshield";
import { NamadaTransfer } from "./NamadaTransfer/NamadaTransfer";
import { routes } from "./routes";
import { Advanced } from "./Settings/Advanced";
import { EnableFeatures } from "./Settings/EnableFeatures";
Expand All @@ -46,6 +39,7 @@ import { Unstake } from "./Staking/Unstake";
import { SwitchAccountPanel } from "./SwitchAccount/SwitchAccountPanel";
import { TransactionDetails } from "./Transactions/TransactionDetails";
import { TransactionHistory } from "./Transactions/TransactionHistory";
import { ReceiveCard } from "./Transfer";
import { TransferLayout } from "./Transfer/TransferLayout";

export const MainRoutes = (): JSX.Element => {
Expand All @@ -69,7 +63,6 @@ export const MainRoutes = (): JSX.Element => {
>
{/* Home */}
<Route index element={<AccountOverview />} />

{/* Staking */}
<Route path={routes.staking} element={<StakingOverview />} />
<Route
Expand All @@ -81,7 +74,8 @@ export const MainRoutes = (): JSX.Element => {
path={routes.stakingBondingRedelegate}
element={<ReDelegate />}
/>

{/* Receive */}
<Route path={routes.receive} element={<ReceiveCard />} />
{/* Governance */}
<Route path={routes.governance} element={<GovernanceOverview />} />
<Route
Expand All @@ -91,34 +85,19 @@ export const MainRoutes = (): JSX.Element => {
<Route path={routes.governanceSubmitVote} element={<SubmitVote />} />
<Route path={routes.governanceJson} element={<ViewJson />} />

{/* Masp */}
{features.maspEnabled && (
<Route element={<MaspLayout />}>
<Route path={routes.shield} element={<MaspShield />} />
<Route path={routes.unshield} element={<MaspUnshield />} />
</Route>
)}

{/* Ibc Transfers */}
{features.ibcTransfersEnabled && (
<Route element={<IbcTransfersLayout />}>
<Route path={routes.ibc} element={<IbcTransfer />} />
<Route path={routes.ibcWithdraw} element={<IbcWithdraw />} />
</Route>
)}

{features.ibcTransfersEnabled && (
<Route element={<IbcLayout />}>
<Route path={routes.ibcShieldAll} element={<IbcShieldAll />} />
</Route>
)}

{/* Transfer */}
{(features.maspEnabled || features.namTransfersEnabled) && (
<Route element={<TransferLayout />}>
<Route path={routes.transfer} element={<NamadaTransfer />} />
</Route>
)}
{/* Transfer - All transfer types now handled by TransferLayout */}
<Route element={<TransferLayout />}>
<Route path={routes.transfer} element={<div />} />
<Route path={routes.ibc} element={<div />} />
<Route path={routes.ibcWithdraw} element={<div />} />
<Route path={routes.maspShield} element={<div />} />
<Route path={routes.maspUnshield} element={<div />} />
</Route>

{/* Transaction History */}
{(features.namTransfersEnabled || features.ibcTransfersEnabled) && (
Expand All @@ -130,7 +109,6 @@ export const MainRoutes = (): JSX.Element => {
/>
</Route>
)}

{/* Other */}
<Route path={routes.bugReport} element={<BugReport />} />
<Route path="*" element={<NotFound />} />
Expand Down
4 changes: 2 additions & 2 deletions apps/namadillo/src/App/Common/SelectModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export const SelectModal = ({
)}
{...props}
>
<header className="flex w-full justify-center items-center relative mb-6 text-light leading-8">
<header className="flex w-full justify-center items-center relative mb-6 text-light leading-8 flex-shrink-0">
{title}
<i
className="cursor-pointer text-white absolute -right-2.5 text-xl p-1.5 hover:text-yellow z-50"
Expand All @@ -40,7 +40,7 @@ export const SelectModal = ({
<IoClose />
</i>
</header>
{children}
<div className="flex-1 overflow-hidden">{children}</div>
</div>
</ModalTransition>
</Modal>
Expand Down
22 changes: 19 additions & 3 deletions apps/namadillo/src/App/Common/SidebarMenuItem.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
import clsx from "clsx";
import { NavLink } from "react-router-dom";
import { NavLink, useLocation } from "react-router-dom";

type Props = {
url?: string;
children: React.ReactNode;
shouldHighlight?: boolean;
preventNavigationOnSameRoute?: boolean;
};

export const SidebarMenuItem = ({ url, children }: Props): JSX.Element => {
export const SidebarMenuItem = ({
url,
children,
shouldHighlight,
preventNavigationOnSameRoute = false,
}: Props): JSX.Element => {
const location = useLocation();

const className = clsx(
"flex items-center gap-5 text-lg text-white",
"transition-colors duration-300 ease-out-quad hover:text-cyan",
Expand All @@ -19,12 +28,19 @@ export const SidebarMenuItem = ({ url, children }: Props): JSX.Element => {
return <span className={className}>{children}</span>;
}

const handleClick = (e: React.MouseEvent): void => {
if (preventNavigationOnSameRoute && location.pathname === url) {
e.preventDefault();
}
};

return (
<NavLink
to={url}
onClick={handleClick}
className={({ isActive }) =>
clsx(className, {
"text-yellow font-bold": isActive,
"text-yellow font-bold": isActive || shouldHighlight,
})
}
>
Expand Down
6 changes: 4 additions & 2 deletions apps/namadillo/src/App/Common/TransactionFee.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@ export const TransactionFee = ({
symbol,
}: TransactionFeeProps): JSX.Element => {
return (
<div className="flex items-center gap-2">
<span className="text-xs leading-none text-neutral-500">Fee:</span>
<div className="flex w-full gap-2">
<span className="text-sm mt-[3px] ml-1 underline leading-none text-neutral-300">
Transaction Fee
</span>
<TokenCurrency
symbol={symbol}
amount={displayAmount}
Expand Down
2 changes: 1 addition & 1 deletion apps/namadillo/src/App/Common/TransactionFeeButton.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ export const TransactionFeeButton = ({
symbol={gasDisplayAmount?.asset.symbol || ""}
/>
<div className="flex items-center gap-2">
<div className="text-neutral-500 text-xs">Fee Options:</div>
<div className="text-neutral-500 text-xs">Fees:</div>
<button
type="button"
className={twMerge(
Expand Down
13 changes: 1 addition & 12 deletions apps/namadillo/src/App/Common/TransactionReceipt.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,6 @@ const TransferTransactionReceipt = ({
wallets.namada
: wallets.keplr;

const destinationWallet =
isNamadaAddress(transaction.destinationAddress || "") ?
wallets.namada
: wallets.keplr;

return (
<Stack className="max-w-[440px] mx-auto">
<div className="rounded-md bg-neutral-800 px-4 pb-6">
Expand All @@ -97,7 +92,6 @@ const TransferTransactionReceipt = ({
)}
{sourceWallet && (
<SelectedWallet
wallet={sourceWallet}
address={
isExtendedKey(transaction.sourceAddress || "") ?
getEncodedViewingKey(transaction.sourceAddress || "")
Expand Down Expand Up @@ -136,12 +130,7 @@ const TransferTransactionReceipt = ({
iconSize="36px"
/>
)}
{destinationWallet && (
<SelectedWallet
wallet={destinationWallet}
address={transaction.destinationAddress}
/>
)}
<SelectedWallet address={transaction.destinationAddress} />
</div>
</footer>
</div>
Expand Down
2 changes: 1 addition & 1 deletion apps/namadillo/src/App/Common/UnshieldAssetsModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export const UnshieldAssetsModal = ({
<img src={getAssetImageUrl(namadaAsset())} className="w-full" />
</span>
),
onClick: () => goTo(routes.unshield),
onClick: () => goTo(routes.maspUnshield),
children:
"Unshield assets from your Namada shielded to transparent account",
},
Expand Down
2 changes: 0 additions & 2 deletions apps/namadillo/src/App/Ibc/IbcShieldAll.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import { Chain } from "@chain-registry/types";
import { Panel } from "@namada/components";
import { useAssetAmount } from "hooks/useAssetAmount";
import { useWalletManager } from "hooks/useWalletManager";
import { wallets } from "integrations";
import { KeplrWalletManager } from "integrations/Keplr";
import { useState } from "react";
import { Asset } from "types";
Expand Down Expand Up @@ -41,7 +40,6 @@ export const IbcShieldAll: React.FC = () => {
{connected && !isSuccess && (
<ShieldAllPanel
registry={registry}
wallet={wallets.keplr}
walletAddress={walletAddress}
assetList={Object.values(assetsBalances || [])}
isLoading={isLoadingBalances}
Expand Down
Loading