Skip to content

Commit e6032c9

Browse files
committed
feat: implements new ResponsiveLayout component
1 parent 10488d2 commit e6032c9

File tree

3 files changed

+31
-33
lines changed

3 files changed

+31
-33
lines changed

src/components/ResponsiveLayout.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,15 @@ const ResponsiveLayout = forwardRef<ResponsiveLayoutRef, ResponsiveLayoutProps>(
5353
<div
5454
ref={backdropRef}
5555
onClick={handleClose}
56-
className="fixed inset-0 bg-black opacity-0 pointer-events-none transition-opacity duration-100 z-[5] lg:hidden"
56+
className="absolute inset-0 bg-black opacity-0 pointer-events-none transition-opacity duration-100 z-[5] lg:hidden"
5757
/>
5858

5959
<div
6060
ref={sidebarRef}
6161
className={cn(
6262
"h-full w-3/12 min-w-[240px] -translate-x-full transition-transform duration-100",
63-
"absolute top-0 left-0 z-10 bg-background p-[10px]",
64-
"lg:relative lg:block lg:bg-transparent lg:translate-x-0 lg:p-5",
63+
"absolute top-0 left-0 z-10 bg-background p-5",
64+
"lg:relative lg:block lg:bg-transparent lg:translate-x-0 lg:px-6",
6565
)}
6666
>
6767
<div className="flex justify-end lg:hidden">
@@ -72,7 +72,7 @@ const ResponsiveLayout = forwardRef<ResponsiveLayoutRef, ResponsiveLayoutProps>(
7272
<div>{leftContent}</div>
7373
</div>
7474

75-
<div className="w-full lg:w-9/12 p-[20px] lg:p-5">
75+
<div className="w-full lg:w-9/12 p-5 lg:px-6">
7676
<div className="flex items-center gap-3 mb-4">
7777
<button
7878
onClick={handleToggle}

src/pages/Docs/Reference.tsx

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,52 @@
1-
import { DocsResponsiveSidebar } from "@/components/DocsResponsiveSidebar";
1+
import ResponsiveLayout, { ResponsiveLayoutRef } from "@/components/ResponsiveLayout.tsx";
2+
import ResponsiveLayoutSidebar, {
3+
ResponsiveLayoutSidebarItem,
4+
} from "@/components/ResponsiveLayoutSidebar.tsx";
5+
import React, { useRef } from "react";
26
import { Outlet, useNavigate } from "react-router-dom";
37

48
const Reference = () => {
9+
const layoutRef = useRef<ResponsiveLayoutRef>(null);
510
const navigate = useNavigate();
6-
const sidebarItems = [
11+
const sidebarItems: ResponsiveLayoutSidebarItem[] = [
712
{
813
id: "constructo",
9-
label: "constructo",
14+
label: "Constructo",
1015
level: 0,
1116
},
1217
{
1318
id: "serendipity",
14-
label: "serendipity",
19+
label: "Serendipity",
1520
level: 0,
1621
},
1722
{
1823
id: "effulgence",
19-
label: "effulgence",
24+
label: "Effulgence",
2025
level: 0,
2126
},
2227
{
2328
id: "tevun",
24-
label: "tevun",
29+
label: "Tevun",
2530
level: 0,
2631
},
2732
{
2833
id: "http",
29-
label: "http",
34+
label: "Http",
3035
level: 0,
3136
},
3237
{
3338
id: "docekrize",
34-
label: "docekrize",
39+
label: "Docekrize",
3540
level: 0,
3641
},
3742
{
3843
id: "dockerfile",
39-
label: "dockerfile",
44+
label: "Dockerfile",
4045
level: 0,
4146
},
4247
{
4348
id: "arceau",
44-
label: "arceau",
49+
label: "Arceau",
4550
level: 0,
4651
},
4752
];
@@ -51,20 +56,16 @@ const Reference = () => {
5156
};
5257

5358
return (
54-
<div className="flex gap-8">
55-
{/* Sidebar responsivo */}
56-
<DocsResponsiveSidebar
57-
items={sidebarItems}
58-
onItemClick={handleItemClick}
59-
title="Pacotes & Ferramentas"
60-
description="Navegue pelos packages e ferramentas disponíveis"
61-
/>
62-
63-
{/* Conteúdo Principal */}
64-
<div className="flex-1 lg:border-l lg:pl-8">
65-
<Outlet />
66-
</div>
67-
</div>
59+
<ResponsiveLayout
60+
ref={layoutRef}
61+
title={"Nossas Soluções"}
62+
leftContent={<ResponsiveLayoutSidebar items={sidebarItems} onItemClick={handleItemClick} />}
63+
rightContent={
64+
<div className="relative">
65+
<Outlet />
66+
</div>
67+
}
68+
/>
6869
);
6970
};
7071

src/pages/Docs/Reference/Index.tsx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@ const ReferenceIndex = () => {
55
return (
66
<div className="space-y-8">
77
<div className="space-y-4">
8-
<h1 className="text-4xl font-bold bg-gradient-to-r from-primary to-accent bg-clip-text text-transparent">
9-
Referência de Pacotes
10-
</h1>
118
<p className="text-xl text-muted-foreground">
129
Documentação detalhada dos pacotes e ferramentas Devitools.
1310
</p>
@@ -28,7 +25,7 @@ const ReferenceIndex = () => {
2825
</CardHeader>
2926
<CardContent>
3027
<p className="text-muted-foreground">
31-
Em breve você encontrará aqui a referência completa de todos os pacotes Devitools,
28+
Em breve você encontrará aqui a referência completa de todos os pacotes Devitools,
3229
incluindo APIs, exemplos de uso e guias de implementação para cada ferramenta.
3330
</p>
3431
</CardContent>
@@ -37,4 +34,4 @@ const ReferenceIndex = () => {
3734
);
3835
};
3936

40-
export default ReferenceIndex;
37+
export default ReferenceIndex;

0 commit comments

Comments
 (0)