Skip to content

Commit 9cf58ca

Browse files
authored
Merge pull request #11174 from ethereum/find-wallet-remove-scroling
Find wallet > remove all the scrolls > quick fix
2 parents bf62e40 + b1d2ac8 commit 9cf58ca

File tree

9 files changed

+268
-293
lines changed

9 files changed

+268
-293
lines changed

src/components/FindWallet/WalletFilterSidebar/WalletFilterFeature/index.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ const WalletFilterFeature: React.FC<WalletFilterFeatureProps> = ({
5656
}) => {
5757
const { filterOptions, setShowOptions } = useWalletFilterFeature(restProps)
5858

59-
const filterPanelBg = useColorModeValue("primary100", "black400")
59+
const filterPanelBg = useColorModeValue("chakra-subtle-bg", "black400")
6060
return (
6161
<Accordion
6262
as={VStack}
@@ -85,23 +85,30 @@ const WalletFilterFeature: React.FC<WalletFilterFeatureProps> = ({
8585
color="primary.base"
8686
borderBottom={isExpanded ? "1px" : "none"}
8787
borderColor="currentColor"
88-
fontSize="2xl"
88+
fontSize="lg"
8989
fontWeight={600}
9090
lineHeight={1.4}
91-
pb={isExpanded ? 3 : 0}
91+
py={1}
9292
px={4}
93+
borderRadius={1}
94+
_hover={{ color: "primary.hover" }}
9395
>
9496
<AccordionButton
9597
color="inherit"
9698
fontWeight="inherit"
9799
fontSize="inherit"
98100
p={0}
99101
textAlign="initial"
102+
_hover={{ background: "transparent" }}
100103
>
101104
<Box as="span" flex={1}>
102105
{filterOption.title}
103106
</Box>
104-
<AccordionIcon color="primary.base" boxSize={9} />
107+
<AccordionIcon
108+
color="primary.base"
109+
boxSize={9}
110+
_hover={{ color: "primary.hover" }}
111+
/>
105112
</AccordionButton>
106113
</Heading>
107114
<AccordionPanel as={List} p={0} m={0}>

src/components/FindWallet/WalletFilterSidebar/WalletFilterProfile/index.tsx

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ const WalletFilterProfile = ({
3030

3131
const getContainerBg = (idx: number) =>
3232
useColorModeValue(
33-
selectedPersona === idx ? "primary200" : "primary100",
33+
selectedPersona === idx ? "primary100" : "chakra-subtle-bg",
3434
selectedPersona === idx ? "primary900" : "black400"
3535
)
3636
const getContainerHoverBg = (idx: number) =>
3737
useColorModeValue(
38-
"primary200",
38+
"primary100",
3939
selectedPersona === idx ? "primary900" : "black500"
4040
)
4141

@@ -86,7 +86,7 @@ const WalletFilterProfile = ({
8686
}
8787
}}
8888
>
89-
<Flex alignItems="center" gap={2} mb="0.6rem" pt={2} pb={0} px={2}>
89+
<Flex alignItems="center" gap={2} mb="0.2rem" pt={0} pb={0} px={2}>
9090
<Box
9191
boxSize="1.3rem"
9292
role="checkbox"
@@ -95,7 +95,7 @@ const WalletFilterProfile = ({
9595
<Icon
9696
as={MdCircle}
9797
borderRadius="full"
98-
boxSize={4}
98+
boxSize={3}
9999
my={0}
100100
mx={1}
101101
fill={
@@ -110,46 +110,45 @@ const WalletFilterProfile = ({
110110
}
111111
outline="1.5px solid"
112112
outlineColor={
113-
selectedPersona === idx ? "primary.base" : "text"
113+
selectedPersona === idx ? "primary.base" : "primary.base"
114114
}
115115
outlineOffset="3px"
116116
fontSize={8}
117117
/>
118118
</Box>
119119
<Heading
120120
as="h3"
121-
ml={2}
122-
fontSize="1.3rem"
121+
ml={0}
122+
fontSize="1.2rem"
123123
py={0}
124124
pr={1}
125125
pl={0}
126126
lineHeight="1.7rem"
127-
color="text"
127+
color="primary.base"
128128
>
129129
{persona.title}
130130
</Heading>
131131
</Flex>
132132
<Box
133133
as="span"
134-
m="0.5rem 0 0.8rem 0"
135-
p="0.7rem 0.6rem 0"
134+
m="0.8rem 0 0.8rem 0"
135+
p="0.8rem 0.6rem 0"
136136
color={selectedPersona === idx ? "text" : "text200"}
137137
fontSize="0.9rem"
138138
fontWeight="normal"
139139
transition="0.5s all"
140140
lineHeight={1.3}
141141
borderTop="1px solid"
142-
borderTopColor="lightBorder"
142+
borderTopColor="primary.base"
143143
>
144144
{persona.description}
145145
</Box>
146146
<UnorderedList
147147
m={0}
148148
display="grid"
149-
gridTemplateColumns="50% 50%"
150149
width="full"
151150
columnGap="0.2rem"
152-
rowGap={2}
151+
rowGap="0.4rem"
153152
aria-label={`${persona.title} filters`}
154153
>
155154
{persona.featureHighlight.map((feature) => (
@@ -160,6 +159,7 @@ const WalletFilterProfile = ({
160159
lineHeight="0.95rem"
161160
margin="0.1rem"
162161
alignItems="center"
162+
wordBreak={"break-word"}
163163
sx={{
164164
p: {
165165
mb: 0,

src/components/FindWallet/WalletFilterSidebar/index.tsx

Lines changed: 98 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Libraries
2-
import React, { forwardRef } from "react"
2+
import React from "react"
33
import {
44
Icon,
55
Center,
@@ -9,6 +9,8 @@ import {
99
Tab,
1010
TabPanels,
1111
TabPanel,
12+
Box,
13+
type TabsProps,
1214
} from "@chakra-ui/react"
1315
import { useTranslation } from "gatsby-plugin-react-i18next"
1416
import { BsArrowCounterclockwise } from "react-icons/bs"
@@ -52,8 +54,7 @@ const FilterTab = ({
5254
/>
5355
)
5456

55-
interface WalletFilterSidebarProps {
56-
showMobileSidebar: boolean
57+
interface WalletFilterSidebarProps extends Omit<TabsProps, "children"> {
5758
filters: FiltersType
5859
resetWalletFilter: React.MutableRefObject<() => void>
5960
resetFilters: () => void
@@ -64,74 +65,47 @@ interface WalletFilterSidebarProps {
6465
updateFilterOptions: (keys: any, value: any) => void
6566
}
6667

67-
const WalletFilterSidebar = forwardRef<
68-
HTMLDivElement,
69-
WalletFilterSidebarProps
70-
>(
71-
/**
72-
* Note: forwardRef here comes from React and not Chakra
73-
* Chakra's version throws error of `children` prop missing
74-
*/
75-
(props, ref) => {
76-
const {
77-
showMobileSidebar,
78-
filters,
79-
resetWalletFilter,
80-
resetFilters,
81-
setFilters,
82-
selectedPersona,
83-
setSelectedPersona,
84-
updateFilterOption,
85-
updateFilterOptions,
86-
} = props
68+
const WalletFilterSidebar: React.FC<WalletFilterSidebarProps> = ({
69+
filters,
70+
resetWalletFilter,
71+
resetFilters,
72+
setFilters,
73+
selectedPersona,
74+
setSelectedPersona,
75+
updateFilterOption,
76+
updateFilterOptions,
77+
top,
78+
...tabsProps
79+
}) => {
80+
const theme = useTheme()
81+
const { t } = useTranslation()
82+
return (
83+
<Tabs
84+
bg="background.base"
85+
transition="0.5s all"
86+
sx={{
87+
scrollbarWidth: "thin",
88+
scrollbarColor: `${theme.colors.lightBorder} ${theme.colors.background}`,
8789

88-
const theme = useTheme()
89-
const { t } = useTranslation()
90-
return (
91-
<Tabs
92-
ref={ref}
93-
maxW="330px"
94-
overflowY="scroll"
95-
bg="background.base"
96-
transition="0.5s all"
97-
zIndex={20}
98-
borderTopRightRadius="lg"
99-
pointerEvents="auto"
100-
sx={{
101-
scrollbarWidth: "thin",
102-
scrollbarColor: `${theme.colors.lightBorder} ${theme.colors.background}`,
103-
104-
"::-webkit-scrollbar": {
105-
width: 2,
106-
},
107-
"::-webkit-scrollbar-track": {
108-
bg: "background.base",
109-
},
110-
"::-webkit-scrollbar-thumb": {
111-
bgColor: "lightBorder",
112-
borderRadius: "base",
113-
border: "2px solid",
114-
borderColor: "background.base",
115-
},
116-
}}
117-
width={{ base: "90%", sm: "350px", lg: "full" }}
118-
height={{ base: "full", lg: "auto" }}
119-
hideBelow={!showMobileSidebar ? "lg" : undefined}
120-
position={{
121-
base: showMobileSidebar ? "absolute" : "relative",
122-
lg: "static",
123-
}}
124-
boxShadow={{
125-
base: showMobileSidebar ? "0 800px 0 800px rgb(0 0 0 / 65%)" : "none",
126-
lg: "none",
127-
}}
128-
left={showMobileSidebar ? 0 : "-400px"}
129-
>
90+
"::-webkit-scrollbar": {
91+
width: 2,
92+
},
93+
"::-webkit-scrollbar-track": {
94+
bg: "background.base",
95+
},
96+
"::-webkit-scrollbar-thumb": {
97+
bgColor: "lightBorder",
98+
borderRadius: "base",
99+
border: "2px solid",
100+
borderColor: "background.base",
101+
},
102+
}}
103+
{...tabsProps}
104+
>
105+
<Box position="sticky" top={top ?? 0}>
130106
<TabList
131107
borderBottom="1px solid"
132108
borderBottomColor="primary.base"
133-
position="sticky"
134-
top={0}
135109
bg="background.base"
136110
sx={{
137111
".chakra-tabs__tab": {
@@ -162,63 +136,63 @@ const WalletFilterSidebar = forwardRef<
162136
)
163137
</FilterTab>
164138
</TabList>
165-
<Center
166-
as="button"
167-
borderRadius="base"
168-
color="primary.base"
169-
fontSize="xs"
170-
gap={1}
171-
mx="auto"
172-
my="0.55rem"
173-
py={0.5}
174-
px={1}
175-
_hover={{
176-
color: "selectHover",
177-
}}
178-
onClick={() => {
179-
resetFilters()
180-
resetWalletFilter.current()
181-
trackCustomEvent({
182-
eventCategory: "WalletFilterReset",
183-
eventAction: `WalletFilterReset clicked`,
184-
eventName: `reset filters`,
185-
})
186-
}}
187-
>
188-
<Icon as={BsArrowCounterclockwise} aria-hidden="true" fontSize="sm" />
189-
{"Reset filters".toUpperCase()}
190-
</Center>
191-
<TabPanels
192-
m={0}
193-
sx={{
194-
".chakra-tabs__tab-panel": {
195-
bg: "transparent",
196-
border: "none",
197-
p: 0,
198-
},
199-
}}
200-
>
201-
<TabPanel>
202-
<WalletFilterPersonas
203-
resetFilters={resetFilters}
204-
setFilters={setFilters}
205-
selectedPersona={selectedPersona}
206-
setSelectedPersona={setSelectedPersona}
207-
/>
208-
</TabPanel>
209-
<TabPanel>
210-
<WalletFilterProfile
211-
resetWalletFilter={resetWalletFilter}
212-
filters={filters}
213-
updateFilterOption={updateFilterOption}
214-
updateFilterOptions={updateFilterOptions}
215-
/>
216-
</TabPanel>
217-
</TabPanels>
218-
</Tabs>
219-
)
220-
}
221-
)
139+
</Box>
140+
<Center
141+
as="button"
142+
borderRadius="base"
143+
color="primary.base"
144+
fontSize="xs"
145+
gap={1}
146+
mx="auto"
147+
mt="0.55rem"
148+
py={0.5}
149+
px={1}
150+
_hover={{
151+
color: "selectHover",
152+
}}
153+
onClick={() => {
154+
resetFilters()
155+
resetWalletFilter.current()
156+
trackCustomEvent({
157+
eventCategory: "WalletFilterReset",
158+
eventAction: `WalletFilterReset clicked`,
159+
eventName: `reset filters`,
160+
})
161+
}}
162+
>
163+
<Icon as={BsArrowCounterclockwise} aria-hidden="true" fontSize="sm" />
164+
{"Reset filters".toUpperCase()}
165+
</Center>
166+
<TabPanels
167+
m={0}
168+
sx={{
169+
".chakra-tabs__tab-panel": {
170+
bg: "transparent",
171+
border: "none",
172+
p: 0,
173+
},
174+
}}
175+
>
176+
<TabPanel>
177+
<WalletFilterPersonas
178+
resetFilters={resetFilters}
179+
setFilters={setFilters}
180+
selectedPersona={selectedPersona}
181+
setSelectedPersona={setSelectedPersona}
182+
/>
183+
</TabPanel>
184+
<TabPanel>
185+
<WalletFilterProfile
186+
resetWalletFilter={resetWalletFilter}
187+
filters={filters}
188+
updateFilterOption={updateFilterOption}
189+
updateFilterOptions={updateFilterOptions}
190+
/>
191+
</TabPanel>
192+
</TabPanels>
193+
</Tabs>
194+
)
195+
}
222196

223197
WalletFilterSidebar.displayName = "WalletFilterSidebar"
224198

0 commit comments

Comments
 (0)