-
{children}
+
}
diff --git a/apps/landing/src/contexts/lab-scroll-context.tsx b/apps/landing/src/contexts/lab-scroll-context.tsx
new file mode 100644
index 0000000..c4a529b
--- /dev/null
+++ b/apps/landing/src/contexts/lab-scroll-context.tsx
@@ -0,0 +1,39 @@
+'use client';
+
+/**
+ * Lab Scroll Context
+ *
+ * Shares scroll state between the main content area and the header.
+ * Used to collapse the main header when user scrolls in the lab section.
+ */
+
+import { createContext, useContext, useState, ReactNode } from 'react';
+
+type LabScrollContextValue = {
+ isScrolled: boolean;
+ setIsScrolled: (value: boolean) => void;
+};
+
+const LabScrollContext = createContext
(null);
+
+export const useLabScroll = () => {
+ const context = useContext(LabScrollContext);
+ if (!context) {
+ throw new Error('useLabScroll must be used within LabScrollProvider');
+ }
+ return context;
+};
+
+type LabScrollProviderProps = {
+ children: ReactNode;
+};
+
+export const LabScrollProvider = ({ children }: LabScrollProviderProps) => {
+ const [isScrolled, setIsScrolled] = useState(false);
+
+ return (
+
+ {children}
+
+ );
+};