Skip to content

Commit cf34631

Browse files
authored
Merge pull request #1887 from IndexCoop/feat/complete-chakra-refactor
feat: complete chakra refactor
2 parents b75670d + 001f345 commit cf34631

File tree

23 files changed

+236
-1957
lines changed

23 files changed

+236
-1957
lines changed

package-lock.json

Lines changed: 0 additions & 1553 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
},
2020
"dependencies": {
2121
"@0xarc-io/analytics": "2.2.3",
22-
"@chakra-ui/next-js": "^2.2.0",
23-
"@chakra-ui/react": "2.8.2",
2422
"@emotion/react": "^11.11.0",
2523
"@emotion/styled": "^11.11.0",
2624
"@floating-ui/react": "0.26.25",
Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import { Flex } from '@chakra-ui/react'
21
import { ChevronDownIcon } from '@heroicons/react/20/solid'
32
import Image from 'next/image'
43

5-
import { colors } from '@/lib/styles/colors'
4+
import { cn } from '@/lib/utils/tailwind'
65

76
type SelectorProps = {
87
onClick: () => void
@@ -19,21 +18,17 @@ export const SelectorButton = ({
1918
showChevron,
2019
visible = true,
2120
}: SelectorProps) => (
22-
<Flex
23-
align='center'
24-
bg={colors.ic.gray[100]}
25-
borderRadius='32'
26-
cursor='pointer'
21+
<div
22+
className={cn(
23+
'bg-ic-gray-100 flex h-11 shrink-0 cursor-pointer items-center rounded-[32px] p-2.5',
24+
visible ? 'visible' : 'invisible',
25+
)}
2726
onClick={onClick}
28-
p='10px'
29-
h='44px'
30-
shrink={0}
31-
visibility={visible ? 'visible' : 'hidden'}
3227
>
3328
<Image alt={`${symbol} logo`} src={image} width={20} height={20} />
3429
<p className='text-ic-black mx-2 text-sm font-medium'>{symbol}</p>
3530
{showChevron !== false && (
3631
<ChevronDownIcon className='text-ic-gray-900 size-6' />
3732
)}
38-
</Flex>
33+
</div>
3934
)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export const StatBox = ({ label, value }: { label: string; value: string }) => (
22
<div className='w-[calc(50%-8px)] space-y-9 rounded-lg border border-neutral-700 p-4 transition-all hover:bg-zinc-800/90'>
33
<p className='text-xs font-medium text-neutral-400'>{label}</p>
4-
<p className='text-xl font-medium'>{value}</p>
4+
<p className='text-xl font-medium text-neutral-50'>{value}</p>
55
</div>
66
)

src/app/earn/page.tsx

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
'use client'
22

3-
import { useColorMode } from '@chakra-ui/react'
43
import { ArrowPathIcon } from '@heroicons/react/20/solid'
54
import { AnimatePresence } from 'framer-motion'
65
import { useEffect } from 'react'
@@ -12,20 +11,6 @@ import { useEarnContext } from './provider'
1211
export default function Page() {
1312
const { products, balances } = useEarnContext()
1413

15-
const { colorMode, toggleColorMode } = useColorMode()
16-
17-
useEffect(() => {
18-
if (colorMode === 'light') {
19-
toggleColorMode()
20-
}
21-
22-
return () => {
23-
if (colorMode === 'dark') {
24-
toggleColorMode()
25-
}
26-
}
27-
}, [colorMode, toggleColorMode])
28-
2914
useEffect(() => {
3015
document.body.classList.add('dark', 'bg-ic-black')
3116
return () => {

src/app/earn/product/[address]/page.tsx

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
'use client'
22

3-
import { useColorMode } from '@chakra-ui/react'
43
import { ArrowPathIcon } from '@heroicons/react/20/solid'
54
import { getTokenByChainAndAddress } from '@indexcoop/tokenlists'
65
import { AnimatePresence, motion } from 'framer-motion'
@@ -17,7 +16,6 @@ import { formatAmount, formatDollarAmount } from '@/lib/utils'
1716
export default function Page() {
1817
const { address: queryProductAddress } = useParams()
1918
const { products, onSelectIndexToken } = useEarnContext()
20-
const { colorMode, toggleColorMode } = useColorMode()
2119

2220
const selectedProduct = products.find(
2321
(p) => p.tokenAddress === queryProductAddress,
@@ -34,18 +32,6 @@ export default function Page() {
3432
}
3533
}, [selectedProduct, onSelectIndexToken])
3634

37-
useEffect(() => {
38-
if (colorMode === 'light') {
39-
toggleColorMode()
40-
}
41-
42-
return () => {
43-
if (colorMode === 'dark') {
44-
toggleColorMode()
45-
}
46-
}
47-
}, [colorMode, toggleColorMode])
48-
4935
useEffect(() => {
5036
document.body.classList.add('dark', 'bg-ic-black')
5137
return () => {
@@ -61,7 +47,7 @@ export default function Page() {
6147
<motion.div className='flex w-full flex-wrap gap-6 rounded-3xl border border-gray-600 border-opacity-[0.8] bg-zinc-900 p-6 md:flex-nowrap'>
6248
<div className='flex w-full flex-col gap-8'>
6349
<div className='flex flex-col gap-6'>
64-
<h3 className='text-xl font-medium'>
50+
<h3 className='text-xl font-medium text-neutral-50'>
6551
{selectedProduct.name}
6652
</h3>
6753
<p className='text-xs font-medium leading-5 text-neutral-400'>

src/app/globals.css

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@
44
@tailwind components;
55
@tailwind utilities;
66

7+
@layer base {
8+
input[type='number']::-webkit-outer-spin-button,
9+
input[type='number']::-webkit-inner-spin-button,
10+
input[type='number'] {
11+
-webkit-appearance: none;
12+
margin: 0;
13+
-moz-appearance: textfield !important;
14+
}
15+
}
16+
717
html,
818
body,
919
:root {
@@ -127,3 +137,21 @@ body,
127137
background-attachment: fixed;
128138
filter: blur(20px) opacity(20%) saturate(100%);
129139
}
140+
141+
.swap-widget {
142+
background:
143+
linear-gradient(
144+
33deg,
145+
rgba(0, 189, 192, 0.05) -9.23%,
146+
rgba(0, 249, 228, 0.05) 48.82%,
147+
rgba(212, 0, 216, 0.05) 131.54%
148+
),
149+
linear-gradient(
150+
187deg,
151+
rgb(252, 255, 255) -184.07%,
152+
rgb(247, 248, 248) 171.05%
153+
);
154+
box-shadow:
155+
rgba(44, 51, 51, 0.25) 0.5px 1px 2px 0px,
156+
rgb(252, 255, 255) 2px 2px 1px 0px inset;
157+
}

src/app/leverage/page.tsx

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,12 @@
11
'use client'
22

3-
import { useColorMode } from '@chakra-ui/react'
43
import { useEffect } from 'react'
54

65
import { LeveragePanel } from '@/app/leverage/components/leverage-panel'
76

87
import { FaqSection } from './components/faq-section'
98

109
export default function Page() {
11-
const { colorMode, toggleColorMode } = useColorMode()
12-
13-
useEffect(() => {
14-
if (colorMode === 'light') {
15-
toggleColorMode()
16-
}
17-
18-
return () => {
19-
if (colorMode === 'dark') {
20-
toggleColorMode()
21-
}
22-
}
23-
}, [colorMode, toggleColorMode])
24-
2510
useEffect(() => {
2611
document.body.classList.add('dark', 'bg-zinc-950')
2712
return () => {

src/app/providers.tsx

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
'use client'
22

3-
import { CacheProvider } from '@chakra-ui/next-js'
4-
import { ChakraProvider, ColorModeScript } from '@chakra-ui/react'
53
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
64
import { WagmiProvider } from 'wagmi'
75

86
import { useInitialize } from '@/lib/hooks/use-initialize'
97
import { ProtectionProvider } from '@/lib/providers/protection'
10-
import theme from '@/lib/styles/theme'
118
import { initAppkit, wagmiAdapter } from '@/lib/utils/wagmi'
129

1310
import '@/lib/styles/fonts'
@@ -21,17 +18,12 @@ export function Providers({ children }: { children: React.ReactNode }) {
2118
useInitialize()
2219

2320
return (
24-
<CacheProvider prepend={true}>
25-
<ChakraProvider theme={theme}>
26-
<ColorModeScript initialColorMode={theme.config.initialColorMode} />
27-
<WagmiProvider config={wagmiAdapter.wagmiConfig}>
28-
<QueryClientProvider client={queryClient}>
29-
<AnalyticsProvider>
30-
<ProtectionProvider>{children}</ProtectionProvider>
31-
</AnalyticsProvider>
32-
</QueryClientProvider>
33-
</WagmiProvider>
34-
</ChakraProvider>
35-
</CacheProvider>
21+
<WagmiProvider config={wagmiAdapter.wagmiConfig}>
22+
<QueryClientProvider client={queryClient}>
23+
<AnalyticsProvider>
24+
<ProtectionProvider>{children}</ProtectionProvider>
25+
</AnalyticsProvider>
26+
</QueryClientProvider>
27+
</WagmiProvider>
3628
)
3729
}

src/app/swap/[[...path]]/page.tsx

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,19 @@
11
'use client'
22

3-
import { Flex } from '@chakra-ui/react'
4-
53
import { Swap } from '@/components/swap'
64
import { useSelectedToken } from '@/lib/providers/selected-token-provider'
75

86
export default function SwapPage() {
97
const { inputToken, isMinting, outputToken } = useSelectedToken()
108
return (
11-
<Flex
12-
direction={['column', 'column', 'column', 'row']}
13-
mx='auto'
14-
height='inherit'
15-
>
16-
<Flex
17-
className='flex-col gap-8'
18-
mb={[4, 4, 4, 12]}
19-
mr={4}
20-
w={['inherit', '500px']}
21-
>
9+
<div className='mx-auto flex h-full flex-col lg:flex-row'>
10+
<div className='mb-4 mr-1 flex w-full max-w-lg flex-col gap-8 lg:mb-3'>
2211
<Swap
2312
isBuying={isMinting}
2413
inputToken={inputToken}
2514
outputToken={outputToken}
2615
/>
27-
</Flex>
28-
</Flex>
16+
</div>
17+
</div>
2918
)
3019
}

0 commit comments

Comments
 (0)