Initial commit - cleaned for CV

This commit is contained in:
Renato97
2026-03-31 01:23:33 -03:00
commit 9c11f23af0
142 changed files with 13690 additions and 0 deletions

43
app/providers.tsx Normal file
View File

@@ -0,0 +1,43 @@
"use client";
import { createContext, useContext, useState, ReactNode } from "react";
import { DataSync } from "@/components/DataSync";
interface SidebarContextType {
isOpen: boolean;
toggle: () => void;
close: () => void;
open: () => void;
}
const SidebarContext = createContext<SidebarContextType | undefined>(undefined);
export function Providers({ children }: { children: ReactNode }) {
const [isSidebarOpen, setIsSidebarOpen] = useState(true);
const toggleSidebar = () => setIsSidebarOpen((prev) => !prev);
const closeSidebar = () => setIsSidebarOpen(false);
const openSidebar = () => setIsSidebarOpen(true);
return (
<SidebarContext.Provider
value={{
isOpen: isSidebarOpen,
toggle: toggleSidebar,
close: closeSidebar,
open: openSidebar,
}}
>
<DataSync />
{children}
</SidebarContext.Provider>
);
}
export function useSidebar() {
const context = useContext(SidebarContext);
if (context === undefined) {
throw new Error("useSidebar must be used within a Providers");
}
return context;
}