From c0d8ce37a8e513c7dcccdb0605757ca4a8f793c0 Mon Sep 17 00:00:00 2001
From: Joseph Chalabi <100090645+chalabi2@users.noreply.github.com>
Date: Tue, 14 Jan 2025 07:07:42 -0700
Subject: [PATCH 1/6] chore: only render admin selector in all navs if part of
admin group (#210)
---
components/react/mobileNav.tsx | 19 +++++++++++++++++--
components/react/sideNav.tsx | 19 +++++++++++++++++--
2 files changed, 34 insertions(+), 4 deletions(-)
diff --git a/components/react/mobileNav.tsx b/components/react/mobileNav.tsx
index 52eaa7de..92737465 100644
--- a/components/react/mobileNav.tsx
+++ b/components/react/mobileNav.tsx
@@ -15,10 +15,25 @@ import {
import { WalletSection } from '../wallet';
import { RiMenuUnfoldFill } from 'react-icons/ri';
import { useState } from 'react';
-import { MdOutlineNetworkPing, MdContacts } from 'react-icons/md';
+import { MdContacts } from 'react-icons/md';
import env from '@/config/env';
+import { useChain } from '@cosmos-kit/react';
+import { usePoaGetAdmin } from '@/hooks';
+import { useGroupsByAdmin } from '@/hooks';
export default function MobileNav() {
+ const { address } = useChain(env.chain);
+
+ const { poaAdmin } = usePoaGetAdmin();
+
+ const { groupByAdmin } = useGroupsByAdmin(
+ poaAdmin ?? 'manifest1afk9zr2hn2jsac63h4hm60vl9z3e5u69gndzf7c99cqge3vzwjzsfmy9qj'
+ );
+
+ const group = groupByAdmin?.groups?.[0];
+
+ const isMember = group?.members?.some(member => member?.member?.address === address);
+
const closeDrawer = () => {
const drawer = document.getElementById('my-drawer') as HTMLInputElement;
if (drawer) drawer.checked = false;
@@ -88,7 +103,7 @@ export default function MobileNav() {
-
+ {isMember && }
diff --git a/components/react/sideNav.tsx b/components/react/sideNav.tsx
index 0900bd57..4b21a7c3 100644
--- a/components/react/sideNav.tsx
+++ b/components/react/sideNav.tsx
@@ -19,6 +19,9 @@ import {
import { MdContacts } from 'react-icons/md';
import { getRealLogo } from '@/utils';
import env from '@/config/env';
+import { useGroupsByAdmin } from '@/hooks';
+import { usePoaGetAdmin } from '@/hooks';
+import { useChain } from '@cosmos-kit/react';
interface SideNavProps {
isDrawerVisible: boolean;
@@ -28,6 +31,17 @@ interface SideNavProps {
export default function SideNav({ isDrawerVisible, setDrawerVisible }: SideNavProps) {
const { toggleTheme, theme } = useTheme();
const [isContactsOpen, setContactsOpen] = useState(false);
+ const { address } = useChain(env.chain);
+
+ const { poaAdmin } = usePoaGetAdmin();
+
+ const { groupByAdmin } = useGroupsByAdmin(
+ poaAdmin ?? 'manifest1afk9zr2hn2jsac63h4hm60vl9z3e5u69gndzf7c99cqge3vzwjzsfmy9qj'
+ );
+
+ const group = groupByAdmin?.groups?.[0];
+
+ const isMember = group?.members?.some(member => member?.member?.address === address);
const toggleDrawer = () => setDrawerVisible(!isDrawerVisible);
const version = packageInfo.version;
@@ -72,7 +86,8 @@ export default function SideNav({ isDrawerVisible, setDrawerVisible }: SideNavPr
@@ -144,7 +159,7 @@ export default function SideNav({ isDrawerVisible, setDrawerVisible }: SideNavPr
From 8ea1e541b7ddd41dbf95b1d08e202a93e930fb52 Mon Sep 17 00:00:00 2001
From: Joseph Chalabi <100090645+chalabi2@users.noreply.github.com>
Date: Tue, 14 Jan 2025 07:31:40 -0700
Subject: [PATCH 2/6] fix: improve factory token modals (#209)
---------
Co-authored-by: Felix C. Morency <1102868+fmorency@users.noreply.github.com>
---
bun.lockb | Bin 544188 -> 543092 bytes
components/factory/components/DenomList.tsx | 164 ++++++++----------
components/factory/forms/BurnForm.tsx | 47 ++---
components/factory/forms/MintForm.tsx | 27 +--
.../factory/forms/__tests__/BurnForm.test.tsx | 5 -
.../factory/forms/__tests__/MintForm.test.tsx | 5 -
components/factory/modals/BurnModal.tsx | 5 +-
components/factory/modals/MintModal.tsx | 15 +-
components/factory/modals/TransferModal.tsx | 31 ++--
components/factory/modals/denomInfo.tsx | 53 ++++--
.../factory/modals/updateDenomMetadata.tsx | 38 ++--
11 files changed, 171 insertions(+), 219 deletions(-)
diff --git a/bun.lockb b/bun.lockb
index db2f05581bc4f24407d24fa4e73e971f64254333..47364eb1138a7c4a65e35f47a361dd4aebc3ef16 100755
GIT binary patch
delta 100971
zcmeF4X?Rq{`t5r+G-M;lBmyELAOb21D0Bu$8)n6Ud63Bf0Rn+QLX<=?i5?UO6x?Fr
zEGmlUI2`n#1VxRA;4CT%IHICBi;5Byy}z}q8gqR3pL_0e?}z(=mSojhHNExLTeWNN
z-pG@;wEpS(){9T>`1$zur{rGo*1TGewKeM=PW0bY{LI30-g~}ftnIr;y>s$iJwF|g
z649sbl98=S$L_Bgl1OA0*ent$D=wNHD%X(V!{_GD&M(X_n0uMy7l8GoPb
iujT7WWVW=_G>oUV~bQhx@Y
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