From dd8748bec05a83a9fa99dfca38abd6da73f4f89f Mon Sep 17 00:00:00 2001 From: Joey Meere <100378695+joeymeere@users.noreply.github.com> Date: Wed, 16 Oct 2024 01:01:40 -0400 Subject: [PATCH 01/15] refactor(misc): change design, components, add utils --- app/(app)/config/page.tsx | 60 +- app/(app)/layout.tsx | 94 +-- app/(app)/page.tsx | 62 +- app/(app)/settings/page.tsx | 40 +- app/(app)/transactions/page.tsx | 217 +------ app/globals.css | 62 +- app/layout.tsx | 14 +- components/AddMemberInput.tsx | 5 +- components/ApproveButton.tsx | 4 +- components/ChangeThresholdInput.tsx | 7 +- components/ChangeUpgradeAuthorityInput.tsx | 5 +- components/ConnectWalletButton.tsx | 2 +- components/ExecuteButton.tsx | 19 +- components/MultisigInput.tsx | 4 +- components/RejectButton.tsx | 4 +- components/RemoveMemberButton.tsx | 3 +- components/RenderMultisigRoute.tsx | 4 +- components/SendSolButton.tsx | 6 +- components/SendTokensButton.tsx | 7 +- components/SetRpcUrlnput.tsx | 17 +- components/TokenList.tsx | 145 +++-- components/VaultDisplayer.tsx | 24 +- components/VaultSelector.tsx | 20 +- components/ui/chip.tsx | 28 + components/ui/input.tsx | 25 - components/ui/layout/connect-button.tsx | 120 ++++ components/ui/layout/custom-toaster.tsx | 27 + components/ui/layout/header.tsx | 81 +++ components/ui/layout/light-dark-button.tsx | 19 + components/ui/layout/page-header.tsx | 21 + components/ui/misc/copy-text.tsx | 19 + components/ui/my-multisigs.tsx | 214 +++++++ components/ui/pill.tsx | 33 ++ components/ui/popover.tsx | 31 - components/ui/{ => primitives}/button.tsx | 0 components/ui/{ => primitives}/card.tsx | 0 components/ui/{ => primitives}/command.tsx | 54 +- components/ui/{ => primitives}/dialog.tsx | 0 components/ui/primitives/input.tsx | 25 + components/ui/primitives/loading.tsx | 83 +++ components/ui/{ => primitives}/pagination.tsx | 2 +- components/ui/primitives/popover.tsx | 31 + components/ui/{ => primitives}/select.tsx | 0 components/ui/primitives/skeleton.tsx | 15 + components/ui/{ => primitives}/sonner.tsx | 0 components/ui/{ => primitives}/table.tsx | 0 components/ui/primitives/tooltip.tsx | 27 + components/ui/settings/RPCConfig.tsx | 94 +++ components/ui/table/pagination.tsx | 40 ++ components/ui/table/table-head.tsx | 32 ++ components/ui/table/transaction-table-row.tsx | 164 ++++++ components/ui/table/transactions-table.tsx | 56 ++ components/ui/wallet-modal.tsx | 166 ++++++ lib/consts.ts | 1 + lib/helpers/createExplorerUrl.ts | 7 + lib/helpers/createMultisig.ts | 47 ++ lib/helpers/getCachedMultisigs.ts | 64 +++ lib/helpers/getMultisigs.ts | 102 ++++ lib/helpers/getRecentTransactions.ts | 51 ++ lib/helpers/getTotalBalances.ts | 47 ++ lib/helpers/sleep.ts | 3 + lib/helpers/tokenAddresses.ts | 100 ++++ lib/nFormatter.ts | 22 + lib/types.ts | 33 ++ package.json | 7 +- .../SolanaProvider.tsx | 17 +- public/default_image.svg | 28 + public/fonts/NeueMontreal-Bold.otf | Bin 0 -> 42916 bytes public/fonts/NeueMontreal-BoldItalic.otf | Bin 0 -> 51532 bytes public/fonts/NeueMontreal-Italic.otf | Bin 0 -> 49624 bytes public/fonts/NeueMontreal-Light.otf | Bin 0 -> 40516 bytes public/fonts/NeueMontreal-LightItalic.otf | Bin 0 -> 49192 bytes public/fonts/NeueMontreal-Medium.otf | Bin 0 -> 41940 bytes public/fonts/NeueMontreal-MediumItalic.otf | Bin 0 -> 53652 bytes public/fonts/NeueMontreal-Regular.otf | Bin 0 -> 40516 bytes public/logo.svg | 9 + public/solana-logo.png | Bin 0 -> 28416 bytes public/squads-light.png | Bin 0 -> 56920 bytes public/squads-logo.png | Bin 0 -> 56920 bytes public/tokens/CLOUD.webp | Bin 0 -> 8650 bytes public/tokens/INF.webp | Bin 0 -> 11336 bytes public/tokens/JLP.webp | Bin 0 -> 16118 bytes public/tokens/JUP.webp | Bin 0 -> 15558 bytes public/tokens/SOL.webp | Bin 0 -> 2538 bytes public/tokens/USDC.webp | Bin 0 -> 16368 bytes public/tokens/USDT.webp | Bin 0 -> 8086 bytes public/tokens/bSOL.webp | Bin 0 -> 9060 bytes public/tokens/bonkSOL.webp | Bin 0 -> 15364 bytes public/tokens/hSOL.webp | Bin 0 -> 6874 bytes public/tokens/jitoSOL.webp | Bin 0 -> 24700 bytes public/tokens/mSOL.webp | Bin 0 -> 8962 bytes tailwind.config.ts | 26 +- yarn.lock | 540 +++++++++++------- 93 files changed, 2538 insertions(+), 798 deletions(-) create mode 100644 components/ui/chip.tsx delete mode 100644 components/ui/input.tsx create mode 100644 components/ui/layout/connect-button.tsx create mode 100644 components/ui/layout/custom-toaster.tsx create mode 100644 components/ui/layout/header.tsx create mode 100644 components/ui/layout/light-dark-button.tsx create mode 100644 components/ui/layout/page-header.tsx create mode 100644 components/ui/misc/copy-text.tsx create mode 100644 components/ui/my-multisigs.tsx create mode 100644 components/ui/pill.tsx delete mode 100644 components/ui/popover.tsx rename components/ui/{ => primitives}/button.tsx (100%) rename components/ui/{ => primitives}/card.tsx (100%) rename components/ui/{ => primitives}/command.tsx (84%) rename components/ui/{ => primitives}/dialog.tsx (100%) create mode 100644 components/ui/primitives/input.tsx create mode 100644 components/ui/primitives/loading.tsx rename components/ui/{ => primitives}/pagination.tsx (97%) create mode 100644 components/ui/primitives/popover.tsx rename components/ui/{ => primitives}/select.tsx (100%) create mode 100644 components/ui/primitives/skeleton.tsx rename components/ui/{ => primitives}/sonner.tsx (100%) rename components/ui/{ => primitives}/table.tsx (100%) create mode 100644 components/ui/primitives/tooltip.tsx create mode 100644 components/ui/settings/RPCConfig.tsx create mode 100644 components/ui/table/pagination.tsx create mode 100644 components/ui/table/table-head.tsx create mode 100644 components/ui/table/transaction-table-row.tsx create mode 100644 components/ui/table/transactions-table.tsx create mode 100644 components/ui/wallet-modal.tsx create mode 100644 lib/consts.ts create mode 100644 lib/helpers/createExplorerUrl.ts create mode 100644 lib/helpers/createMultisig.ts create mode 100644 lib/helpers/getCachedMultisigs.ts create mode 100644 lib/helpers/getMultisigs.ts create mode 100644 lib/helpers/getRecentTransactions.ts create mode 100644 lib/helpers/getTotalBalances.ts create mode 100644 lib/helpers/sleep.ts create mode 100644 lib/helpers/tokenAddresses.ts create mode 100644 lib/nFormatter.ts create mode 100644 lib/types.ts rename components/Wallet.tsx => providers/SolanaProvider.tsx (69%) create mode 100644 public/default_image.svg create mode 100644 public/fonts/NeueMontreal-Bold.otf create mode 100644 public/fonts/NeueMontreal-BoldItalic.otf create mode 100644 public/fonts/NeueMontreal-Italic.otf create mode 100644 public/fonts/NeueMontreal-Light.otf create mode 100644 public/fonts/NeueMontreal-LightItalic.otf create mode 100644 public/fonts/NeueMontreal-Medium.otf create mode 100644 public/fonts/NeueMontreal-MediumItalic.otf create mode 100644 public/fonts/NeueMontreal-Regular.otf create mode 100644 public/logo.svg create mode 100644 public/solana-logo.png create mode 100644 public/squads-light.png create mode 100644 public/squads-logo.png create mode 100644 public/tokens/CLOUD.webp create mode 100644 public/tokens/INF.webp create mode 100644 public/tokens/JLP.webp create mode 100644 public/tokens/JUP.webp create mode 100644 public/tokens/SOL.webp create mode 100644 public/tokens/USDC.webp create mode 100644 public/tokens/USDT.webp create mode 100644 public/tokens/bSOL.webp create mode 100644 public/tokens/bonkSOL.webp create mode 100644 public/tokens/hSOL.webp create mode 100644 public/tokens/jitoSOL.webp create mode 100644 public/tokens/mSOL.webp diff --git a/app/(app)/config/page.tsx b/app/(app)/config/page.tsx index 8a5b1f8..ab9defc 100644 --- a/app/(app)/config/page.tsx +++ b/app/(app)/config/page.tsx @@ -2,13 +2,16 @@ import AddMemberInput from "@/components/AddMemberInput"; import ChangeThresholdInput from "@/components/ChangeThresholdInput"; import ChangeUpgradeAuthorityInput from "@/components/ChangeUpgradeAuthorityInput"; import RemoveMemberButton from "@/components/RemoveMemberButton"; +import Chip from "@/components/ui/chip"; +import PageHeader from "@/components/ui/layout/page-header"; +import CopyTextButton from "@/components/ui/misc/copy-text"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, -} from "@/components/ui/card"; +} from "@/components/ui/primitives/card"; import { Connection, PublicKey, clusterApiUrl } from "@solana/web3.js"; import * as multisig from "@sqds/multisig"; import { cookies, headers } from "next/headers"; @@ -29,27 +32,40 @@ const ConfigurationPage = async () => { multisigPda ); return ( -
- Public Key: {member.key.toBase58()} -
-- Permission Mask: - {member.permissions.mask.toString()} +
+ {member.key.toString().slice(0, 4) + + "..." + + member.key.toString().slice(-4)} +
+
+ Permissions:{" "}
+ {member.permissions.mask == 1 ? (
+