From 6a575f1aaf0282c4c30b6a17ff1fb7f3a8b597f5 Mon Sep 17 00:00:00 2001 From: Jennie Alles Date: Mon, 5 Feb 2024 15:32:54 +0700 Subject: [PATCH 01/14] feat(components): change default theme --- public/font/PPNeueMontreal-Regular.woff | Bin 0 -> 58268 bytes public/font/PPNeueMontreal-Regular.woff2 | Bin 0 -> 47564 bytes public/font/PPNeueMontrealMono-Regular.woff | Bin 0 -> 96664 bytes public/font/PPNeueMontrealMono-Regular.woff2 | Bin 0 -> 68544 bytes public/font/main.css | 25 +++ public/font/pilatwide.css | 8 - src/config/theme/default.ts | 144 ++++++++++-------- src/config/theme/initia.ts | 2 +- src/config/theme/sei.ts | 6 +- src/config/theme/types.ts | 52 ++++--- src/lib/components/CopyLink.tsx | 1 + src/lib/components/ExplorerLink.tsx | 1 + .../components/BlocksTableMobileCard.tsx | 6 +- .../blocks/components/BlocksTableRow.tsx | 6 +- src/lib/pages/blocks/index.tsx | 2 +- .../pages/home/components/TopDecorations.tsx | 2 + src/lib/styles/theme/components/button.ts | 7 +- src/pages/_document.tsx | 3 + 18 files changed, 166 insertions(+), 99 deletions(-) create mode 100644 public/font/PPNeueMontreal-Regular.woff create mode 100644 public/font/PPNeueMontreal-Regular.woff2 create mode 100644 public/font/PPNeueMontrealMono-Regular.woff create mode 100644 public/font/PPNeueMontrealMono-Regular.woff2 create mode 100644 public/font/main.css delete mode 100644 public/font/pilatwide.css diff --git a/public/font/PPNeueMontreal-Regular.woff b/public/font/PPNeueMontreal-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..a0548d4b3d6721c6afbb6b8cac41d99b1e8422bd GIT binary patch literal 58268 zcmZs>V|XP^v^JbUFwu@}I}i@|%Q6XUwFtBg!U-{Fo zSWVE8FIrSiR`E+wF&LNtHy9WQAu`XqNmNl;01QlM9}En93JeVPR{FMI*xMH;5DX0G1}ufqXHwa&-N|et+5g1;He5!J4UC+8BQEhW^8% zzhqK!6Zz0e-_;fjY`pu6MDU;dv<1{#>suLpVcTCm+4$l)b_ih&*xEQaf`LtTgMmSR z`2s`1u-6mJ*52r=?(X_mz5nc9{5g<}>ij>pto-*K2)=~mJ2V2A^Z(egLh|L;FaJYM zL(~y+yMDtR{$Yushw^i~%?D~w4>rgY)_6^)yrj_zTi*&>-m1+GbBUpJr#9&Fn}3h~ z8$f5)8`Z-JS=3G|QwgcaP9<~5>ls1zz`-**OP?NhhiW5+jwyy7MxNGUhWeF(MwEdX zy@p1$hK#M6)a43YNh?0d6*sWSRq|DPGY;_dhj$nGIlbzDt1~IIHjs5T zQ)V_pXEw>3@$WarU_!?98OF?O#t?DFfD*Vb4C!=TT;oCI4_WUc+5&*V6NZdV}3-Fnjrk`x=1-vUvp@* zT5}0=@nA)(ISr1m-eQgACE6KWm6EUYA& z5Sx>nT6_aVk;7W*X-`o=S8A}YAcCQ6cSBJmsYE(lTwK zP4-_%9cOLeAn|VBMgI`X~hIefs4DBl2S`Pz;6YB#4>a zTX~uR&3jvI#pF+}`wCK|ggiARpkK)cfc~l<;|6YTgx!{I>7M?~$v-3}v@vZS?g+iq zviPqSj9wt{BF@eLt&G!m{0=z0J9N5Rm+@*<2^|0eF0 z`X_5?X=JYH-fFZ&kCBUM%Yah7b~a>Y#FYabc) zKRhDL77&Zy)ABk@w-98K_{JU5qZ~R{pY@K;(&=3~=Q++mh7G(n-Vpf96p*9h_L1BL z37lGNXWB0jOKaGt74_`vnl>QNxf$;u*H~Ns>v-E}+t6D?)}`u8-+Kw#?fb;XBtyhG zz6XIKuE*GJlB;*Sji;w)PMD>q*IO&ag&0UIJ*Hf?QdYU>K?*n1o%CME9oV{XE%m}O z1bG5r7w#AR{PnUb%5n z%F}?pQC|h09|XUcbGIPRnemNN@rY3d{gjjJOk_i-!+ODr**vToZ;FEZXG0}~Td*74IvMgg#| zIt5lXIVH#&l*N%=e4#iN`aQOE&8ls)OjWt@1(WfUqr+;eQn*b*@&Qv?5}e6suF#E3 zb&N5+D&JH1GFhghPinnWJ`WVN>|#FHiLE)Xjy19Bl-l!I8a|MR9+m4BVLWb8gGQU| z>svU2|cuoPDu0NTLJz4Z{ZhTnbX#ExM?0i{^KPUO1=|14C z`FiehU;mD`&bKJ@io9XrQ+foNx(|LQrSdMY@}^-hXpyFA3L)Lig+rDMRh#YKZBd)e z){Q}=EBeJPaW!}yy1NjyM4-da&fV_oDtsNf<0M_)A~Nsi9;ed^y~e_D$hjDHe?mGp zwGPHQ>=NxF2Ac;v1&!RpB;LsAu9-ZCJ?{3@zmhaF_pwe};=hBYX5tl&u+TJ1+F%?y z|B@#n65%+m3T#HiG_v+}-- zjWiXNWLp$GD7tEN?zpJNb_^PiWqVzrm-r)Ct0_|LlTtqlG)pp@r3@iUXFr zWjLobIhjJye(&7(m}Z+)EY&(J__{q`QbIs>cfd|lUuK*w);wDvS2NA`c0yb`q0GbB{ZKAHcN$x=9 zaBbM3&Ak{`$SQGNSRUuDrmfpL0o75_AEcec6aHu}rNJ!877@dWDJr@k0g1aM?BZm| zv&;aecox16?tzq&DYYaOGtwV_WAUzE`wshHhnu}Ae2d!L#qYUA(#1zu$)}Lgwfzb> z{G536apMd7ynV8qJL}J6s0d$MJ~AM`_-!X@g}lKQX6>0acs%@b1HCb;m$xEQX}XBP zomn*M(1@~i_Bb@#f}s`KG}W(Agn2?lk(S&DtM#-1`>ZF@3{ConX=-Gl2J=E*NqFIz z>1ZBhP$B=F&~%)jEDDd?-Om|hAz36I^*iA4R*h+?=oe^ow?8u%mC5aHa4eof?w3fU zVQ)&AL;4R5Kxo&&LZ&wX56FTj@GBdQQts{5-aIb{EijAS@~1*5;EFNvYY<&Y0&dao%C%+< z?J;kMU&SuEXWVJe~a^w*xKTYv9f1(Jc${MaUsw~#`n|@_Mz?UzZ4VK zxlIn@PU;B1iUVrD-~lLtu|am-o#xIZqg?yl57U1cQCr({=+3(5)Nvv?VwDT>8+%Ot zxyrl+d*Dc5&6mvX!imdF3KuRT+KjdKBT?>|45xOQ!MAv@ZC~z)LDV1nF!m?)FQpJq zrT6%RSfB*k4e4pIrtnHea?{SD43`$to8{Q~a2?I$NKa|)3|mhp(M22TX;{qSD*PkA zjC(?d{dZ}>6n z3tYh7gH=t5+1Mv-J9<6Vnh2kP%PT8CE|pgCJQp3WK3p*qpHb7)Ng<$hF0t<$5AZTR z4q2nJh_`c-Nct|l8Vf<$N>(W>x>~>ru{$;%Z9K@9Dw%mdimq-HRPMIdc+EVjGnSL` zEw$F!bc|{yb~3h~;WjmTWUGhgcArKwo(!WbvVlq$`zBBi`2iDEnjnlKMfz zD5;qsD5K5bUVHD))Uh_aukP?kWui)U1+Xfd+d1^(&;FVRFY)=oEso29(bVL=;AM2R z%8KSUE+xTC0t3JBkQL*#C#SrOrY8opG7{4)9`xuPR8+=TuLp7gPx|0x_ZB8Q89&UNxkvtwWi6?s(8Nb1<|o&_*i)S$ip({G zva{W9545xuxMxFTazkz9V4RcbL|)@RAqG#b4k*05288>6V;v_WYl6+^i(Z#ZU+&IZ z`L3-a*pTns{WR40f<0i%v*JTLO)`URPa-zArsGqoa_w?vgr^LXB9n#=7;c(vjH_$e z&el)^SJm7+$7?oz$VdUnnj7(0k>ybyJ-ruAs6X~%U(8QKKEQ{Pn1%gYQlW!pm2n=1 z_x$g}i3EbZ?ELUJob4tkDP%W|y-9M#l5+3O=kvpKL;wY*Ei&9{$nQxmR5-B0>u{OH zw7b88k!8s6U0M~BMj9x4p8vv4rNWqLXVZ1aMx{Q9#TL2Jojy;;`5Vf3TC_h*J~AjS z=6!TZhO@6Nj>RTy!bNDInyCL_bk^14^7+7F?eed>+GQN5PSA1l(GM2nw+qJ+lAkxOk?Ld@#X7)Ys!q-c0rdS^OTidiL14{Dc+ z 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

|nt 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 a$JL3<{-K>cXn@;KRxQZX``_*j!2bakv^4Pm literal 0 HcmV?d00001 diff --git a/public/font/PPNeueMontreal-Regular.woff2 b/public/font/PPNeueMontreal-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..30f88559134d036a3cdc1ff9e720cefedfb70477 GIT binary patch literal 47564 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 EHg9NzuK)l5 literal 0 HcmV?d00001 diff --git a/public/font/PPNeueMontrealMono-Regular.woff b/public/font/PPNeueMontrealMono-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..22c9271d368617408452b5ee9e26d66ca8fe28e2 GIT binary patch literal 96664 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 G@IL?mgpsTO literal 0 HcmV?d00001 diff --git a/public/font/PPNeueMontrealMono-Regular.woff2 b/public/font/PPNeueMontrealMono-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..3b06bc5f4ebd3eeeb24e834f98a32ee74f1023eb GIT binary patch literal 68544 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 literal 0 HcmV?d00001 diff --git a/public/font/main.css b/public/font/main.css new file mode 100644 index 000000000..95eea8995 --- /dev/null +++ b/public/font/main.css @@ -0,0 +1,25 @@ + /* Celatone */ +@font-face { + font-family: "PP Neue Montreal Regular"; + src: url("./PPNeueMontreal-Regular.woff"); + src: url("./PPNeueMontreal-Regular.woff2"); + font-weight: 600; + font-style: normal; +} + +@font-face { + font-family: "PP Neue Montreal Mono Regular"; + src: url("./PPNeueMontrealMono-Regular.woff"); + src: url("./PPNeueMontrealMono-Regular.woff2"); + font-weight: 600; + font-style: normal; +} + +/* Initia */ +@font-face { + font-family: "Pilat Wide"; + src: url("./PilatWide-Bold.woff"); + src: url("./PilatWide-Bold.woff2"); + font-weight: 600; + font-style: normal; +} diff --git a/public/font/pilatwide.css b/public/font/pilatwide.css deleted file mode 100644 index 6b3319ca5..000000000 --- a/public/font/pilatwide.css +++ /dev/null @@ -1,8 +0,0 @@ -/* TODO: add another font face later */ -@font-face { - font-family: "Pilat Wide"; - src: url("./PilatWide-Bold.woff"); - src: url("./PilatWide-Bold.woff2"); - font-weight: 600; - font-style: normal; -} diff --git a/src/config/theme/default.ts b/src/config/theme/default.ts index d951fae74..cb2234add 100644 --- a/src/config/theme/default.ts +++ b/src/config/theme/default.ts @@ -2,13 +2,13 @@ import type { ThemeConfig } from "./types"; export const DEFAULT_THEME: ThemeConfig = { branding: { - logo: "https://assets.alleslabs.dev/branding/logo/logo.svg", - favicon: "https://assets.alleslabs.dev/branding/favicon.ico", + logo: "https://assets.alleslabs.dev/celatone-brand/logo/full-white.svg", + favicon: "https://assets.alleslabs.dev/celatone-brand/favicon.ico", seo: { appName: "Celatone", title: "Celatone Explorer for Cosmos chain", description: "A smart contract powered explorer for the Cosmos.", - image: "https://assets.alleslabs.dev/branding/celatone-cover.jpg", + image: "https://assets.alleslabs.dev/celatone-brand/socials/ogimage.jpg", twitter: { handle: "@celatone_", cardType: "summary_large_image", @@ -24,69 +24,88 @@ export const DEFAULT_THEME: ThemeConfig = { url: "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300..700&display=swap", name: "Space Grotesk, sans-serif", }, + link: { + url: "/font/main.css", + name: "PP Neue Montreal Regular, serif", + }, }, colors: { - gradient: { - main: "linear(to-tr, #5942F3, #9793F3)", + primary: { + lighter: "#E0F1FB", + light: "#C2EAFF", + main: "#89D1F6", + dark: "#5ABAEC", + darker: "#2B8BBD", + background: "#335068", + }, + secondary: { + light: "#C2EAFF", + main: "#89D1F6", + dark: "#5ABAEC", + darker: "#2B8BBD", + background: "#335068", + }, + accent: { + lighter: "#E0F1FB", + light: "#C2EAFF", + main: "#89D1F6", + dark: "#5ABAEC", + darker: "#2B8BBD", + background: "#335068", + }, + gray: { + 100: "#F8FAFC", + 400: "#B7C1CD", + 500: "#8A99AE", + 600: "#707E94", + 700: "#334155", + 800: "#1E2535", + 900: "#0A101E", + }, + text: { + main: "#F8FAFC", + dark: "#CBD5E1", + disabled: "#94A3B8", + }, + background: { + main: "#020617", + overlay: "rgba(2, 6, 23, 0.7)", + }, + success: { + light: "#D6FFD4", + main: "#9FF59A", + dark: "#497252", + background: "#213631", }, error: { - main: "#FF666E", light: "#FF8086", + main: "#FF666E", dark: "#B43E44", background: "#4C1A1D", }, warning: { - main: "#FFBB33", light: "#FFCC66", + main: "#FFBB33", dark: "#CC8800", background: "#523600", }, - success: { - main: "#42BEA6", - light: "#67CBB7", - dark: "#207966", - background: "#102E28", - }, - background: { - main: "#111117", - overlay: "rgba(17, 17, 23, 0.7)", - }, - text: { - main: "#F7F2FE", - dark: "#ADADC2", - disabled: "#8A8AA5", - }, + }, + button: { primary: { - main: "#5942F3", - light: "#9793F3", - lighter: "#DCDBFB", - dark: "#3E38B0", - darker: "#292676", - background: "#181733", - }, - secondary: { - main: "#D8BEFC", - light: "#E8D8FD", - dark: "#A28FBD", - darker: "#6C5F7E", - background: "#36303F", - }, - accent: { - main: "#C6E141", - light: "#DDED8D", - lighter: "#E8F3B3", - dark: "#95A931", - darker: "#637121", - background: "#3D470B", - }, - gray: { - 100: "#F7F2FE", - 400: "#ADADC2", - 500: "#8A8AA5", - 600: "#68688A", - 700: "#343445", - 800: "#272734", - 900: "#1A1A22", + background: "#89D1F6", + color: "#272D3C", + disabledBackground: "#335068", + disabledColor: "#0A101E", + hoverBackground: "#5ABAEC", + activeBackground: "#2B8BBD", + }, + outlinePrimary: { + borderColor: "#89D1F6", + color: "#89D1F6", + disabledBorderColor: "#335068", + disabledColor: "#2B8BBD", + hoverBackground: "#335068", + activeBackground: "#335068", }, }, tag: { @@ -95,7 +114,7 @@ export const DEFAULT_THEME: ThemeConfig = { color: "inherit", }, related: { - bg: "primary.dark", + bg: "gray.700", color: "text.main", }, }, @@ -112,15 +131,20 @@ export const DEFAULT_THEME: ThemeConfig = { }, jsonTheme: "monokai", illustration: { - "404": "https://assets.alleslabs.dev/illustration/404.svg", - error: "https://assets.alleslabs.dev/illustration/error.svg", + "404": + "https://assets.alleslabs.dev/celatone-brand/illustration/states/404.svg", + error: + "https://assets.alleslabs.dev/celatone-brand/illustration/states/error.svg", searchNotFound: - "https://assets.alleslabs.dev/illustration/search-not-found.svg", - searchEmpty: "https://assets.alleslabs.dev/illustration/search-empty.svg", - disconnected: "https://assets.alleslabs.dev/illustration/disconnected.svg", + "https://assets.alleslabs.dev/celatone-brand/illustration/states/search-not-found.svg", + searchEmpty: + "https://assets.alleslabs.dev/celatone-brand/illustration/states/search-empty.svg", + disconnected: + "https://assets.alleslabs.dev/celatone-brand/illustration/states/disconnected.svg", overview: { - main: "https://assets.alleslabs.dev/illustration/bg-left.svg", - secondary: "https://assets.alleslabs.dev/illustration/bg-right.svg", + main: "https://assets.alleslabs.dev/celatone-brand/illustration/left.svg", + secondary: + "https://assets.alleslabs.dev/celatone-brand/illustration/right.svg", }, }, socialMedia: { diff --git a/src/config/theme/initia.ts b/src/config/theme/initia.ts index c22c01420..58d877669 100644 --- a/src/config/theme/initia.ts +++ b/src/config/theme/initia.ts @@ -18,7 +18,7 @@ export const INITIA_THEME: ThemeConfig = { }, fonts: { heading: { - url: "/font/pilatwide.css", + url: "/font/main.css", name: "Pilat Wide, serif", }, body: { diff --git a/src/config/theme/sei.ts b/src/config/theme/sei.ts index 1a6ee2453..b673ac205 100644 --- a/src/config/theme/sei.ts +++ b/src/config/theme/sei.ts @@ -106,14 +106,16 @@ export const SEI_THEME: ThemeConfig = { color: "#0C1C23", disabledBackground: "#787971", disabledColor: "#0C1C23", - hoverBackground: "FAF6EF", - activeBackground: "FAF6EF", + hoverBackground: "#C0B8A9", + activeBackground: "#FAF6EF", }, outlinePrimary: { borderColor: "#787971", color: "#F0E3CF", disabledBorderColor: "#1D343F", disabledColor: "#40566A", + hoverBackground: "#C0B8A9", + activeBackground: "#FAF6EF", }, }, borderRadius: { diff --git a/src/config/theme/types.ts b/src/config/theme/types.ts index d2f723611..de2b41e85 100644 --- a/src/config/theme/types.ts +++ b/src/config/theme/types.ts @@ -22,70 +22,74 @@ export type ThemeConfig = { url: string; name: string; }; + link?: { + url: string; + name: string; + }; }; colors: { gradient?: { main: string; }; - error: { + primary: { main: string; light: string; + lighter: string; dark: string; + darker: string; background: string; }; - warning: { + secondary: { main: string; light: string; dark: string; + darker: string; background: string; }; - success: { + accent: { main: string; light: string; + lighter: string; dark: string; + darker: string; background: string; }; - background: { - main: string; - overlay: string; + gray: { + 100: string; + 400: string; + 500: string; + 600: string; + 700: string; + 800: string; + 900: string; }; text: { main: string; dark: string; disabled: string; }; - primary: { + background: { + main: string; + overlay: string; + }; + success: { main: string; light: string; - lighter: string; dark: string; - darker: string; background: string; }; - secondary: { + error: { main: string; light: string; dark: string; - darker: string; background: string; }; - accent: { + warning: { main: string; light: string; - lighter: string; dark: string; - darker: string; background: string; }; - gray: { - 100: string; - 400: string; - 500: string; - 600: string; - 700: string; - 800: string; - 900: string; - }; }; tag: { signer: { @@ -111,6 +115,8 @@ export type ThemeConfig = { color: string; disabledBorderColor: string; disabledColor: string; + hoverBackground: string; + activeBackground: string; }; }; borderRadius: { diff --git a/src/lib/components/CopyLink.tsx b/src/lib/components/CopyLink.tsx index 4f180b601..ab5e013d3 100644 --- a/src/lib/components/CopyLink.tsx +++ b/src/lib/components/CopyLink.tsx @@ -77,6 +77,7 @@ export const CopyLink = ({ color="secondary.main" transition="all 0.25s ease-in-out" display="inline" + fontFamily="PP Neue Montreal Mono Regular" > {value === address ? `${textValue} (Me)` : textValue} diff --git a/src/lib/components/ExplorerLink.tsx b/src/lib/components/ExplorerLink.tsx index b7cd6e517..6478322bd 100644 --- a/src/lib/components/ExplorerLink.tsx +++ b/src/lib/components/ExplorerLink.tsx @@ -129,6 +129,7 @@ const LinkRender = ({ const textElement = ( - + {truncate(blockData.hash.toUpperCase())} diff --git a/src/lib/pages/blocks/components/BlocksTableRow.tsx b/src/lib/pages/blocks/components/BlocksTableRow.tsx index 9c9bcbf76..82fe9012f 100644 --- a/src/lib/pages/blocks/components/BlocksTableRow.tsx +++ b/src/lib/pages/blocks/components/BlocksTableRow.tsx @@ -42,7 +42,11 @@ export const BlocksTableRow = ({ {blockData.height} - {truncate(blockData.hash.toUpperCase())} + + + {truncate(blockData.hash.toUpperCase())} + + { return ( - + Blocks diff --git a/src/lib/pages/home/components/TopDecorations.tsx b/src/lib/pages/home/components/TopDecorations.tsx index e8448afd5..8cbfa5905 100644 --- a/src/lib/pages/home/components/TopDecorations.tsx +++ b/src/lib/pages/home/components/TopDecorations.tsx @@ -10,6 +10,7 @@ export const TopDecorations = () => w="700px" h="700px" position="absolute" + opacity={0.3} src={CURR_THEME.illustration.overview.main} transform="translateX(-50%) translateY(-47%)" zIndex={0} @@ -19,6 +20,7 @@ export const TopDecorations = () => h="480px" position="absolute" src={CURR_THEME.illustration.overview?.secondary} + opacity={0.3} right={0} bottom={0} transform="translateX(40%) translateY(55%)" diff --git a/src/lib/styles/theme/components/button.ts b/src/lib/styles/theme/components/button.ts index 65916ff12..a62695e8e 100644 --- a/src/lib/styles/theme/components/button.ts +++ b/src/lib/styles/theme/components/button.ts @@ -142,6 +142,9 @@ export const Button: ComponentStyleConfig = { "> div": { color: CURR_THEME.button.outlinePrimary.color, }, + "& span": { + color: CURR_THEME.button.outlinePrimary.color, + }, "> svg": { color: CURR_THEME.button.outlinePrimary.color, }, @@ -154,8 +157,8 @@ export const Button: ComponentStyleConfig = { color: CURR_THEME.button.outlinePrimary.disabledColor, }, }, - hoverBg: primaryDark, - activeBg: primaryLight, + hoverBg: CURR_THEME.button.outlinePrimary.hoverBackground, + activeBg: CURR_THEME.button.outlinePrimary.activeBackground, }) : generateStyle({ basic: { diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index ed59cb40c..afae51aac 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -18,6 +18,9 @@ class MyDocument extends Document { + {CURR_THEME.fonts.link && ( + + )} From 5dd6f6d03339c2c74772ea9e45096ca970ec2a21 Mon Sep 17 00:00:00 2001 From: Jennie Alles Date: Mon, 5 Feb 2024 15:39:44 +0700 Subject: [PATCH 02/14] fix(components): custom stepper color --- src/config/theme/default.ts | 6 ++++++ src/config/theme/types.ts | 4 ++++ src/lib/components/stepper/StepperItem.tsx | 16 ++++++++++++++-- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/config/theme/default.ts b/src/config/theme/default.ts index cb2234add..92394aefe 100644 --- a/src/config/theme/default.ts +++ b/src/config/theme/default.ts @@ -118,6 +118,12 @@ export const DEFAULT_THEME: ThemeConfig = { color: "text.main", }, }, + stepper: { + active: { + bg: "primary.darker", + color: "text.main", + }, + }, borderRadius: { default: "8px", iconButton: "36px", diff --git a/src/config/theme/types.ts b/src/config/theme/types.ts index de2b41e85..47170e087 100644 --- a/src/config/theme/types.ts +++ b/src/config/theme/types.ts @@ -101,6 +101,10 @@ export type ThemeConfig = { color: string; }; }; + stepper?: { + active?: { bg: string; color: string }; + disabled?: { bg: string; color: string }; + }; button?: { primary?: { background: string; diff --git a/src/lib/components/stepper/StepperItem.tsx b/src/lib/components/stepper/StepperItem.tsx index fde456232..7adbb0c2e 100644 --- a/src/lib/components/stepper/StepperItem.tsx +++ b/src/lib/components/stepper/StepperItem.tsx @@ -1,6 +1,7 @@ import { Flex, Text } from "@chakra-ui/react"; import { CustomIcon } from "../icon"; +import { CURR_THEME } from "env"; import type { Mode, Step } from "./types"; @@ -21,7 +22,11 @@ const StepLabel = ({ step ? ( ) : ( - + {step} )} From 91556624631e25deed622d2ff28e25363ece41b2 Mon Sep 17 00:00:00 2001 From: Jennie Alles Date: Wed, 21 Feb 2024 13:01:58 +0700 Subject: [PATCH 03/14] fix(components): add changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac2665867..dc97d8379 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -63,6 +63,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Improvements +- [#795](https://github.com/alleslabs/celatone-frontend/pull/795) Branding - [#784](https://github.com/alleslabs/celatone-frontend/pull/784) Make proposal list row clickable with command/ctrl - [#776](https://github.com/alleslabs/celatone-frontend/pull/776) Add expand/collapse all to proposal messages in detail page - [#781](https://github.com/alleslabs/celatone-frontend/pull/781) Tooltip default shouldWrap From 85ccbbc62153bace05c3af63ea06a87964235a3c Mon Sep 17 00:00:00 2001 From: Jennie Alles Date: Tue, 5 Mar 2024 17:35:37 +0700 Subject: [PATCH 04/14] fix(components): change pool icon --- src/lib/data/icon.ts | 6 +++--- src/lib/pages/pools/constant.ts | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/lib/data/icon.ts b/src/lib/data/icon.ts index 75d91f5ab..fdd254f97 100644 --- a/src/lib/data/icon.ts +++ b/src/lib/data/icon.ts @@ -1,5 +1,5 @@ export const UNDEFINED_ICON_LIST = [ - "https://assets.alleslabs.dev/webapp-assets/asset/undefined-violet.svg", - "https://assets.alleslabs.dev/webapp-assets/asset/undefined-white.svg", - "https://assets.alleslabs.dev/webapp-assets/asset/undefined-violet-light.svg", + "https://assets.alleslabs.dev/celatone-brand/webapp-assets/assets/undefined-1.svg", + "https://assets.alleslabs.dev/celatone-brand/webapp-assets/assets/undefined-2.svg", + "https://assets.alleslabs.dev/celatone-brand/webapp-assets/assets/undefined-3.svg", ]; diff --git a/src/lib/pages/pools/constant.ts b/src/lib/pages/pools/constant.ts index 91e2aba67..0c546c619 100644 --- a/src/lib/pages/pools/constant.ts +++ b/src/lib/pages/pools/constant.ts @@ -1,10 +1,10 @@ export const SUPERFLUID_ICON = - "https://assets.alleslabs.dev/webapp-assets/pool/pool-superfluid.svg"; + "https://assets.alleslabs.dev/celatone-brand/webapp-assets/pools/superfluid.svg"; export const BALANCER_ICON = - "https://assets.alleslabs.dev/webapp-assets/pool/pool-balancer.svg"; + "https://assets.alleslabs.dev/celatone-brand/webapp-assets/pools/balancer.svg"; export const STABLESWAP_ICON = - "https://assets.alleslabs.dev/webapp-assets/pool/pool-stableswap.svg"; + "https://assets.alleslabs.dev/celatone-brand/webapp-assets/pools/stableswap.svg"; export const COSMWASM_ICON = - "https://assets.alleslabs.dev/webapp-assets/pool/pool-cosmwasm.svg"; + "https://assets.alleslabs.dev/celatone-brand/webapp-assets/pools/cosmwasm.svg"; export const CLP_ICON = - "https://assets.alleslabs.dev/webapp-assets/pool/pool-clp.svg"; + "https://assets.alleslabs.dev/celatone-brand/webapp-assets/pools/clp.svg"; From ef39b18d2f8c2c434f44de597bb80c35652754bd Mon Sep 17 00:00:00 2001 From: Jennie Alles Date: Wed, 6 Mar 2024 16:04:59 +0700 Subject: [PATCH 05/14] fix(components): fix icon --- src/config/theme/default.ts | 2 +- src/lib/components/ValidatorBadge.tsx | 2 +- src/lib/components/table/transactions/TransactionsTable.tsx | 6 +++--- src/lib/icon/NAToken.tsx | 1 + 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/config/theme/default.ts b/src/config/theme/default.ts index 92394aefe..fae2e9b8a 100644 --- a/src/config/theme/default.ts +++ b/src/config/theme/default.ts @@ -135,7 +135,7 @@ export const DEFAULT_THEME: ThemeConfig = { indicator: "2px", stepper: "full", }, - jsonTheme: "monokai", + jsonTheme: "pastel_on_dark", illustration: { "404": "https://assets.alleslabs.dev/celatone-brand/illustration/states/404.svg", diff --git a/src/lib/components/ValidatorBadge.tsx b/src/lib/components/ValidatorBadge.tsx index e6b7d66e4..cf21e8240 100644 --- a/src/lib/components/ValidatorBadge.tsx +++ b/src/lib/components/ValidatorBadge.tsx @@ -57,7 +57,7 @@ export const ValidatorBadge = ({ src={valImgSrc} alt={validator.moniker} borderRadius="50%" - fallbackSrc="https://assets.alleslabs.dev/webapp-assets/placeholder/validator.svg" + fallbackSrc="https://assets.alleslabs.dev/celatone-brand/webapp-assets/placeholders/validator.svg" fallbackStrategy="beforeLoadOrError" /> )} diff --git a/src/lib/components/table/transactions/TransactionsTable.tsx b/src/lib/components/table/transactions/TransactionsTable.tsx index b910a4b51..729c83c6b 100644 --- a/src/lib/components/table/transactions/TransactionsTable.tsx +++ b/src/lib/components/table/transactions/TransactionsTable.tsx @@ -29,9 +29,9 @@ export const TransactionsTable = ({ if (isLoading) return ; if (!transactions?.length) return emptyState; - const templateColumns = `40px 190px 48px minmax(360px, 1fr) ${ - showRelations ? "100px " : "" - }max(190px) ${showTimestamp ? "max(230px) " : ""}${ + const templateColumns = `32px 190px 48px minmax(380px, 1fr) ${ + showRelations ? "86px " : "" + }max(180px) ${showTimestamp ? "max(220px) " : ""}${ showAction ? "100px " : "" }`; diff --git a/src/lib/icon/NAToken.tsx b/src/lib/icon/NAToken.tsx index 7c688f93f..b3577d2a7 100644 --- a/src/lib/icon/NAToken.tsx +++ b/src/lib/icon/NAToken.tsx @@ -3,6 +3,7 @@ import { CURR_THEME } from "env"; interface NATokenProps { size?: string; } + export const NAToken = ({ size = "20" }: NATokenProps) => ( Date: Mon, 11 Mar 2024 11:27:58 +0700 Subject: [PATCH 06/14] fix(components): remove option color in themes --- CHANGELOG.md | 3 - src/config/theme/default.ts | 42 +++--- src/config/theme/initia.ts | 35 ++++- src/config/theme/osmosis.ts | 34 +++++ src/config/theme/sei.ts | 34 +++-- src/config/theme/types.ts | 17 ++- src/lib/components/stepper/StepperItem.tsx | 18 ++- .../components/table/proposals/StatusChip.tsx | 4 +- .../components/VoteQuorumCircle.tsx | 3 +- .../components/VoteThresholdBar.tsx | 2 +- .../VotingOverviewQuorum.tsx | 13 +- .../components/proposal-stepper/StepIcon.tsx | 12 +- .../voting-period/VotingQuorum.tsx | 7 +- src/lib/styles/theme/components/button.ts | 131 ++++++------------ 14 files changed, 201 insertions(+), 154 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 40511685d..94a96acbb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -74,11 +74,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Improvements -<<<<<<< HEAD - [#795](https://github.com/alleslabs/celatone-frontend/pull/795) Rebranding -======= - [#805](https://github.com/alleslabs/celatone-frontend/pull/805) Revamp code detail page contracts section ->>>>>>> develop - [#802](https://github.com/alleslabs/celatone-frontend/pull/802) Revamp code detail page - [#800](https://github.com/alleslabs/celatone-frontend/pull/800) Add logging error in Zod parsing - [#798](https://github.com/alleslabs/celatone-frontend/pull/798) Add empty state to proposal messages diff --git a/src/config/theme/default.ts b/src/config/theme/default.ts index 748c523b0..8bf8dadc9 100644 --- a/src/config/theme/default.ts +++ b/src/config/theme/default.ts @@ -1,3 +1,4 @@ +/* eslint-disable sonarjs/no-duplicate-string */ import type { ThemeConfig } from "./types"; export const DEFAULT_THEME: ThemeConfig = { @@ -72,10 +73,10 @@ export const DEFAULT_THEME: ThemeConfig = { overlay: "rgba(2, 6, 23, 0.7)", }, success: { - light: "#D6FFD4", - main: "#9FF59A", - dark: "#497252", - background: "#213631", + main: "#42BEA6", + light: "#67CBB7", + dark: "#207966", + background: "#102E28", }, error: { light: "#FF8086", @@ -120,22 +121,27 @@ export const DEFAULT_THEME: ThemeConfig = { color: "inherit", }, }, + voteParticipations: { + voted: "primary.main", + votedAbstain: "primary.darker", + didNotVote: "gray.700", + }, button: { primary: { - background: "#89D1F6", - color: "#272D3C", - disabledBackground: "#244865", - disabledColor: "#0A101E", - hoverBackground: "#5ABAEC", - activeBackground: "#2B8BBD", + background: "primary.main", + color: "gray.800", + disabledBackground: "primary.background", + disabledColor: "gray.800", + hoverBackground: "primary.dark", + activeBackground: "primary.darker", }, outlinePrimary: { - borderColor: "#89D1F6", - color: "#89D1F6", - disabledBorderColor: "#244865", - disabledColor: "#2B8BBD", - hoverBackground: "#244865", - activeBackground: "#244865", + borderColor: "primary.main", + color: "primary.main", + disabledBorderColor: "primary.background", + disabledColor: "primary.darker", + hoverBackground: "primary.background", + activeBackground: "primary.background", }, }, tag: { @@ -153,6 +159,10 @@ export const DEFAULT_THEME: ThemeConfig = { bg: "primary.darker", color: "text.main", }, + disabled: { + bg: "gray.500", + color: "background.main", + }, }, borderRadius: { default: "8px", diff --git a/src/config/theme/initia.ts b/src/config/theme/initia.ts index 007d573e5..8015b9a1d 100644 --- a/src/config/theme/initia.ts +++ b/src/config/theme/initia.ts @@ -127,14 +127,37 @@ export const INITIA_THEME: ThemeConfig = { color: "inherit", }, }, + voteParticipations: { + voted: "primary.main", + votedAbstain: "primary.darker", + didNotVote: "gray.700", + }, button: { primary: { - background: "#F5F5F5", - color: "#151617", - disabledBackground: "#A1A6AA", - disabledColor: "#151617", - hoverBackground: "#B7B7B7", - activeBackground: "#B7B7B7", + background: "gray.100", + color: "gray.900", + disabledBackground: "gray.500", + disabledColor: "gray.900", + hoverBackground: "gray.400", + activeBackground: "gray.400", + }, + outlinePrimary: { + borderColor: "primary.light", + color: "primary.light", + disabledBorderColor: "gray.700", + disabledColor: "gray.600", + hoverBackground: "primary.background", + activeBackground: "transparent", + }, + }, + stepper: { + active: { + bg: "primary.dark", + color: "text.main", + }, + disabled: { + bg: "gray.500", + color: "background.main", }, }, borderRadius: { diff --git a/src/config/theme/osmosis.ts b/src/config/theme/osmosis.ts index a660a78ec..d073186fd 100644 --- a/src/config/theme/osmosis.ts +++ b/src/config/theme/osmosis.ts @@ -1,3 +1,4 @@ +/* eslint-disable sonarjs/no-duplicate-string */ import type { ThemeConfig } from "./types"; export const OSMOSIS_THEME: ThemeConfig = { @@ -128,6 +129,21 @@ export const OSMOSIS_THEME: ThemeConfig = { color: "inherit", }, }, + voteParticipations: { + voted: "primary.main", + votedAbstain: "primary.darker", + didNotVote: "gray.700", + }, + stepper: { + active: { + bg: "primary.dark", + color: "text.main", + }, + disabled: { + bg: "gray.500", + color: "background.main", + }, + }, borderRadius: { default: "8px", iconButton: "36px", @@ -171,4 +187,22 @@ export const OSMOSIS_THEME: ThemeConfig = { telegram: "https://t.me/osmosis_chat", reddit: "https://www.reddit.com/r/OsmosisLab/", }, + button: { + primary: { + background: "primary.main", + color: "gray.100", + disabledBackground: "primary.background", + disabledColor: "gray.600", + hoverBackground: "primary.dark", + activeBackground: "primary.light", + }, + outlinePrimary: { + borderColor: "primary.light", + color: "primary.light", + disabledBorderColor: "gray.700", + disabledColor: "gray.600", + hoverBackground: "primary.background", + activeBackground: "transparent", + }, + }, }; diff --git a/src/config/theme/sei.ts b/src/config/theme/sei.ts index 0a82f4c29..fe1b46b0e 100644 --- a/src/config/theme/sei.ts +++ b/src/config/theme/sei.ts @@ -1,3 +1,4 @@ +/* eslint-disable sonarjs/no-duplicate-string */ import type { ThemeConfig } from "config/theme/types"; export const SEI_THEME: ThemeConfig = { @@ -127,22 +128,27 @@ export const SEI_THEME: ThemeConfig = { color: "inherit", }, }, + voteParticipations: { + voted: "accent.main", + votedAbstain: "accent.darker", + didNotVote: "gray.700", + }, button: { primary: { - background: "#F0E3CF", - color: "#0C1C23", - disabledBackground: "#787971", - disabledColor: "#0C1C23", - hoverBackground: "#C0B8A9", - activeBackground: "#FAF6EF", + background: "primary.main", + color: "gray.900", + disabledBackground: "primary.darker", + disabledColor: "gray.900", + hoverBackground: "primary.dark", + activeBackground: "primary.light", }, outlinePrimary: { - borderColor: "#787971", - color: "#F0E3CF", - disabledBorderColor: "#1D343F", - disabledColor: "#40566A", - hoverBackground: "#C0B8A9", - activeBackground: "#FAF6EF", + borderColor: "primary.darker", + color: "primary.main", + disabledBorderColor: "gray.700", + disabledColor: "gray.600", + hoverBackground: "primary.darker", + activeBackground: "primary.light", }, }, stepper: { @@ -150,6 +156,10 @@ export const SEI_THEME: ThemeConfig = { bg: "accent.main", color: "gray.100", }, + disabled: { + bg: "gray.500", + color: "background.main", + }, }, borderRadius: { default: "8px", diff --git a/src/config/theme/types.ts b/src/config/theme/types.ts index 5fc4a1364..f9eec4338 100644 --- a/src/config/theme/types.ts +++ b/src/config/theme/types.ts @@ -98,9 +98,9 @@ export type ThemeConfig = { color: string; }; }; - stepper?: { - active?: { bg: string; color: string }; - disabled?: { bg: string; color: string }; + stepper: { + active: { bg: string; color: string }; + disabled: { bg: string; color: string }; }; proposalChip: { depositPeriod: { @@ -132,8 +132,13 @@ export type ThemeConfig = { color: string; }; }; - button?: { - primary?: { + voteParticipations: { + voted: string; + votedAbstain: string; + didNotVote: string; + }; + button: { + primary: { background: string; color: string; disabledBackground: string; @@ -141,7 +146,7 @@ export type ThemeConfig = { hoverBackground: string; activeBackground: string; }; - outlinePrimary?: { + outlinePrimary: { borderColor: string; color: string; disabledBorderColor: string; diff --git a/src/lib/components/stepper/StepperItem.tsx b/src/lib/components/stepper/StepperItem.tsx index 7adbb0c2e..a16fc8a3b 100644 --- a/src/lib/components/stepper/StepperItem.tsx +++ b/src/lib/components/stepper/StepperItem.tsx @@ -23,23 +23,29 @@ const StepLabel = ({ justify="center" align="center" backgroundColor={ - disabled - ? CURR_THEME.stepper?.disabled?.bg ?? "gray.500" - : CURR_THEME.stepper?.active?.bg ?? "primary.dark" + disabled ? CURR_THEME.stepper.disabled.bg : CURR_THEME.stepper.active.bg } width="24px" height="24px" borderRadius="50%" > {currentStep > step ? ( - + ) : ( {step} diff --git a/src/lib/components/table/proposals/StatusChip.tsx b/src/lib/components/table/proposals/StatusChip.tsx index 21e125e3b..152605f19 100644 --- a/src/lib/components/table/proposals/StatusChip.tsx +++ b/src/lib/components/table/proposals/StatusChip.tsx @@ -21,10 +21,10 @@ const getBgColor = ( case ProposalStatus.PASSED: return CURR_THEME.proposalChip.passed.bg; case ProposalStatus.CANCELLED: - return "error.background"; + return CURR_THEME.proposalChip.cancelled.bg; case ProposalStatus.DEPOSIT_FAILED: default: - return "gray.700"; + return CURR_THEME.proposalChip.depositFailed.bg; } }; diff --git a/src/lib/pages/proposal-details/components/VoteQuorumCircle.tsx b/src/lib/pages/proposal-details/components/VoteQuorumCircle.tsx index d24f5c58c..614473f1d 100644 --- a/src/lib/pages/proposal-details/components/VoteQuorumCircle.tsx +++ b/src/lib/pages/proposal-details/components/VoteQuorumCircle.tsx @@ -1,6 +1,7 @@ import { Circle, Heading, Text } from "@chakra-ui/react"; import type Big from "big.js"; +import { CURR_THEME } from "env"; import { formatPrettyPercent } from "lib/utils"; interface VoteQuorumCircleProps { @@ -30,7 +31,7 @@ export const VoteQuorumCircle = ({ diff --git a/src/lib/pages/proposal-details/components/proposal-overview/proposal-period-overview/VotingOverviewQuorum.tsx b/src/lib/pages/proposal-details/components/proposal-overview/proposal-period-overview/VotingOverviewQuorum.tsx index bb05ea931..4d5d5b32d 100644 --- a/src/lib/pages/proposal-details/components/proposal-overview/proposal-period-overview/VotingOverviewQuorum.tsx +++ b/src/lib/pages/proposal-details/components/proposal-overview/proposal-period-overview/VotingOverviewQuorum.tsx @@ -3,6 +3,7 @@ import { Box, Divider, Flex, Text } from "@chakra-ui/react"; import { VoteQuorumBadge } from "../../VoteQuorumBadge"; import { VoteQuorumCircle } from "../../VoteQuorumCircle"; import { VoteQuorumText } from "../../VoteQuorumText"; +import { CURR_THEME } from "env"; import { CustomIcon } from "lib/components/icon"; import { Tooltip } from "lib/components/Tooltip"; import { @@ -51,20 +52,24 @@ export const VotingOverviewQuorum = ({ label={

- + {formatPrettyPercent(nonAbstainVotes.toNumber())} Vote - response + Response - {formatPrettyPercent(abstain.toNumber())} Vote abstain + {formatPrettyPercent(abstain.toNumber())} Vote Abstain
diff --git a/src/lib/pages/proposal-details/components/proposal-stepper/StepIcon.tsx b/src/lib/pages/proposal-details/components/proposal-stepper/StepIcon.tsx index 1d656d833..9e65f8bac 100644 --- a/src/lib/pages/proposal-details/components/proposal-stepper/StepIcon.tsx +++ b/src/lib/pages/proposal-details/components/proposal-stepper/StepIcon.tsx @@ -50,9 +50,7 @@ export const StepIcon = ({ step, proposalData }: ProposalStepperProps) => { alignItems="center" justifyContent="center" background={ - isGray - ? CURR_THEME.stepper?.disabled?.bg ?? "gray.500" - : CURR_THEME.stepper?.active?.bg ?? "primary.dark" + isGray ? CURR_THEME.stepper.disabled.bg : CURR_THEME.stepper.active.bg } > {state !== PeriodState.COMPLETE ? ( @@ -61,8 +59,8 @@ export const StepIcon = ({ step, proposalData }: ProposalStepperProps) => { fontWeight={700} color={ isGray - ? CURR_THEME.stepper?.disabled?.color ?? "background.main" - : CURR_THEME.stepper?.active?.color ?? "text.main" + ? CURR_THEME.stepper.disabled.color + : CURR_THEME.stepper.active.color } > {step} @@ -73,8 +71,8 @@ export const StepIcon = ({ step, proposalData }: ProposalStepperProps) => { boxSize={3} color={ isGray - ? CURR_THEME.stepper?.disabled?.color ?? "background.main" - : CURR_THEME.stepper?.active?.color ?? "text.main" + ? CURR_THEME.stepper.disabled.color + : CURR_THEME.stepper.active.color } /> )} diff --git a/src/lib/pages/proposal-details/components/vote-details/voting-period/VotingQuorum.tsx b/src/lib/pages/proposal-details/components/vote-details/voting-period/VotingQuorum.tsx index 9fdd2175e..99ddc556c 100644 --- a/src/lib/pages/proposal-details/components/vote-details/voting-period/VotingQuorum.tsx +++ b/src/lib/pages/proposal-details/components/vote-details/voting-period/VotingQuorum.tsx @@ -6,6 +6,7 @@ import { VoteQuorumBadge } from "../../VoteQuorumBadge"; import { VoteQuorumCircle } from "../../VoteQuorumCircle"; import { VoteQuorumText } from "../../VoteQuorumText"; import { VpPercentCard } from "../../VpPercentCard"; +import { CURR_THEME } from "env"; import { useMobile } from "lib/app-provider"; import { Loading } from "lib/components/Loading"; import { @@ -91,14 +92,14 @@ export const VotingQuorum = ({ name="Voted" ratio={nonAbstainVotes} power={votes} - color="primary.light" + color={CURR_THEME.voteParticipations.voted} isCompact={isMobile} /> diff --git a/src/lib/styles/theme/components/button.ts b/src/lib/styles/theme/components/button.ts index a62695e8e..e56b6c7a1 100644 --- a/src/lib/styles/theme/components/button.ts +++ b/src/lib/styles/theme/components/button.ts @@ -75,43 +75,24 @@ export const Button: ComponentStyleConfig = { }, }, variants: { - primary: CURR_THEME.button?.primary - ? generateStyle({ - basic: { - background: CURR_THEME.button.primary.background, - color: CURR_THEME.button.primary.color, - "& span": { - color: CURR_THEME.button.primary.color, - }, - }, - disabled: { - background: CURR_THEME.button.primary.disabledBackground, - color: CURR_THEME.button.primary.disabledColor, - "& span": { - color: CURR_THEME.button.primary.disabledColor, - }, - }, - hoverBg: CURR_THEME.button.primary.hoverBackground, - activeBg: CURR_THEME.button.primary.activeBackground, - }) - : generateStyle({ - basic: { - background: "primary.main", - color: "text.main", - "& span": { - color: "text.main", - }, - }, - disabled: { - background: primaryBg, - color: gray600, - "& span": { - color: gray600, - }, - }, - hoverBg: primaryDark, - activeBg: primaryLight, - }), + primary: generateStyle({ + basic: { + background: CURR_THEME.button.primary.background, + color: CURR_THEME.button.primary.color, + "& span": { + color: CURR_THEME.button.primary.color, + }, + }, + disabled: { + background: CURR_THEME.button.primary.disabledBackground, + color: CURR_THEME.button.primary.disabledColor, + "& span": { + color: CURR_THEME.button.primary.disabledColor, + }, + }, + hoverBg: CURR_THEME.button.primary.hoverBackground, + activeBg: CURR_THEME.button.primary.activeBackground, + }), "gray-solid": generateStyle({ basic: { background: gray800, @@ -133,56 +114,32 @@ export const Button: ComponentStyleConfig = { hoverBg: errorDark, activeBg: "error.light", }), - "outline-primary": CURR_THEME.button?.outlinePrimary - ? generateStyle({ - basic: { - border: borderDefault, - borderColor: CURR_THEME.button.outlinePrimary.borderColor, - color: CURR_THEME.button.outlinePrimary.color, - "> div": { - color: CURR_THEME.button.outlinePrimary.color, - }, - "& span": { - color: CURR_THEME.button.outlinePrimary.color, - }, - "> svg": { - color: CURR_THEME.button.outlinePrimary.color, - }, - }, - disabled: { - border: borderDefault, - borderColor: CURR_THEME.button.outlinePrimary.disabledBorderColor, - color: CURR_THEME.button.outlinePrimary.disabledColor, - "& span": { - color: CURR_THEME.button.outlinePrimary.disabledColor, - }, - }, - hoverBg: CURR_THEME.button.outlinePrimary.hoverBackground, - activeBg: CURR_THEME.button.outlinePrimary.activeBackground, - }) - : generateStyle({ - basic: { - border: borderDefault, - borderColor: primaryLight, - color: primaryLight, - "> div": { - color: primaryLight, - }, - "> svg": { - color: primaryLight, - }, - }, - disabled: { - border: borderDefault, - borderColor: gray700, - color: gray600, - "> svg": { - color: gray600, - }, - }, - hoverBg: primaryBg, - activeBg: "transparent", - }), + "outline-primary": generateStyle({ + basic: { + border: borderDefault, + borderColor: CURR_THEME.button.outlinePrimary.borderColor, + color: CURR_THEME.button.outlinePrimary.color, + "> div": { + color: CURR_THEME.button.outlinePrimary.color, + }, + "& span": { + color: CURR_THEME.button.outlinePrimary.color, + }, + "> svg": { + color: CURR_THEME.button.outlinePrimary.color, + }, + }, + disabled: { + border: borderDefault, + borderColor: CURR_THEME.button.outlinePrimary.disabledBorderColor, + color: CURR_THEME.button.outlinePrimary.disabledColor, + "& span": { + color: CURR_THEME.button.outlinePrimary.disabledColor, + }, + }, + hoverBg: CURR_THEME.button.outlinePrimary.hoverBackground, + activeBg: CURR_THEME.button.outlinePrimary.activeBackground, + }), "outline-gray": generateStyle({ basic: { border: borderDefault, From 762521011ad5e27a291e9af385076dc7b77fbf18 Mon Sep 17 00:00:00 2001 From: Jennie Alles Date: Mon, 11 Mar 2024 13:38:21 +0700 Subject: [PATCH 07/14] fix(components): adjust osmosis color --- src/config/theme/initia.ts | 2 +- src/config/theme/osmosis.ts | 86 +++++++++---------- src/config/theme/sei.ts | 2 +- .../table/transactions/TransactionsTable.tsx | 4 +- 4 files changed, 47 insertions(+), 47 deletions(-) diff --git a/src/config/theme/initia.ts b/src/config/theme/initia.ts index 8015b9a1d..810d0462c 100644 --- a/src/config/theme/initia.ts +++ b/src/config/theme/initia.ts @@ -119,7 +119,7 @@ export const INITIA_THEME: ThemeConfig = { color: "inherit", }, cancelled: { - bg: "error.darker", + bg: "error.background", color: "inherit", }, depositFailed: { diff --git a/src/config/theme/osmosis.ts b/src/config/theme/osmosis.ts index d073186fd..f339f05ac 100644 --- a/src/config/theme/osmosis.ts +++ b/src/config/theme/osmosis.ts @@ -47,46 +47,46 @@ export const OSMOSIS_THEME: ThemeConfig = { dark: "#207966", background: "#102E28", }, - background: { - main: "#090524", - overlay: "rgba(14, 9, 49, 0.7)", - }, text: { main: "#F2F2F4", - dark: "#A09ACA", - disabled: "#736DA0", + dark: "#B0AADC", + disabled: "#8D87B8", }, primary: { + lighter: "#A5A3FF", + light: "#8481F8", main: "#5235EF", - light: "#765CFF", - lighter: "#8481F8", - dark: "#462ADF", - darker: "#3A1FCA", + dark: "#3E21DB", + darker: "#260BB6", background: "#201865", }, secondary: { + light: "#A5A3FF", main: "#8481F8", - light: "#9B99FF", - dark: "#6A67EA", - darker: "#5855DB", - background: "#2F306A", + dark: "#5235EF", + darker: "#462ADF", + background: "#201865", }, accent: { - main: "#DD69D3", - light: "#E58BDD", lighter: "#ECACE7", + light: "#E58BDD", + main: "#DD69D3", dark: "#CA2EBD", darker: "#B72AAB", - background: "#431152", + background: "#711B75", }, gray: { 100: "#F2F2F4", - 400: "#8D87B8", - 500: "#736DA0", - 600: "#5F588F", - 700: "#464075", - 800: "#282750", - 900: "#140F34", + 400: "#B0AADC", + 500: "#8D87B8", + 600: "#736DA0", + 700: "#4B447B", + 800: "#3C356D", + 900: "#201B43", + }, + background: { + main: "#140F34", + overlay: "rgba(14, 9, 49, 0.7)", }, }, tag: { @@ -101,7 +101,7 @@ export const OSMOSIS_THEME: ThemeConfig = { }, proposalChip: { depositPeriod: { - bg: "secondary.darker", + bg: "primary.darker", color: "inherit", }, votingPeriod: { @@ -121,7 +121,7 @@ export const OSMOSIS_THEME: ThemeConfig = { color: "inherit", }, cancelled: { - bg: "error.darker", + bg: "error.background", color: "inherit", }, depositFailed: { @@ -144,6 +144,24 @@ export const OSMOSIS_THEME: ThemeConfig = { color: "background.main", }, }, + button: { + primary: { + background: "primary.main", + color: "gray.100", + disabledBackground: "primary.background", + disabledColor: "gray.600", + hoverBackground: "primary.dark", + activeBackground: "primary.light", + }, + outlinePrimary: { + borderColor: "primary.light", + color: "primary.light", + disabledBorderColor: "gray.700", + disabledColor: "gray.600", + hoverBackground: "primary.background", + activeBackground: "transparent", + }, + }, borderRadius: { default: "8px", iconButton: "36px", @@ -187,22 +205,4 @@ export const OSMOSIS_THEME: ThemeConfig = { telegram: "https://t.me/osmosis_chat", reddit: "https://www.reddit.com/r/OsmosisLab/", }, - button: { - primary: { - background: "primary.main", - color: "gray.100", - disabledBackground: "primary.background", - disabledColor: "gray.600", - hoverBackground: "primary.dark", - activeBackground: "primary.light", - }, - outlinePrimary: { - borderColor: "primary.light", - color: "primary.light", - disabledBorderColor: "gray.700", - disabledColor: "gray.600", - hoverBackground: "primary.background", - activeBackground: "transparent", - }, - }, }; diff --git a/src/config/theme/sei.ts b/src/config/theme/sei.ts index fe1b46b0e..9b3cf9702 100644 --- a/src/config/theme/sei.ts +++ b/src/config/theme/sei.ts @@ -120,7 +120,7 @@ export const SEI_THEME: ThemeConfig = { color: "inherit", }, cancelled: { - bg: "error.darker", + bg: "error.background", color: "inherit", }, depositFailed: { diff --git a/src/lib/components/table/transactions/TransactionsTable.tsx b/src/lib/components/table/transactions/TransactionsTable.tsx index 729c83c6b..cca5fad8b 100644 --- a/src/lib/components/table/transactions/TransactionsTable.tsx +++ b/src/lib/components/table/transactions/TransactionsTable.tsx @@ -30,8 +30,8 @@ export const TransactionsTable = ({ if (!transactions?.length) return emptyState; const templateColumns = `32px 190px 48px minmax(380px, 1fr) ${ - showRelations ? "86px " : "" - }max(180px) ${showTimestamp ? "max(220px) " : ""}${ + showRelations ? "90px " : "" + }max(180px) ${showTimestamp ? "max(228px) " : ""}${ showAction ? "100px " : "" }`; From 41c8e1a2e3f385c1fa0a26671866f8b6bd1123e5 Mon Sep 17 00:00:00 2001 From: Jennie Alles Date: Mon, 11 Mar 2024 17:18:02 +0700 Subject: [PATCH 08/14] fix(components): fix pool icon to change by theme color --- src/lib/components/forms/SelectInput.tsx | 7 ++-- src/lib/icon/index.ts | 5 +++ src/lib/icon/pools/BalancerPoolIcon.tsx | 21 ++++++++++++ src/lib/icon/pools/ClpIcon.tsx | 11 +++++++ src/lib/icon/pools/CosmWasmPoolIcon.tsx | 21 ++++++++++++ src/lib/icon/pools/StableSwapPoolIcon.tsx | 33 +++++++++++++++++++ .../pools/components/FilterByPoolType.tsx | 22 ++++++------- src/lib/pages/pools/components/PoolHeader.tsx | 33 ++++++++----------- .../pools/components/SuperfluidLabel.tsx | 13 ++++++++ .../components/supportedSection/index.tsx | 8 ++--- .../components/unsupportedSection/index.tsx | 6 ++-- src/lib/pages/pools/constant.ts | 10 ------ src/lib/pages/pools/index.tsx | 6 +++- 13 files changed, 142 insertions(+), 54 deletions(-) create mode 100644 src/lib/icon/pools/BalancerPoolIcon.tsx create mode 100644 src/lib/icon/pools/ClpIcon.tsx create mode 100644 src/lib/icon/pools/CosmWasmPoolIcon.tsx create mode 100644 src/lib/icon/pools/StableSwapPoolIcon.tsx create mode 100644 src/lib/pages/pools/components/SuperfluidLabel.tsx delete mode 100644 src/lib/pages/pools/constant.ts diff --git a/src/lib/components/forms/SelectInput.tsx b/src/lib/components/forms/SelectInput.tsx index 71c0e96ec..e40499ac3 100644 --- a/src/lib/components/forms/SelectInput.tsx +++ b/src/lib/components/forms/SelectInput.tsx @@ -1,6 +1,5 @@ import { Flex, - Image, Input, InputGroup, InputLeftElement, @@ -26,7 +25,7 @@ interface SelectInputProps { disabled: boolean; icon?: IconKeys; iconColor?: string; - image?: string; + image?: JSX.Element; }[]; onChange: (newVal: T) => void; placeholder?: string; @@ -125,7 +124,7 @@ export const SelectInput = ({
{formLabel}
{selectedOption?.image && ( - + {selectedOption.image} )} {selectedOption?.icon && ( @@ -178,7 +177,7 @@ export const SelectInput = ({ }} disabled={disabled} > - {image && } + {image} {icon && } {label} diff --git a/src/lib/icon/index.ts b/src/lib/icon/index.ts index 1a698d62c..632ffb966 100644 --- a/src/lib/icon/index.ts +++ b/src/lib/icon/index.ts @@ -1 +1,6 @@ export * from "./NAToken"; + +export * from "./pools/BalancerPoolIcon"; +export * from "./pools/ClpIcon"; +export * from "./pools/CosmWasmPoolIcon"; +export * from "./pools/StableSwapPoolIcon"; diff --git a/src/lib/icon/pools/BalancerPoolIcon.tsx b/src/lib/icon/pools/BalancerPoolIcon.tsx new file mode 100644 index 000000000..555ebf30c --- /dev/null +++ b/src/lib/icon/pools/BalancerPoolIcon.tsx @@ -0,0 +1,21 @@ +import { Icon } from "@chakra-ui/react"; +import type { IconProps } from "@chakra-ui/react"; + +import { CURR_THEME } from "env"; + +export const BalancerPoolIcon = (props: IconProps) => ( + + + + + +); diff --git a/src/lib/icon/pools/ClpIcon.tsx b/src/lib/icon/pools/ClpIcon.tsx new file mode 100644 index 000000000..ebbc337ae --- /dev/null +++ b/src/lib/icon/pools/ClpIcon.tsx @@ -0,0 +1,11 @@ +import { Icon } from "@chakra-ui/react"; +import type { IconProps } from "@chakra-ui/react"; + +export const ClpIcon = (props: IconProps) => ( + + + +); diff --git a/src/lib/icon/pools/CosmWasmPoolIcon.tsx b/src/lib/icon/pools/CosmWasmPoolIcon.tsx new file mode 100644 index 000000000..8c7a6bdbe --- /dev/null +++ b/src/lib/icon/pools/CosmWasmPoolIcon.tsx @@ -0,0 +1,21 @@ +import { Icon } from "@chakra-ui/react"; +import type { IconProps } from "@chakra-ui/react"; + +import { CURR_THEME } from "env"; + +export const CosmWasmPoolIcon = (props: IconProps) => ( + + + + +); diff --git a/src/lib/icon/pools/StableSwapPoolIcon.tsx b/src/lib/icon/pools/StableSwapPoolIcon.tsx new file mode 100644 index 000000000..cbd8fea77 --- /dev/null +++ b/src/lib/icon/pools/StableSwapPoolIcon.tsx @@ -0,0 +1,33 @@ +import { Icon } from "@chakra-ui/react"; +import type { IconProps } from "@chakra-ui/react"; + +export const StableSwapIcon = (props: IconProps) => ( + + + + + + + + + + + + +); diff --git a/src/lib/pages/pools/components/FilterByPoolType.tsx b/src/lib/pages/pools/components/FilterByPoolType.tsx index 6134b7394..27ff5b8b8 100644 --- a/src/lib/pages/pools/components/FilterByPoolType.tsx +++ b/src/lib/pages/pools/components/FilterByPoolType.tsx @@ -1,20 +1,20 @@ import { Grid } from "@chakra-ui/react"; -import { - BALANCER_ICON, - CLP_ICON, - COSMWASM_ICON, - STABLESWAP_ICON, -} from "../constant"; import { AmpEvent, trackUseFilter } from "lib/amplitude"; import { SelectInput } from "lib/components/forms"; +import { + BalancerPoolIcon, + ClpIcon, + CosmWasmPoolIcon, + StableSwapIcon, +} from "lib/icon"; import type { PoolTypeFilter } from "lib/types"; import { PoolType } from "lib/types"; interface PoolTypeOption { label: string; value: PoolTypeFilter; - image?: string; + image?: JSX.Element; disabled: boolean; } @@ -33,25 +33,25 @@ const options: PoolTypeOption[] = [ { label: "Balancer Pools", value: PoolType.BALANCER, - image: BALANCER_ICON, + image: , disabled: false, }, { label: "StableSwap Pools", value: PoolType.STABLESWAP, - image: STABLESWAP_ICON, + image: , disabled: false, }, { label: "Concentrated Liquidity Pools", value: PoolType.CL, - image: CLP_ICON, + image: , disabled: false, }, { label: "CosmWasm Pools", value: PoolType.COSMWASM, - image: COSMWASM_ICON, + image: , disabled: false, }, ]; diff --git a/src/lib/pages/pools/components/PoolHeader.tsx b/src/lib/pages/pools/components/PoolHeader.tsx index 171370a0e..e89fc554b 100644 --- a/src/lib/pages/pools/components/PoolHeader.tsx +++ b/src/lib/pages/pools/components/PoolHeader.tsx @@ -1,17 +1,17 @@ -import { Flex, Heading, Image, Text } from "@chakra-ui/react"; +import { Flex, Heading, Text } from "@chakra-ui/react"; import { - BALANCER_ICON, - CLP_ICON, - COSMWASM_ICON, - STABLESWAP_ICON, - SUPERFLUID_ICON, -} from "../constant"; + BalancerPoolIcon, + ClpIcon, + CosmWasmPoolIcon, + StableSwapIcon, +} from "lib/icon"; import type { PoolDetail } from "lib/types/pool"; import { PoolType } from "lib/types/pool"; import { getTokenLabel } from "lib/utils"; import { PoolLogo } from "./PoolLogo"; +import { SuperfluidLabel } from "./SuperfluidLabel"; interface PoolHeaderProps extends Pick { @@ -24,22 +24,22 @@ const poolTypeRender = (type: PoolDetail["type"]) => { case PoolType.BALANCER: return { text: "Balancer Pool", - icon: BALANCER_ICON, + icon: , }; case PoolType.STABLESWAP: return { text: "StableSwap Pool", - icon: STABLESWAP_ICON, + icon: , }; case PoolType.COSMWASM: return { text: "CosmWasm Pool", - icon: COSMWASM_ICON, + icon: , }; case PoolType.CL: return { text: "Concentrated Liquidity Pool", - icon: CLP_ICON, + icon: , }; default: return {}; @@ -112,8 +112,8 @@ export const PoolHeader = ({ h="6px" /> - - + {poolValue.icon} + {poolValue.text} @@ -127,12 +127,7 @@ export const PoolHeader = ({ w="6px" h="6px" /> - - - - Superfluid - - + )} diff --git a/src/lib/pages/pools/components/SuperfluidLabel.tsx b/src/lib/pages/pools/components/SuperfluidLabel.tsx new file mode 100644 index 000000000..a66ef4d1d --- /dev/null +++ b/src/lib/pages/pools/components/SuperfluidLabel.tsx @@ -0,0 +1,13 @@ +import { Flex, Image, Text } from "@chakra-ui/react"; + +export const SuperfluidLabel = ({ isSmall = false }: { isSmall?: boolean }) => ( + + + + Superfluid + + +); diff --git a/src/lib/pages/pools/components/supportedSection/index.tsx b/src/lib/pages/pools/components/supportedSection/index.tsx index 640894bbe..c46fc2969 100644 --- a/src/lib/pages/pools/components/supportedSection/index.tsx +++ b/src/lib/pages/pools/components/supportedSection/index.tsx @@ -5,7 +5,6 @@ import { FormControl, FormLabel, Heading, - Image, Switch, Text, } from "@chakra-ui/react"; @@ -14,10 +13,10 @@ import type { ChangeEvent } from "react"; import { useMemo, useState } from "react"; import { useForm } from "react-hook-form"; -import { SUPERFLUID_ICON } from "../../constant"; import { usePools } from "../../data"; import type { PoolFilterState } from "../../types"; import { FilterByPoolType } from "../FilterByPoolType"; +import { SuperfluidLabel } from "../SuperfluidLabel"; import { trackUseSort, trackUseToggle, trackUseView } from "lib/amplitude"; import { CustomIcon } from "lib/components/icon"; import InputWithIcon from "lib/components/InputWithIcon"; @@ -158,11 +157,10 @@ export const SupportedSection = ({ setValue("isSuperfluidOnly", isChecked); }} /> - + Show only - - Superfluid + diff --git a/src/lib/pages/pools/components/unsupportedSection/index.tsx b/src/lib/pages/pools/components/unsupportedSection/index.tsx index f3bb5b117..a58fd019f 100644 --- a/src/lib/pages/pools/components/unsupportedSection/index.tsx +++ b/src/lib/pages/pools/components/unsupportedSection/index.tsx @@ -5,7 +5,6 @@ import { FormControl, FormLabel, Heading, - Image, Switch, Text, } from "@chakra-ui/react"; @@ -13,10 +12,10 @@ import type { ChangeEvent } from "react"; import { useMemo, useState } from "react"; import { useForm } from "react-hook-form"; -import { SUPERFLUID_ICON } from "../../constant"; import { usePools } from "../../data"; import type { PoolFilterState } from "../../types"; import { FilterByPoolType } from "../FilterByPoolType"; +import { SuperfluidLabel } from "../SuperfluidLabel"; import { trackUseExpandAll, trackUseSort, trackUseToggle } from "lib/amplitude"; import { CustomIcon } from "lib/components/icon"; import InputWithIcon from "lib/components/InputWithIcon"; @@ -141,8 +140,7 @@ export const UnsupportedSection = ({ Show only - - Superfluid + diff --git a/src/lib/pages/pools/constant.ts b/src/lib/pages/pools/constant.ts deleted file mode 100644 index 0c546c619..000000000 --- a/src/lib/pages/pools/constant.ts +++ /dev/null @@ -1,10 +0,0 @@ -export const SUPERFLUID_ICON = - "https://assets.alleslabs.dev/celatone-brand/webapp-assets/pools/superfluid.svg"; -export const BALANCER_ICON = - "https://assets.alleslabs.dev/celatone-brand/webapp-assets/pools/balancer.svg"; -export const STABLESWAP_ICON = - "https://assets.alleslabs.dev/celatone-brand/webapp-assets/pools/stableswap.svg"; -export const COSMWASM_ICON = - "https://assets.alleslabs.dev/celatone-brand/webapp-assets/pools/cosmwasm.svg"; -export const CLP_ICON = - "https://assets.alleslabs.dev/celatone-brand/webapp-assets/pools/clp.svg"; diff --git a/src/lib/pages/pools/index.tsx b/src/lib/pages/pools/index.tsx index 96fa49f1c..ca4705d07 100644 --- a/src/lib/pages/pools/index.tsx +++ b/src/lib/pages/pools/index.tsx @@ -69,7 +69,11 @@ export const PoolIndex = () => { Osmosis Pools - + Date: Wed, 13 Mar 2024 18:06:33 +0700 Subject: [PATCH 09/14] fix(components): add accent color in default theme --- src/config/theme/default.ts | 12 ++++++------ src/lib/pages/home/index.tsx | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/config/theme/default.ts b/src/config/theme/default.ts index 8bf8dadc9..c67edc8d6 100644 --- a/src/config/theme/default.ts +++ b/src/config/theme/default.ts @@ -47,12 +47,12 @@ export const DEFAULT_THEME: ThemeConfig = { background: "#244865", }, accent: { - lighter: "#E0F1FB", - light: "#C2EAFF", - main: "#89D1F6", - dark: "#5ABAEC", - darker: "#2B8BBD", - background: "#244865", + lighter: "#FDFAEC", + light: "#F9F0C8", + main: "#F5E6A3", + dark: "#EDD25A", + darker: "#7B703A", + background: "#3B3928", }, gray: { 100: "#F8FAFC", diff --git a/src/lib/pages/home/index.tsx b/src/lib/pages/home/index.tsx index bfa07f785..fe46a8382 100644 --- a/src/lib/pages/home/index.tsx +++ b/src/lib/pages/home/index.tsx @@ -76,7 +76,7 @@ const Home = () => { > - + {prettyName} {" "} Overview From 5cde74ee5030197d14ea3082d6e5459f5cc7b464 Mon Sep 17 00:00:00 2001 From: songwongtp <16089160+songwongtp@users.noreply.github.com> Date: Thu, 14 Mar 2024 16:59:24 +0700 Subject: [PATCH 10/14] feat: dynamic theme generation --- CHANGELOG.md | 1 + src/config/theme/default.ts | 150 ++++++++-------- src/config/theme/initia.ts | 144 ++++++++-------- src/config/theme/osmosis.ts | 162 +++++++++--------- src/config/theme/sei.ts | 154 +++++++++-------- src/config/theme/types.ts | 138 ++++++++------- src/config/theme/utils.ts | 36 ++++ src/lib/components/CopyLink.tsx | 3 +- src/lib/components/ExplorerLink.tsx | 3 +- src/lib/components/stepper/StepperItem.tsx | 17 +- .../components/table/proposals/StatusChip.tsx | 15 +- .../table/transactions/RelationChip.tsx | 9 +- src/lib/layout/Searchbar.tsx | 3 +- .../components/BlocksTableMobileCard.tsx | 7 +- .../blocks/components/BlocksTableRow.tsx | 3 +- .../components/VoteQuorumCircle.tsx | 3 +- .../VotingOverviewQuorum.tsx | 5 +- .../components/proposal-stepper/StepIcon.tsx | 17 +- .../voting-period/VotingQuorum.tsx | 7 +- src/lib/styles/theme/components/button.ts | 39 ++--- src/lib/styles/theme/fonts.ts | 3 +- src/pages/_document.tsx | 4 +- 22 files changed, 467 insertions(+), 456 deletions(-) create mode 100644 src/config/theme/utils.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index df04dc4da..30ed820b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -78,6 +78,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Improvements +- [#826](https://github.com/alleslabs/celatone-frontend/pull/826) Apply dynamic component theme generation - [#795](https://github.com/alleslabs/celatone-frontend/pull/795) Rebranding - [#820](https://github.com/alleslabs/celatone-frontend/pull/820) Change GraphQL neutron endpoint to legacy - [#806](https://github.com/alleslabs/celatone-frontend/pull/806) UX Improvement - adjust txs icon, event logs layout and adjust asset section diff --git a/src/config/theme/default.ts b/src/config/theme/default.ts index c67edc8d6..28d408b2c 100644 --- a/src/config/theme/default.ts +++ b/src/config/theme/default.ts @@ -1,7 +1,8 @@ /* eslint-disable sonarjs/no-duplicate-string */ -import type { ThemeConfig } from "./types"; +import type { ComponentConfig, ThemeConfig } from "./types"; +import { generateTheme } from "./utils"; -export const DEFAULT_THEME: ThemeConfig = { +const DEFAULT_BASE_THEME: ThemeConfig = { branding: { logo: "https://assets.alleslabs.dev/celatone-brand/logo/full-white.svg", favicon: "https://assets.alleslabs.dev/celatone-brand/favicon.ico", @@ -25,7 +26,7 @@ export const DEFAULT_THEME: ThemeConfig = { url: "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300..700&display=swap", name: "Space Grotesk, sans-serif", }, - link: { + mono: { url: "/font/main.css", name: "PP Neue Montreal Mono Regular", }, @@ -91,41 +92,45 @@ export const DEFAULT_THEME: ThemeConfig = { background: "#523600", }, }, - proposalChip: { - depositPeriod: { - bg: "primary.background", - color: "inherit", - }, - votingPeriod: { - bg: "primary.darker", - color: "inherit", - }, - failed: { - bg: "error.dark", - color: "inherit", - }, - rejected: { - bg: "error.dark", - color: "inherit", - }, - passed: { - bg: "success.dark", - color: "inherit", - }, - cancelled: { - bg: "error.background", - color: "inherit", - }, - depositFailed: { - bg: "gray.700", - color: "inherit", + // borderRadius: { + // default: "8px", + // iconButton: "36px", + // viewButton: "0 0 8px 8px", + // uploadButton: "50%", + // tag: "full", + // badge: "16px", + // radio: "12px", + // indicator: "2px", + // stepper: "full", + // }, + jsonTheme: "pastel_on_dark", + illustration: { + "404": + "https://assets.alleslabs.dev/celatone-brand/illustration/states/404.svg", + error: + "https://assets.alleslabs.dev/celatone-brand/illustration/states/error.svg", + searchNotFound: + "https://assets.alleslabs.dev/celatone-brand/illustration/states/search-not-found.svg", + searchEmpty: + "https://assets.alleslabs.dev/celatone-brand/illustration/states/search-empty.svg", + disconnected: + "https://assets.alleslabs.dev/celatone-brand/illustration/states/disconnected.svg", + overview: { + main: "https://assets.alleslabs.dev/celatone-brand/illustration/left.svg", + secondary: + "https://assets.alleslabs.dev/celatone-brand/illustration/right.svg", }, }, - voteParticipations: { - voted: "primary.main", - votedAbstain: "primary.darker", - didNotVote: "gray.700", + socialMedia: { + website: "https://celat.one/", + github: "https://github.com/alleslabs", + twitter: "https://twitter.com/celatone_", + medium: "https://blog.alleslabs.com/", + telegram: "https://t.me/celatone_announcements", }, +}; + +const DEFAULT_COMPONENT_CONFIG: ComponentConfig = { button: { primary: { background: "primary.main", @@ -144,14 +149,27 @@ export const DEFAULT_THEME: ThemeConfig = { activeBackground: "primary.background", }, }, - tag: { - signer: { - bg: "accent.darker", - color: "inherit", + proposalChip: { + depositPeriod: { + bg: "primary.background", }, - related: { + votingPeriod: { + bg: "primary.darker", + }, + failed: { + bg: "error.dark", + }, + rejected: { + bg: "error.dark", + }, + passed: { + bg: "success.dark", + }, + cancelled: { + bg: "error.background", + }, + depositFailed: { bg: "gray.700", - color: "text.main", }, }, stepper: { @@ -164,40 +182,24 @@ export const DEFAULT_THEME: ThemeConfig = { color: "background.main", }, }, - borderRadius: { - default: "8px", - iconButton: "36px", - viewButton: "0 0 8px 8px", - uploadButton: "50%", - tag: "full", - badge: "16px", - radio: "12px", - indicator: "2px", - stepper: "full", - }, - jsonTheme: "pastel_on_dark", - illustration: { - "404": - "https://assets.alleslabs.dev/celatone-brand/illustration/states/404.svg", - error: - "https://assets.alleslabs.dev/celatone-brand/illustration/states/error.svg", - searchNotFound: - "https://assets.alleslabs.dev/celatone-brand/illustration/states/search-not-found.svg", - searchEmpty: - "https://assets.alleslabs.dev/celatone-brand/illustration/states/search-empty.svg", - disconnected: - "https://assets.alleslabs.dev/celatone-brand/illustration/states/disconnected.svg", - overview: { - main: "https://assets.alleslabs.dev/celatone-brand/illustration/left.svg", - secondary: - "https://assets.alleslabs.dev/celatone-brand/illustration/right.svg", + tag: { + signer: { + bg: "accent.darker", + color: "text.main", + }, + related: { + bg: "gray.700", + color: "text.main", }, }, - socialMedia: { - website: "https://celat.one/", - github: "https://github.com/alleslabs", - twitter: "https://twitter.com/celatone_", - medium: "https://blog.alleslabs.com/", - telegram: "https://t.me/celatone_announcements", + voteParticipations: { + voted: "primary.main", + votedAbstain: "primary.darker", + didNotVote: "gray.700", }, }; + +export const DEFAULT_THEME = generateTheme( + DEFAULT_BASE_THEME, + DEFAULT_COMPONENT_CONFIG +); diff --git a/src/config/theme/initia.ts b/src/config/theme/initia.ts index 810d0462c..f7d987f0b 100644 --- a/src/config/theme/initia.ts +++ b/src/config/theme/initia.ts @@ -1,6 +1,7 @@ -import type { ThemeConfig } from "./types"; +import type { ComponentConfig, ThemeConfig } from "./types"; +import { generateTheme } from "./utils"; -export const INITIA_THEME: ThemeConfig = { +const INITIA_BASE_THEME: ThemeConfig = { branding: { logo: "https://assets.alleslabs.dev/integrations/initia/logo.png", favicon: "https://assets.alleslabs.dev/integrations/initia/favicon.svg", @@ -25,6 +26,10 @@ export const INITIA_THEME: ThemeConfig = { url: "https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700&display=swap", name: "Manrope, sans-serif", }, + mono: { + url: "/font/main.css", + name: "PP Neue Montreal Mono Regular", + }, }, colors: { error: { @@ -87,67 +92,81 @@ export const INITIA_THEME: ThemeConfig = { 900: "#151617", }, }, - tag: { - signer: { - bg: "primary.darker", - color: "text.main", + // borderRadius: { + // default: "4px", + // iconButton: "36px", + // viewButton: "0 0 8px 8px", + // uploadButton: "50%", + // tag: "full", + // badge: "16px", + // radio: "12px", + // indicator: "2px", + // stepper: "full", + // }, + jsonTheme: "monokai", + illustration: { + "404": + "https://assets.alleslabs.dev/integrations/initia/illustration/404.svg", + error: + "https://assets.alleslabs.dev/integrations/initia/illustration/error.svg", + searchNotFound: + "https://assets.alleslabs.dev/integrations/initia/illustration/search-not-found.svg", + searchEmpty: + "https://assets.alleslabs.dev/integrations/initia/illustration/search-empty.svg", + disconnected: + "https://assets.alleslabs.dev/integrations/initia/illustration/disconnected.svg", + overview: { + // Fill image url + main: "", }, - related: { - bg: "accent.darker", - color: "inherit", + }, + socialMedia: { + website: "https://initia.tech/", + github: "https://github.com/initia-labs", + twitter: "https://twitter.com/initiaFND", + }, +}; + +const INITIA_COMPONENT_CONFIG: ComponentConfig = { + button: { + primary: { + background: "gray.100", + color: "gray.900", + disabledBackground: "gray.500", + disabledColor: "gray.900", + hoverBackground: "gray.400", + activeBackground: "gray.400", + }, + outlinePrimary: { + borderColor: "primary.light", + color: "primary.light", + disabledBorderColor: "gray.700", + disabledColor: "gray.600", + hoverBackground: "primary.background", + activeBackground: "transparent", }, }, proposalChip: { depositPeriod: { bg: "secondary.darker", - color: "inherit", }, votingPeriod: { bg: "primary.dark", - color: "inherit", }, failed: { bg: "error.dark", - color: "inherit", }, rejected: { bg: "error.dark", - color: "inherit", }, passed: { bg: "success.dark", - color: "inherit", }, cancelled: { bg: "error.background", - color: "inherit", }, depositFailed: { bg: "gray.700", - color: "inherit", - }, - }, - voteParticipations: { - voted: "primary.main", - votedAbstain: "primary.darker", - didNotVote: "gray.700", - }, - button: { - primary: { - background: "gray.100", - color: "gray.900", - disabledBackground: "gray.500", - disabledColor: "gray.900", - hoverBackground: "gray.400", - activeBackground: "gray.400", - }, - outlinePrimary: { - borderColor: "primary.light", - color: "primary.light", - disabledBorderColor: "gray.700", - disabledColor: "gray.600", - hoverBackground: "primary.background", - activeBackground: "transparent", }, }, stepper: { @@ -160,37 +179,24 @@ export const INITIA_THEME: ThemeConfig = { color: "background.main", }, }, - borderRadius: { - default: "4px", - iconButton: "36px", - viewButton: "0 0 8px 8px", - uploadButton: "50%", - tag: "full", - badge: "16px", - radio: "12px", - indicator: "2px", - stepper: "full", - }, - jsonTheme: "monokai", - illustration: { - "404": - "https://assets.alleslabs.dev/integrations/initia/illustration/404.svg", - error: - "https://assets.alleslabs.dev/integrations/initia/illustration/error.svg", - searchNotFound: - "https://assets.alleslabs.dev/integrations/initia/illustration/search-not-found.svg", - searchEmpty: - "https://assets.alleslabs.dev/integrations/initia/illustration/search-empty.svg", - disconnected: - "https://assets.alleslabs.dev/integrations/initia/illustration/disconnected.svg", - overview: { - // Fill image url - main: "", + tag: { + signer: { + bg: "primary.darker", + color: "text.main", + }, + related: { + bg: "accent.darker", + color: "text.main", }, }, - socialMedia: { - website: "https://initia.tech/", - github: "https://github.com/initia-labs", - twitter: "https://twitter.com/initiaFND", + voteParticipations: { + voted: "primary.main", + votedAbstain: "primary.darker", + didNotVote: "gray.700", }, }; + +export const INITIA_THEME = generateTheme( + INITIA_BASE_THEME, + INITIA_COMPONENT_CONFIG +); diff --git a/src/config/theme/osmosis.ts b/src/config/theme/osmosis.ts index f339f05ac..dafdbb5d5 100644 --- a/src/config/theme/osmosis.ts +++ b/src/config/theme/osmosis.ts @@ -1,7 +1,8 @@ /* eslint-disable sonarjs/no-duplicate-string */ -import type { ThemeConfig } from "./types"; +import type { ComponentConfig, ThemeConfig } from "./types"; +import { generateTheme } from "./utils"; -export const OSMOSIS_THEME: ThemeConfig = { +const OSMOSIS_BASE_THEME: ThemeConfig = { branding: { logo: "https://assets.alleslabs.dev/integrations/osmosis/logo.svg", favicon: "https://assets.alleslabs.dev/integrations/osmosis/favicon.ico", @@ -27,6 +28,10 @@ export const OSMOSIS_THEME: ThemeConfig = { url: "https://fonts.googleapis.com/css2?family=Inter:wght@300..700&display=swap", name: "Inter, sans-serif", }, + mono: { + url: "/font/main.css", + name: "PP Neue Montreal Mono Regular", + }, }, colors: { error: { @@ -89,51 +94,93 @@ export const OSMOSIS_THEME: ThemeConfig = { overlay: "rgba(14, 9, 49, 0.7)", }, }, - tag: { - signer: { - bg: "accent.darker", - color: "inherit", + // borderRadius: { + // default: "8px", + // iconButton: "36px", + // viewButton: "0 0 8px 8px", + // uploadButton: "50%", + // tag: "full", + // badge: "16px", + // radio: "12px", + // indicator: "2px", + // stepper: "full", + // }, + jsonTheme: "pastel_on_dark", + illustration: { + "404": + "https://assets.alleslabs.dev/integrations/osmosis/illustration/404.svg", + error: + "https://assets.alleslabs.dev/integrations/osmosis/illustration/error.svg", + searchNotFound: + "https://assets.alleslabs.dev/integrations/osmosis/illustration/search-not-found.svg", + searchEmpty: + "https://assets.alleslabs.dev/integrations/osmosis/illustration/search-empty.svg", + disconnected: + "https://assets.alleslabs.dev/integrations/osmosis/illustration/disconnected.svg", + overview: { + // Fill image url + main: "", }, - related: { - bg: "primary.dark", - color: "text.main", + }, + footer: { + logo: "https://assets.alleslabs.dev/integrations/osmosis/logo.png", + description: + "A Smart Contract Explorer for Osmosis | Explore, deploy, execute, and query smart contracts on Osmosis from a user-friendly web UI", + iconStyle: "rounded", + }, + socialMedia: { + website: "https://osmosis.zone/", + github: "https://github.com/osmosis-labs/osmosis", + discord: "https://discord.com/invite/osmosis", + twitter: "https://twitter.com/osmosiszone", + medium: "https://medium.com/osmosis", + telegram: "https://t.me/osmosis_chat", + reddit: "https://www.reddit.com/r/OsmosisLab/", + }, +}; + +const OSMOSIS_COMPONENT_CONFIG: ComponentConfig = { + button: { + primary: { + background: "primary.main", + color: "gray.100", + disabledBackground: "primary.background", + disabledColor: "gray.600", + hoverBackground: "primary.dark", + activeBackground: "primary.light", + }, + outlinePrimary: { + borderColor: "primary.light", + color: "primary.light", + disabledBorderColor: "gray.700", + disabledColor: "gray.600", + hoverBackground: "primary.background", + activeBackground: "transparent", }, }, proposalChip: { depositPeriod: { bg: "primary.darker", - color: "inherit", }, votingPeriod: { bg: "primary.dark", - color: "inherit", }, failed: { bg: "error.dark", - color: "inherit", }, rejected: { bg: "error.dark", - color: "inherit", }, passed: { bg: "success.dark", - color: "inherit", }, cancelled: { bg: "error.background", - color: "inherit", }, depositFailed: { bg: "gray.700", - color: "inherit", }, }, - voteParticipations: { - voted: "primary.main", - votedAbstain: "primary.darker", - didNotVote: "gray.700", - }, stepper: { active: { bg: "primary.dark", @@ -144,65 +191,24 @@ export const OSMOSIS_THEME: ThemeConfig = { color: "background.main", }, }, - button: { - primary: { - background: "primary.main", - color: "gray.100", - disabledBackground: "primary.background", - disabledColor: "gray.600", - hoverBackground: "primary.dark", - activeBackground: "primary.light", - }, - outlinePrimary: { - borderColor: "primary.light", - color: "primary.light", - disabledBorderColor: "gray.700", - disabledColor: "gray.600", - hoverBackground: "primary.background", - activeBackground: "transparent", + tag: { + signer: { + bg: "accent.darker", + color: "text.main", }, - }, - borderRadius: { - default: "8px", - iconButton: "36px", - viewButton: "0 0 8px 8px", - uploadButton: "50%", - tag: "full", - badge: "16px", - radio: "12px", - indicator: "2px", - stepper: "full", - }, - jsonTheme: "pastel_on_dark", - illustration: { - "404": - "https://assets.alleslabs.dev/integrations/osmosis/illustration/404.svg", - error: - "https://assets.alleslabs.dev/integrations/osmosis/illustration/error.svg", - searchNotFound: - "https://assets.alleslabs.dev/integrations/osmosis/illustration/search-not-found.svg", - searchEmpty: - "https://assets.alleslabs.dev/integrations/osmosis/illustration/search-empty.svg", - disconnected: - "https://assets.alleslabs.dev/integrations/osmosis/illustration/disconnected.svg", - overview: { - // Fill image url - main: "", + related: { + bg: "primary.dark", + color: "text.main", }, }, - footer: { - logo: "https://assets.alleslabs.dev/integrations/osmosis/logo.png", - description: - "A Smart Contract Explorer for Osmosis | Explore, deploy, execute, and query smart contracts on Osmosis from a user-friendly web UI", - iconStyle: "rounded", - }, - socialMedia: { - website: "https://osmosis.zone/", - github: "https://github.com/osmosis-labs/osmosis", - discord: "https://discord.com/invite/osmosis", - twitter: "https://twitter.com/osmosiszone", - medium: "https://medium.com/osmosis", - telegram: "https://t.me/osmosis_chat", - reddit: "https://www.reddit.com/r/OsmosisLab/", + voteParticipations: { + voted: "primary.main", + votedAbstain: "primary.darker", + didNotVote: "gray.700", }, }; + +export const OSMOSIS_THEME = generateTheme( + OSMOSIS_BASE_THEME, + OSMOSIS_COMPONENT_CONFIG +); diff --git a/src/config/theme/sei.ts b/src/config/theme/sei.ts index 9b3cf9702..e37a76df1 100644 --- a/src/config/theme/sei.ts +++ b/src/config/theme/sei.ts @@ -1,7 +1,9 @@ /* eslint-disable sonarjs/no-duplicate-string */ -import type { ThemeConfig } from "config/theme/types"; +import type { ComponentConfig, ThemeConfig } from "config/theme/types"; -export const SEI_THEME: ThemeConfig = { +import { generateTheme } from "./utils"; + +const SEI_BASE_THEME: ThemeConfig = { branding: { logo: "https://assets.alleslabs.dev/integrations/sei/logo.svg", favicon: "https://assets.alleslabs.dev/integrations/sei/favicon.ico", @@ -26,6 +28,10 @@ export const SEI_THEME: ThemeConfig = { url: "https://fonts.cdnfonts.com/css/satoshi?styles=135009,135005,135007,135002,135000", name: "Satoshi, sans-serif", }, + mono: { + url: "/font/main.css", + name: "PP Neue Montreal Mono Regular", + }, }, colors: { error: { @@ -88,67 +94,88 @@ export const SEI_THEME: ThemeConfig = { 900: "#0C1C23", }, }, - tag: { - signer: { - bg: "accent.darker", - color: "inherit", + // borderRadius: { + // default: "8px", + // iconButton: "36px", + // viewButton: "0 0 8px 8px", + // uploadButton: "50%", + // tag: "full", + // badge: "16px", + // radio: "12px", + // indicator: "2px", + // stepper: "full", + // }, + jsonTheme: "one_dark", + illustration: { + "404": "https://assets.alleslabs.dev/integrations/sei/illustration/404.svg", + error: + "https://assets.alleslabs.dev/integrations/sei/illustration/error.svg", + searchNotFound: + "https://assets.alleslabs.dev/integrations/sei/illustration/search-not-found.svg", + searchEmpty: + "https://assets.alleslabs.dev/integrations/sei/illustration/search-empty.svg", + disconnected: + "https://assets.alleslabs.dev/integrations/sei/illustration/disconnected.svg", + overview: { + // Fill image url + main: "", }, - related: { - bg: "primary.dark", + }, + footer: { + logo: "https://www.sei.io/_next/static/media/logo-light.1249fa55.svg", + description: + "A Smart Contract Explorer for Sei | Explore, deploy, execute, and query smart contracts on Sei from a user-friendly web UI", + iconStyle: "rounded", + }, + socialMedia: { + website: "https://www.sei.io/", + github: "https://github.com/sei-protocol/sei-chain", + discord: "https://discord.com/invite/sei", + twitter: "https://twitter.com/SeiNetwork", + telegram: "https://t.me/seinetwork", + }, +}; + +const SEI_COMPONENT_CONFIG: ComponentConfig = { + button: { + primary: { + background: "primary.main", color: "gray.900", + disabledBackground: "primary.darker", + disabledColor: "gray.900", + hoverBackground: "primary.dark", + activeBackground: "primary.light", + }, + outlinePrimary: { + borderColor: "primary.darker", + color: "primary.main", + disabledBorderColor: "gray.700", + disabledColor: "gray.600", + hoverBackground: "primary.darker", + activeBackground: "primary.light", }, }, proposalChip: { depositPeriod: { bg: "accent.darker", - color: "inherit", }, votingPeriod: { bg: "accent.dark", - color: "inherit", }, failed: { bg: "error.dark", - color: "inherit", }, rejected: { bg: "error.dark", - color: "inherit", }, passed: { bg: "success.dark", - color: "inherit", }, cancelled: { bg: "error.background", - color: "inherit", }, depositFailed: { bg: "gray.700", - color: "inherit", - }, - }, - voteParticipations: { - voted: "accent.main", - votedAbstain: "accent.darker", - didNotVote: "gray.700", - }, - button: { - primary: { - background: "primary.main", - color: "gray.900", - disabledBackground: "primary.darker", - disabledColor: "gray.900", - hoverBackground: "primary.dark", - activeBackground: "primary.light", - }, - outlinePrimary: { - borderColor: "primary.darker", - color: "primary.main", - disabledBorderColor: "gray.700", - disabledColor: "gray.600", - hoverBackground: "primary.darker", - activeBackground: "primary.light", }, }, stepper: { @@ -161,44 +188,21 @@ export const SEI_THEME: ThemeConfig = { color: "background.main", }, }, - borderRadius: { - default: "8px", - iconButton: "36px", - viewButton: "0 0 8px 8px", - uploadButton: "50%", - tag: "full", - badge: "16px", - radio: "12px", - indicator: "2px", - stepper: "full", - }, - jsonTheme: "one_dark", - illustration: { - "404": "https://assets.alleslabs.dev/integrations/sei/illustration/404.svg", - error: - "https://assets.alleslabs.dev/integrations/sei/illustration/error.svg", - searchNotFound: - "https://assets.alleslabs.dev/integrations/sei/illustration/search-not-found.svg", - searchEmpty: - "https://assets.alleslabs.dev/integrations/sei/illustration/search-empty.svg", - disconnected: - "https://assets.alleslabs.dev/integrations/sei/illustration/disconnected.svg", - overview: { - // Fill image url - main: "", + tag: { + signer: { + bg: "accent.darker", + color: "text.main", + }, + related: { + bg: "primary.dark", + color: "gray.900", }, }, - footer: { - logo: "https://www.sei.io/_next/static/media/logo-light.1249fa55.svg", - description: - "A Smart Contract Explorer for Sei | Explore, deploy, execute, and query smart contracts on Sei from a user-friendly web UI", - iconStyle: "rounded", - }, - socialMedia: { - website: "https://www.sei.io/", - github: "https://github.com/sei-protocol/sei-chain", - discord: "https://discord.com/invite/sei", - twitter: "https://twitter.com/SeiNetwork", - telegram: "https://t.me/seinetwork", + voteParticipations: { + voted: "accent.main", + votedAbstain: "accent.darker", + didNotVote: "gray.700", }, }; + +export const SEI_THEME = generateTheme(SEI_BASE_THEME, SEI_COMPONENT_CONFIG); diff --git a/src/config/theme/types.ts b/src/config/theme/types.ts index f9eec4338..61d032196 100644 --- a/src/config/theme/types.ts +++ b/src/config/theme/types.ts @@ -22,7 +22,7 @@ export type ThemeConfig = { url: string; name: string; }; - link?: { + mono: { url: string; name: string; }; @@ -88,109 +88,105 @@ export type ThemeConfig = { background: string; }; }; - tag: { - signer: { - bg: string; + // borderRadius: { + // default: string; + // iconButton: string; + // viewButton: string; + // uploadButton: string; + // tag: string; + // badge: string; + // radio: string; + // indicator: string; + // stepper: string; + // }; + illustration: { + "404": string; + error: string; + searchNotFound: string; + searchEmpty: string; + disconnected: string; + overview: { + main: string; + secondary?: string; + }; + }; + jsonTheme: "monokai" | "one_dark" | "pastel_on_dark"; + footer?: { + logo: string; + description: string; + iconStyle: "rounded" | "regular"; + }; + socialMedia?: { + website?: string; + github?: string; + discord?: string; + twitter?: string; + medium?: string; + telegram?: string; + reddit?: string; + linkedin?: string; + }; +}; + +export type ComponentConfig = { + button: { + primary: { + background: string; color: string; + disabledBackground: string; + disabledColor: string; + hoverBackground: string; + activeBackground: string; }; - related: { - bg: string; + outlinePrimary: { + borderColor: string; color: string; + disabledBorderColor: string; + disabledColor: string; + hoverBackground: string; + activeBackground: string; }; }; - stepper: { - active: { bg: string; color: string }; - disabled: { bg: string; color: string }; - }; proposalChip: { depositPeriod: { bg: string; - color: string; }; votingPeriod: { bg: string; - color: string; }; failed: { bg: string; - color: string; }; rejected: { bg: string; - color: string; }; passed: { bg: string; - color: string; }; cancelled: { bg: string; - color: string; }; depositFailed: { bg: string; - color: string; }; }; - voteParticipations: { - voted: string; - votedAbstain: string; - didNotVote: string; + stepper: { + active: { bg: string; color: string }; + disabled: { bg: string; color: string }; }; - button: { - primary: { - background: string; + tag: { + signer: { + bg: string; color: string; - disabledBackground: string; - disabledColor: string; - hoverBackground: string; - activeBackground: string; }; - outlinePrimary: { - borderColor: string; + related: { + bg: string; color: string; - disabledBorderColor: string; - disabledColor: string; - hoverBackground: string; - activeBackground: string; - }; - }; - borderRadius: { - default: string; - iconButton: string; - viewButton: string; - uploadButton: string; - tag: string; - badge: string; - radio: string; - indicator: string; - stepper: string; - }; - illustration: { - "404": string; - error: string; - searchNotFound: string; - searchEmpty: string; - disconnected: string; - overview: { - main: string; - secondary?: string; }; }; - jsonTheme: "monokai" | "one_dark" | "pastel_on_dark"; - footer?: { - logo: string; - description: string; - iconStyle: "rounded" | "regular"; - }; - socialMedia?: { - website?: string; - github?: string; - discord?: string; - twitter?: string; - medium?: string; - telegram?: string; - reddit?: string; - linkedin?: string; + voteParticipations: { + voted: string; + votedAbstain: string; + didNotVote: string; }; }; diff --git a/src/config/theme/utils.ts b/src/config/theme/utils.ts new file mode 100644 index 000000000..ea153a85b --- /dev/null +++ b/src/config/theme/utils.ts @@ -0,0 +1,36 @@ +import type { ComponentConfig, ThemeConfig } from "./types"; + +const getColor = (obj: object, path: string[], fallback: string): string => { + if (path.length === 0 || !Object.prototype.hasOwnProperty.call(obj, path[0])) + return fallback; + + const value = obj[path[0] as keyof typeof obj]; + if (typeof value === "string") return value; + return getColor(value, path.slice(1), fallback); +}; + +const extractColors = (baseTheme: ThemeConfig["colors"], obj: object) => { + return Object.entries(obj).reduce( + (acc, [key, value]) => { + if (typeof value === "string") + acc[key] = getColor(baseTheme, value.split("."), value); + else acc[key] = extractColors(baseTheme, value); + return acc; + }, + {} as Record + ); +}; + +export const generateTheme = ( + baseTheme: ThemeConfig, + componentConfig: ComponentConfig +) => { + const { colors, ...rest } = baseTheme; + return { + ...rest, + colors: { + ...colors, + ...extractColors(colors, componentConfig), + }, + }; +}; diff --git a/src/lib/components/CopyLink.tsx b/src/lib/components/CopyLink.tsx index 95a5677eb..41a473826 100644 --- a/src/lib/components/CopyLink.tsx +++ b/src/lib/components/CopyLink.tsx @@ -2,7 +2,6 @@ import type { FlexProps, IconProps } from "@chakra-ui/react"; import { Flex, Text, useClipboard } from "@chakra-ui/react"; import { useEffect, useMemo, useState } from "react"; -import { CURR_THEME } from "env"; import { trackUseCopier } from "lib/amplitude"; import { useCurrentChain } from "lib/app-provider"; import { truncate } from "lib/utils"; @@ -78,7 +77,7 @@ export const CopyLink = ({ color="secondary.main" transition="all 0.25s ease-in-out" display="inline" - fontFamily={CURR_THEME.fonts.link?.name} + fontFamily="mono" > {value === address ? `${textValue} (Me)` : textValue} diff --git a/src/lib/components/ExplorerLink.tsx b/src/lib/components/ExplorerLink.tsx index dc82d212d..69c13cee7 100644 --- a/src/lib/components/ExplorerLink.tsx +++ b/src/lib/components/ExplorerLink.tsx @@ -1,7 +1,6 @@ import type { BoxProps, TextProps } from "@chakra-ui/react"; import { Box, Flex, Text } from "@chakra-ui/react"; -import { CURR_THEME } from "env"; import { trackMintScan } from "lib/amplitude"; import type { AddressReturnType } from "lib/app-provider"; import { useCelatoneApp } from "lib/app-provider/contexts"; @@ -122,7 +121,7 @@ const LinkRender = ({ const textElement = ( step ? ( ) : ( {step} diff --git a/src/lib/components/table/proposals/StatusChip.tsx b/src/lib/components/table/proposals/StatusChip.tsx index 152605f19..b5753e33b 100644 --- a/src/lib/components/table/proposals/StatusChip.tsx +++ b/src/lib/components/table/proposals/StatusChip.tsx @@ -1,7 +1,6 @@ import { Tag } from "@chakra-ui/react"; import type { CSSProperties } from "react"; -import { CURR_THEME } from "env"; import { CustomIcon } from "lib/components/icon"; import type { Proposal } from "lib/types"; import { ProposalStatus } from "lib/types"; @@ -11,20 +10,20 @@ const getBgColor = ( ): CSSProperties["backgroundColor"] => { switch (status) { case ProposalStatus.DEPOSIT_PERIOD: - return CURR_THEME.proposalChip.depositPeriod.bg; + return "proposalChip.depositPeriod.bg"; case ProposalStatus.VOTING_PERIOD: - return CURR_THEME.proposalChip.votingPeriod.bg; + return "proposalChip.votingPeriod.bg"; case ProposalStatus.FAILED: - return CURR_THEME.proposalChip.failed.bg; + return "proposalChip.failed.bg"; case ProposalStatus.REJECTED: - return CURR_THEME.proposalChip.rejected.bg; + return "proposalChip.rejected.bg"; case ProposalStatus.PASSED: - return CURR_THEME.proposalChip.passed.bg; + return "proposalChip.passed.bg"; case ProposalStatus.CANCELLED: - return CURR_THEME.proposalChip.cancelled.bg; + return "proposalChip.cancelled.bg"; case ProposalStatus.DEPOSIT_FAILED: default: - return CURR_THEME.proposalChip.depositFailed.bg; + return "proposalChip.depositFailed.bg"; } }; diff --git a/src/lib/components/table/transactions/RelationChip.tsx b/src/lib/components/table/transactions/RelationChip.tsx index 9b278b3eb..1b8aa6fe1 100644 --- a/src/lib/components/table/transactions/RelationChip.tsx +++ b/src/lib/components/table/transactions/RelationChip.tsx @@ -1,7 +1,6 @@ import { Tag } from "@chakra-ui/react"; import type { CSSProperties } from "react"; -import { CURR_THEME } from "env"; import { Tooltip } from "lib/components/Tooltip"; interface RelationChipProps { @@ -13,16 +12,14 @@ export const RelationChip = ({ isSigner }: RelationChipProps) => { ? "‘Signer’ or ‘The signing address’ is the account address that signs the transaction." : "‘Related’ or ‘The related address’ is related to the transaction, even if not signing it; e.g., as a recipient address."; const tagBgColor: CSSProperties["backgroundColor"] = isSigner - ? CURR_THEME.tag.signer.bg - : CURR_THEME.tag.related.bg; + ? "tag.signer.bg" + : "tag.related.bg"; return ( {isSigner ? "Signer" : "Related"} diff --git a/src/lib/layout/Searchbar.tsx b/src/lib/layout/Searchbar.tsx index 6a33aa27c..d7ead5afa 100644 --- a/src/lib/layout/Searchbar.tsx +++ b/src/lib/layout/Searchbar.tsx @@ -18,7 +18,6 @@ import { import { useCallback, useRef, useState } from "react"; import type { ChangeEvent, KeyboardEvent } from "react"; -import { CURR_THEME } from "env"; import { trackUseMainSearch } from "lib/amplitude"; import { useCelatoneApp, @@ -381,7 +380,7 @@ const Searchbar = () => { bg="background.main" p={5} justify="center" - borderRadius={CURR_THEME.borderRadius.default} + borderRadius="8px" > Your result will display here diff --git a/src/lib/pages/blocks/components/BlocksTableMobileCard.tsx b/src/lib/pages/blocks/components/BlocksTableMobileCard.tsx index 75bdc2193..66965d1f5 100644 --- a/src/lib/pages/blocks/components/BlocksTableMobileCard.tsx +++ b/src/lib/pages/blocks/components/BlocksTableMobileCard.tsx @@ -1,6 +1,5 @@ import { Flex, Text } from "@chakra-ui/react"; -import { CURR_THEME } from "env"; import { useInternalNavigate } from "lib/app-provider"; import { ExplorerLink } from "lib/components/ExplorerLink"; import { MobileCardTemplate, MobileLabel } from "lib/components/table"; @@ -40,11 +39,7 @@ export const BlocksTableMobileCard = ({ - + {truncate(blockData.hash.toUpperCase())} diff --git a/src/lib/pages/blocks/components/BlocksTableRow.tsx b/src/lib/pages/blocks/components/BlocksTableRow.tsx index 9c26e2532..bd57d58e9 100644 --- a/src/lib/pages/blocks/components/BlocksTableRow.tsx +++ b/src/lib/pages/blocks/components/BlocksTableRow.tsx @@ -1,7 +1,6 @@ import type { GridProps } from "@chakra-ui/react"; import { Flex, Grid, Text } from "@chakra-ui/react"; -import { CURR_THEME } from "env"; import { useInternalNavigate } from "lib/app-provider"; import { ExplorerLink } from "lib/components/ExplorerLink"; import { TableRow } from "lib/components/table"; @@ -46,7 +45,7 @@ export const BlocksTableRow = ({ - + {truncate( blockData.hash.toUpperCase(), hideProposer ? [9, 9] : [6, 6] diff --git a/src/lib/pages/proposal-details/components/VoteQuorumCircle.tsx b/src/lib/pages/proposal-details/components/VoteQuorumCircle.tsx index 614473f1d..c58746cc3 100644 --- a/src/lib/pages/proposal-details/components/VoteQuorumCircle.tsx +++ b/src/lib/pages/proposal-details/components/VoteQuorumCircle.tsx @@ -1,7 +1,6 @@ import { Circle, Heading, Text } from "@chakra-ui/react"; import type Big from "big.js"; -import { CURR_THEME } from "env"; import { formatPrettyPercent } from "lib/utils"; interface VoteQuorumCircleProps { @@ -31,7 +30,7 @@ export const VoteQuorumCircle = ({ {formatPrettyPercent(nonAbstainVotes.toNumber())} Vote @@ -66,7 +65,7 @@ export const VotingOverviewQuorum = ({ {formatPrettyPercent(abstain.toNumber())} Vote Abstain diff --git a/src/lib/pages/proposal-details/components/proposal-stepper/StepIcon.tsx b/src/lib/pages/proposal-details/components/proposal-stepper/StepIcon.tsx index 9e65f8bac..01956d847 100644 --- a/src/lib/pages/proposal-details/components/proposal-stepper/StepIcon.tsx +++ b/src/lib/pages/proposal-details/components/proposal-stepper/StepIcon.tsx @@ -1,7 +1,6 @@ import { Flex, Text } from "@chakra-ui/react"; import { isNull } from "lodash"; -import { CURR_THEME } from "env"; import { CustomIcon } from "lib/components/icon"; import { PeriodState } from "lib/pages/proposal-details/types"; import type { ProposalData } from "lib/types"; @@ -49,19 +48,13 @@ export const StepIcon = ({ step, proposalData }: ProposalStepperProps) => { borderRadius="50%" alignItems="center" justifyContent="center" - background={ - isGray ? CURR_THEME.stepper.disabled.bg : CURR_THEME.stepper.active.bg - } + background={isGray ? "stepper.disabled.bg" : "stepper.active.bg"} > {state !== PeriodState.COMPLETE ? ( {step} @@ -69,11 +62,7 @@ export const StepIcon = ({ step, proposalData }: ProposalStepperProps) => { )} diff --git a/src/lib/pages/proposal-details/components/vote-details/voting-period/VotingQuorum.tsx b/src/lib/pages/proposal-details/components/vote-details/voting-period/VotingQuorum.tsx index 99ddc556c..dec928dae 100644 --- a/src/lib/pages/proposal-details/components/vote-details/voting-period/VotingQuorum.tsx +++ b/src/lib/pages/proposal-details/components/vote-details/voting-period/VotingQuorum.tsx @@ -6,7 +6,6 @@ import { VoteQuorumBadge } from "../../VoteQuorumBadge"; import { VoteQuorumCircle } from "../../VoteQuorumCircle"; import { VoteQuorumText } from "../../VoteQuorumText"; import { VpPercentCard } from "../../VpPercentCard"; -import { CURR_THEME } from "env"; import { useMobile } from "lib/app-provider"; import { Loading } from "lib/components/Loading"; import { @@ -92,14 +91,14 @@ export const VotingQuorum = ({ name="Voted" ratio={nonAbstainVotes} power={votes} - color={CURR_THEME.voteParticipations.voted} + color="voteParticipations.voted" isCompact={isMobile} /> diff --git a/src/lib/styles/theme/components/button.ts b/src/lib/styles/theme/components/button.ts index e56b6c7a1..5bf6a535a 100644 --- a/src/lib/styles/theme/components/button.ts +++ b/src/lib/styles/theme/components/button.ts @@ -1,8 +1,6 @@ import type { ComponentStyleConfig } from "@chakra-ui/react"; import { defineStyle } from "@chakra-ui/react"; -import { CURR_THEME } from "env"; - const gray400 = "gray.400"; const gray500 = "gray.500"; const gray600 = "gray.600"; @@ -19,6 +17,7 @@ const backgroundMain = "background.main"; const borderDefault = "1px solid"; const errorDark = "error.dark"; const secondaryBg = "secondary.background"; +const buttonOutlinePrimaryColor = "button.outlinePrimary.color"; const generateStyle = ({ basic, @@ -77,21 +76,21 @@ export const Button: ComponentStyleConfig = { variants: { primary: generateStyle({ basic: { - background: CURR_THEME.button.primary.background, - color: CURR_THEME.button.primary.color, + background: "button.primary.background", + color: "button.primary.color", "& span": { - color: CURR_THEME.button.primary.color, + color: "button.primary.color", }, }, disabled: { - background: CURR_THEME.button.primary.disabledBackground, - color: CURR_THEME.button.primary.disabledColor, + background: "button.primary.disabledBackground", + color: "button.primary.disabledColor", "& span": { - color: CURR_THEME.button.primary.disabledColor, + color: "button.primary.disabledColor", }, }, - hoverBg: CURR_THEME.button.primary.hoverBackground, - activeBg: CURR_THEME.button.primary.activeBackground, + hoverBg: "button.primary.hoverBackground", + activeBg: "button.primary.activeBackground", }), "gray-solid": generateStyle({ basic: { @@ -117,28 +116,28 @@ export const Button: ComponentStyleConfig = { "outline-primary": generateStyle({ basic: { border: borderDefault, - borderColor: CURR_THEME.button.outlinePrimary.borderColor, - color: CURR_THEME.button.outlinePrimary.color, + borderColor: "button.outlinePrimary.borderColor", + color: buttonOutlinePrimaryColor, "> div": { - color: CURR_THEME.button.outlinePrimary.color, + color: buttonOutlinePrimaryColor, }, "& span": { - color: CURR_THEME.button.outlinePrimary.color, + color: buttonOutlinePrimaryColor, }, "> svg": { - color: CURR_THEME.button.outlinePrimary.color, + color: buttonOutlinePrimaryColor, }, }, disabled: { border: borderDefault, - borderColor: CURR_THEME.button.outlinePrimary.disabledBorderColor, - color: CURR_THEME.button.outlinePrimary.disabledColor, + borderColor: "button.outlinePrimary.disabledBorderColor", + color: "button.outlinePrimary.disabledColor", "& span": { - color: CURR_THEME.button.outlinePrimary.disabledColor, + color: "button.outlinePrimary.disabledColor", }, }, - hoverBg: CURR_THEME.button.outlinePrimary.hoverBackground, - activeBg: CURR_THEME.button.outlinePrimary.activeBackground, + hoverBg: "button.outlinePrimary.hoverBackground", + activeBg: "button.outlinePrimary.activeBackground", }), "outline-gray": generateStyle({ basic: { diff --git a/src/lib/styles/theme/fonts.ts b/src/lib/styles/theme/fonts.ts index e4ba924b4..965ae069b 100644 --- a/src/lib/styles/theme/fonts.ts +++ b/src/lib/styles/theme/fonts.ts @@ -3,6 +3,7 @@ import type { DeepPartial, Theme } from "@chakra-ui/react"; import { CURR_THEME } from "env"; export const fonts: DeepPartial = { - body: CURR_THEME.fonts.body.name, heading: CURR_THEME.fonts.heading.name, + body: CURR_THEME.fonts.body.name, + mono: CURR_THEME.fonts.mono.name, }; diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index 84973d111..5749e4943 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -18,9 +18,7 @@ class MyDocument extends Document { - {CURR_THEME.fonts.link && ( - - )} + From 3002a7d0c6a12349121e4d309560a598cad65e26 Mon Sep 17 00:00:00 2001 From: songwongtp <16089160+songwongtp@users.noreply.github.com> Date: Fri, 15 Mar 2024 11:36:54 +0700 Subject: [PATCH 11/14] fix: use color var --- src/lib/icon/NAToken.tsx | 6 ++---- src/lib/icon/pools/BalancerPoolIcon.tsx | 8 +++----- src/lib/icon/pools/CosmWasmPoolIcon.tsx | 6 ++---- 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/lib/icon/NAToken.tsx b/src/lib/icon/NAToken.tsx index 8f6d6b6ce..683472b4d 100644 --- a/src/lib/icon/NAToken.tsx +++ b/src/lib/icon/NAToken.tsx @@ -1,18 +1,16 @@ import { Icon } from "@chakra-ui/react"; import type { IconProps } from "@chakra-ui/react"; -import { CURR_THEME } from "env"; - export const NAToken = (props: IconProps) => ( diff --git a/src/lib/icon/pools/BalancerPoolIcon.tsx b/src/lib/icon/pools/BalancerPoolIcon.tsx index 555ebf30c..a39463e32 100644 --- a/src/lib/icon/pools/BalancerPoolIcon.tsx +++ b/src/lib/icon/pools/BalancerPoolIcon.tsx @@ -1,21 +1,19 @@ import { Icon } from "@chakra-ui/react"; import type { IconProps } from "@chakra-ui/react"; -import { CURR_THEME } from "env"; - export const BalancerPoolIcon = (props: IconProps) => ( ); diff --git a/src/lib/icon/pools/CosmWasmPoolIcon.tsx b/src/lib/icon/pools/CosmWasmPoolIcon.tsx index 8c7a6bdbe..eb9c894e3 100644 --- a/src/lib/icon/pools/CosmWasmPoolIcon.tsx +++ b/src/lib/icon/pools/CosmWasmPoolIcon.tsx @@ -1,21 +1,19 @@ import { Icon } from "@chakra-ui/react"; import type { IconProps } from "@chakra-ui/react"; -import { CURR_THEME } from "env"; - export const CosmWasmPoolIcon = (props: IconProps) => ( ); From 19907d7b77eaadcf269b9f0bf6b8570022216ae8 Mon Sep 17 00:00:00 2001 From: songwongtp <16089160+songwongtp@users.noreply.github.com> Date: Mon, 18 Mar 2024 17:35:29 +0700 Subject: [PATCH 12/14] fix: comments --- src/config/theme/default.ts | 11 ----------- src/config/theme/initia.ts | 11 ----------- src/config/theme/osmosis.ts | 11 ----------- src/config/theme/sei.ts | 11 ----------- src/config/theme/types.ts | 11 ----------- src/lib/components/modal/code/SaveNewCode.tsx | 2 +- 6 files changed, 1 insertion(+), 56 deletions(-) diff --git a/src/config/theme/default.ts b/src/config/theme/default.ts index 28d408b2c..1b421c2be 100644 --- a/src/config/theme/default.ts +++ b/src/config/theme/default.ts @@ -92,17 +92,6 @@ const DEFAULT_BASE_THEME: ThemeConfig = { background: "#523600", }, }, - // borderRadius: { - // default: "8px", - // iconButton: "36px", - // viewButton: "0 0 8px 8px", - // uploadButton: "50%", - // tag: "full", - // badge: "16px", - // radio: "12px", - // indicator: "2px", - // stepper: "full", - // }, jsonTheme: "pastel_on_dark", illustration: { "404": diff --git a/src/config/theme/initia.ts b/src/config/theme/initia.ts index f7d987f0b..2e28cbbf0 100644 --- a/src/config/theme/initia.ts +++ b/src/config/theme/initia.ts @@ -92,17 +92,6 @@ const INITIA_BASE_THEME: ThemeConfig = { 900: "#151617", }, }, - // borderRadius: { - // default: "4px", - // iconButton: "36px", - // viewButton: "0 0 8px 8px", - // uploadButton: "50%", - // tag: "full", - // badge: "16px", - // radio: "12px", - // indicator: "2px", - // stepper: "full", - // }, jsonTheme: "monokai", illustration: { "404": diff --git a/src/config/theme/osmosis.ts b/src/config/theme/osmosis.ts index dafdbb5d5..72813eeb9 100644 --- a/src/config/theme/osmosis.ts +++ b/src/config/theme/osmosis.ts @@ -94,17 +94,6 @@ const OSMOSIS_BASE_THEME: ThemeConfig = { overlay: "rgba(14, 9, 49, 0.7)", }, }, - // borderRadius: { - // default: "8px", - // iconButton: "36px", - // viewButton: "0 0 8px 8px", - // uploadButton: "50%", - // tag: "full", - // badge: "16px", - // radio: "12px", - // indicator: "2px", - // stepper: "full", - // }, jsonTheme: "pastel_on_dark", illustration: { "404": diff --git a/src/config/theme/sei.ts b/src/config/theme/sei.ts index e37a76df1..bfb5af33d 100644 --- a/src/config/theme/sei.ts +++ b/src/config/theme/sei.ts @@ -94,17 +94,6 @@ const SEI_BASE_THEME: ThemeConfig = { 900: "#0C1C23", }, }, - // borderRadius: { - // default: "8px", - // iconButton: "36px", - // viewButton: "0 0 8px 8px", - // uploadButton: "50%", - // tag: "full", - // badge: "16px", - // radio: "12px", - // indicator: "2px", - // stepper: "full", - // }, jsonTheme: "one_dark", illustration: { "404": "https://assets.alleslabs.dev/integrations/sei/illustration/404.svg", diff --git a/src/config/theme/types.ts b/src/config/theme/types.ts index 61d032196..43829cb82 100644 --- a/src/config/theme/types.ts +++ b/src/config/theme/types.ts @@ -88,17 +88,6 @@ export type ThemeConfig = { background: string; }; }; - // borderRadius: { - // default: string; - // iconButton: string; - // viewButton: string; - // uploadButton: string; - // tag: string; - // badge: string; - // radio: string; - // indicator: string; - // stepper: string; - // }; illustration: { "404": string; error: string; diff --git a/src/lib/components/modal/code/SaveNewCode.tsx b/src/lib/components/modal/code/SaveNewCode.tsx index 33e1103de..42862ca7f 100644 --- a/src/lib/components/modal/code/SaveNewCode.tsx +++ b/src/lib/components/modal/code/SaveNewCode.tsx @@ -105,7 +105,7 @@ export function SaveNewCodeModal({ buttonProps }: SaveNewCodeModalProps) { duration: 5000, isClosable: false, position: "bottom-right", - icon: , + icon: , }); reset(); From fea62abf4c59d8bc02da37c0d45aa6aec00af97b Mon Sep 17 00:00:00 2001 From: songwongtp <16089160+songwongtp@users.noreply.github.com> Date: Thu, 4 Apr 2024 14:08:08 +0700 Subject: [PATCH 13/14] fix: overview --- src/lib/pages/home/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/pages/home/index.tsx b/src/lib/pages/home/index.tsx index 357e21eaf..e02dffe19 100644 --- a/src/lib/pages/home/index.tsx +++ b/src/lib/pages/home/index.tsx @@ -83,7 +83,7 @@ const Home = () => { zIndex={1} > - + {prettyName} {" "} Overview From 612e400e52ab624afe878b8e2c495cfb4cb4eb87 Mon Sep 17 00:00:00 2001 From: songwongtp <16089160+songwongtp@users.noreply.github.com> Date: Wed, 8 May 2024 11:58:30 +0700 Subject: [PATCH 14/14] fix: validator image --- src/lib/services/validator.ts | 6 +++--- src/lib/services/validatorService.ts | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lib/services/validator.ts b/src/lib/services/validator.ts index c0fdc5e33..b61764ed8 100644 --- a/src/lib/services/validator.ts +++ b/src/lib/services/validator.ts @@ -2,7 +2,6 @@ import type { Coin } from "@cosmjs/stargate"; import axios from "axios"; import { z } from "zod"; -import { CURR_THEME } from "env"; import type { Option, StakingShare, Validator, ValidatorAddr } from "lib/types"; import { BlockVote, @@ -70,13 +69,14 @@ export const getValidator = async ( export const resolveValIdentity = async ( chainName: string, - validator: Validator + validator: Validator, + bgColor: string ): Promise => { const githubUrl = `https://raw.githubusercontent.com/cosmostation/chainlist/master/chain/${chainName}/moniker/${validator.validatorAddress}.png`; const keybaseUrl = `https://keybase.io/_/api/1.0/user/lookup.json?key_suffix=${validator.identity}&fields=pictures`; const uiAvatarsUrl = `https://ui-avatars.com/api/?name=${removeSpecialChars( validator.moniker ?? "" - )}&background=${CURR_THEME.colors.secondary.main.replace("#", "")}&color=fff`; + )}&background=${bgColor.replace("#", "")}&color=fff`; return ( axios diff --git a/src/lib/services/validatorService.ts b/src/lib/services/validatorService.ts index e81c0d9fd..e7bd7db9e 100644 --- a/src/lib/services/validatorService.ts +++ b/src/lib/services/validatorService.ts @@ -1,3 +1,4 @@ +import { useToken } from "@chakra-ui/react"; import type { QueryFunctionContext, UseQueryOptions, @@ -73,6 +74,7 @@ export const useValidatorImage = ( const { chain: { chain_name: chainName }, } = useCurrentChain(); + const [secondaryMain] = useToken("colors", ["secondary.main"]); return useQuery({ queryKey: [ @@ -84,7 +86,7 @@ export const useValidatorImage = ( ], queryFn: async () => { if (!validator) return Promise.resolve(""); - return resolveValIdentity(chainName, validator); + return resolveValIdentity(chainName, validator, secondaryMain); }, retry: false, refetchOnWindowFocus: false,