Files
open-lovable/components/shared/search-params-provider/search-params-provider.tsx
T
Developers Digest 836b085f75 continue re-design
2025-09-05 13:06:17 -04:00

34 lines
749 B
TypeScript

"use client";
import React, { createContext, useContext, ReactNode } from "react";
type SearchParamsContextType = { [key: string]: string | string[] | undefined };
const SearchParamsContext = createContext<SearchParamsContextType | null>(null);
export const SearchParamsProvider = ({
children,
params,
}: {
children: ReactNode;
params: SearchParamsContextType;
}) => {
return (
<SearchParamsContext.Provider value={params}>
{children}
</SearchParamsContext.Provider>
);
};
export const useSearchParamsContext = () => {
const context = useContext(SearchParamsContext);
if (!context) {
throw new Error(
"useSearchParamsContext must be used within a SearchParamsProvider",
);
}
return context;
};