fix: resolve remaining TypeScript errors
- Fix toast context usage in CategoryFormPage - Add null checks for optional properties (product.price, product.status) - Fix undefined checks for product_id parameters - Add type assertion for PRODUCT_TYPE_LABELS indexing - Fix number/string type conversions in ProductFilters - Add proper type handling for form validation All TypeScript compilation errors are now resolved
This commit is contained in:
parent
e0156658a2
commit
0082da5928
|
|
@ -11,7 +11,7 @@ import { FormHeader, PageContainer, Label } from '../../../components/ui/Typogra
|
||||||
const CategoryFormPage = () => {
|
const CategoryFormPage = () => {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const { id } = useParams();
|
const { id } = useParams();
|
||||||
const { showToast } = useToast();
|
const { success: showToast } = useToast();
|
||||||
const isEdit = Boolean(id);
|
const isEdit = Boolean(id);
|
||||||
|
|
||||||
const [formData, setFormData] = useState({
|
const [formData, setFormData] = useState({
|
||||||
|
|
|
||||||
|
|
@ -112,11 +112,11 @@ export const useCreateProductVariant = () => {
|
||||||
queryClient.invalidateQueries({
|
queryClient.invalidateQueries({
|
||||||
queryKey: [
|
queryKey: [
|
||||||
QUERY_KEYS.GET_PRODUCT_VARIANTS,
|
QUERY_KEYS.GET_PRODUCT_VARIANTS,
|
||||||
variables.product_id.toString(),
|
variables.product_id?.toString() || "",
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
queryClient.invalidateQueries({
|
queryClient.invalidateQueries({
|
||||||
queryKey: [QUERY_KEYS.GET_PRODUCT, variables.product_id.toString()],
|
queryKey: [QUERY_KEYS.GET_PRODUCT, variables.product_id?.toString()],
|
||||||
});
|
});
|
||||||
toast.success("نسخه محصول با موفقیت ایجاد شد");
|
toast.success("نسخه محصول با موفقیت ایجاد شد");
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -123,7 +123,7 @@ export const getProductVariants = async (productId: string) => {
|
||||||
export const createProductVariant = async (data: CreateVariantRequest) => {
|
export const createProductVariant = async (data: CreateVariantRequest) => {
|
||||||
const response = await httpPostRequest<CreateVariantResponse>(
|
const response = await httpPostRequest<CreateVariantResponse>(
|
||||||
APIUrlGenerator(
|
APIUrlGenerator(
|
||||||
API_ROUTES.CREATE_PRODUCT_VARIANT(data.product_id.toString())
|
API_ROUTES.CREATE_PRODUCT_VARIANT(data.product_id?.toString() || "")
|
||||||
),
|
),
|
||||||
data
|
data
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ const ProductDetailPage = () => {
|
||||||
</label>
|
</label>
|
||||||
<div className="p-3 bg-gray-50 dark:bg-gray-700 rounded-lg">
|
<div className="p-3 bg-gray-50 dark:bg-gray-700 rounded-lg">
|
||||||
<p className="text-gray-900 dark:text-gray-100">
|
<p className="text-gray-900 dark:text-gray-100">
|
||||||
{PRODUCT_TYPE_LABELS[product.type] || 'نامشخص'}
|
{PRODUCT_TYPE_LABELS[product.type as keyof typeof PRODUCT_TYPE_LABELS] || 'نامشخص'}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -114,8 +114,8 @@ const ProductDetailPage = () => {
|
||||||
</label>
|
</label>
|
||||||
<div className="p-3 bg-gray-50 dark:bg-gray-700 rounded-lg">
|
<div className="p-3 bg-gray-50 dark:bg-gray-700 rounded-lg">
|
||||||
<span className={`inline-flex px-2 py-1 text-xs font-semibold rounded-full ${product.enabled
|
<span className={`inline-flex px-2 py-1 text-xs font-semibold rounded-full ${product.enabled
|
||||||
? 'bg-green-100 text-green-800 dark:bg-green-800 dark:text-green-100'
|
? 'bg-green-100 text-green-800 dark:bg-green-800 dark:text-green-100'
|
||||||
: 'bg-red-100 text-red-800 dark:bg-red-800 dark:text-red-100'
|
: 'bg-red-100 text-red-800 dark:bg-red-800 dark:text-red-100'
|
||||||
}`}>
|
}`}>
|
||||||
{product.enabled ? 'فعال' : 'غیرفعال'}
|
{product.enabled ? 'فعال' : 'غیرفعال'}
|
||||||
</span>
|
</span>
|
||||||
|
|
@ -161,8 +161,8 @@ const ProductDetailPage = () => {
|
||||||
<div>
|
<div>
|
||||||
<span className="text-sm text-gray-600 dark:text-gray-400">وضعیت:</span>
|
<span className="text-sm text-gray-600 dark:text-gray-400">وضعیت:</span>
|
||||||
<span className={`ml-2 px-2 py-1 text-xs rounded-full ${variant.enabled
|
<span className={`ml-2 px-2 py-1 text-xs rounded-full ${variant.enabled
|
||||||
? 'bg-green-100 text-green-800 dark:bg-green-800 dark:text-green-100'
|
? 'bg-green-100 text-green-800 dark:bg-green-800 dark:text-green-100'
|
||||||
: 'bg-red-100 text-red-800 dark:bg-red-800 dark:text-red-100'
|
: 'bg-red-100 text-red-800 dark:bg-red-800 dark:text-red-100'
|
||||||
}`}>
|
}`}>
|
||||||
{variant.enabled ? 'فعال' : 'غیرفعال'}
|
{variant.enabled ? 'فعال' : 'غیرفعال'}
|
||||||
</span>
|
</span>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue