carType page over

This commit is contained in:
nabijonovdavronbek619@gmail.com
2025-11-07 20:00:27 +05:00
parent 2207df3b8c
commit 051d9053dc
28 changed files with 774 additions and 336 deletions

View File

@@ -0,0 +1,33 @@
'use client';
import React, { createContext, useContext, useState, ReactNode } from 'react';
import { innerCardTypes } from '@/types';
// 1⃣ Context tipi
interface CarDetailContextType {
detail: innerCardTypes | null;
setDetail: React.Dispatch<React.SetStateAction<innerCardTypes | null>>;
}
// 2⃣ Default context qiymatini yaratamiz
const CarDetailContext = createContext<CarDetailContextType | undefined>(undefined);
// 3⃣ Provider komponent
export const CarDetailProvider = ({ children }: { children: ReactNode }) => {
const [detail, setDetail] = useState<innerCardTypes | null>(null);
return (
<CarDetailContext.Provider value={{ detail, setDetail }}>
{children}
</CarDetailContext.Provider>
);
};
// 4⃣ Custom hook (Contextni qulay ishlatish uchun)
export const useCarDetail = () => {
const context = useContext(CarDetailContext);
if (!context) {
throw new Error('useCarDetail must be used within a CarDetailProvider');
}
return context;
};