Skip to content

Commit 58506bc

Browse files
Merge pull request #1950 from DivyanshuVortex/fix/sidebar-overflow
fix: sidebar overflow on mobile #1949
2 parents 6c21ee2 + d7076e4 commit 58506bc

File tree

1 file changed

+26
-18
lines changed

1 file changed

+26
-18
lines changed

pages/tools/index.page.tsx

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -122,16 +122,15 @@ export default function ToolingPage({
122122
} = useToolsTransform(toolingData);
123123

124124
return (
125-
<SectionContext.Provider value='tools'>
125+
<SectionContext.Provider value={'tools'}>
126126
<Head>
127127
<title>JSON Schema - Tools</title>
128128
</Head>
129+
129130
<div className='mx-auto w-full max-w-[1400px] min-h-screen flex flex-col items-center'>
130131
<div
131132
className='bg-primary w-full h-12 mt-[4.5rem] relative lg:hidden px-8 flex justify-between items-center'
132-
onClick={() => {
133-
setIsSidebarOpen((prev) => !prev);
134-
}}
133+
onClick={() => setIsSidebarOpen((prev) => !prev)}
135134
>
136135
<h3 className='text-white'>{numberOfTools} Tools</h3>
137136

@@ -140,29 +139,32 @@ export default function ToolingPage({
140139
transform: `${isSidebarOpen ? 'rotate(180deg)' : 'rotate(0)'}`,
141140
transition: 'transform 0.2s linear',
142141
}}
143-
xmlns='http://www.w3.org/2000/svg'
142+
xmlns={'http://www.w3.org/2000/svg'}
144143
height='24'
145144
viewBox='0 0 256 512'
146145
>
147146
<path
148-
d='M64 448c-8.188 0-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L178.8 256L41.38 118.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160c12.5 12.5 12.5 32.75 0 45.25l-160 160C80.38 444.9 72.19 448 64 448z'
149-
fill='#ffffff'
147+
d={
148+
'M64 448c-8.188 0-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L178.8 256L41.38 118.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160c12.5 12.5 12.5 32.75 0 45.25l-160 160C80.38 444.9 72.19 448 64 448z'
149+
}
150+
fill={'#ffffff'}
150151
/>
151152
</svg>
152153
</div>
153154

154-
<div className='grid grid-cols-1 lg:grid-cols-4 mx-4 md:mx-12 min-h-screen'>
155+
{/* FIX 1: mx → px, and overflow-x-hidden */}
156+
<div className='w-full grid grid-cols-1 lg:grid-cols-4 px-4 md:px-12 min-h-screen overflow-x-hidden'>
155157
<div
156158
className={`
157-
lg:fixed absolute top-0 lg:top-0 left-0 lg:left-auto
158-
mt-0 lg:mt-20
159-
w-screen lg:w-auto
160-
bg-white dark:bg-slate-800 lg:bg-transparent
161-
transition-transform lg:transform-none duration-300 lg:duration-0 ease-in-out
162-
z-5
163-
${isSidebarOpen ? '-translate-x-0' : '-translate-x-full'}
164-
${isMobile && isSidebarOpen ? 'overflow-hidden' : 'overflow-y-auto lg:overflow-y-hidden'}
165-
`}
159+
lg:fixed absolute top-0 lg:top-0 left-0 lg:left-auto
160+
mt-0 lg:mt-20
161+
w-full max-w-full lg:w-auto overflow-x-hidden
162+
bg-white dark:bg-slate-800 lg:bg-transparent
163+
transition-transform lg:transform-none duration-300 lg:duration-0 ease-in-out
164+
z-5
165+
${isSidebarOpen ? '-translate-x-0' : '-translate-x-full'}
166+
${isMobile && isSidebarOpen ? 'overflow-hidden' : 'overflow-y-auto lg:overflow-y-hidden'}
167+
`}
166168
style={{
167169
height: isMobile
168170
? isSidebarOpen
@@ -186,6 +188,7 @@ export default function ToolingPage({
186188
Tools
187189
</div>
188190
</div>
191+
189192
<Sidebar
190193
filterCriteria={filterCriteria}
191194
transform={transform}
@@ -198,7 +201,9 @@ export default function ToolingPage({
198201
</div>
199202

200203
<main
201-
className={`md:col-span-3 lg:mt-20 lg:w-full mx-4 md:mx-0 lg:!ml-[20px] ${isSidebarOpen ? 'hidden lg:block' : ''}`}
204+
className={`md:col-span-3 lg:mt-20 lg:w-full mx-4 md:mx-0 lg:!ml-[20px] ${
205+
isSidebarOpen ? 'hidden lg:block' : ''
206+
}`}
202207
>
203208
<Headline1>JSON Schema Tooling</Headline1>
204209
<p className='text-slate-600 block leading-7 pb-1 dark:text-slate-300'>
@@ -209,6 +214,7 @@ export default function ToolingPage({
209214
Listing does not signify a recommendation or endorsement of any
210215
kind.
211216
</p>
217+
212218
<div className='flex flex-row items-center gap-2 w-full'>
213219
<div className='flex items-center justify-center gap-2 w-1/2'>
214220
<Link
@@ -252,7 +258,9 @@ export default function ToolingPage({
252258
</p>
253259
</div>
254260
</div>
261+
255262
<GroupByMenu transform={transform} setTransform={setTransform} />
263+
256264
<ToolingTable
257265
toolsByGroup={toolsByGroup}
258266
transform={transform}

0 commit comments

Comments
 (0)