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 navigate = useNavigate();
|
||||
const { id } = useParams();
|
||||
const { showToast } = useToast();
|
||||
const { success: showToast } = useToast();
|
||||
const isEdit = Boolean(id);
|
||||
|
||||
const [formData, setFormData] = useState({
|
||||
|
|
|
|||
|
|
@ -112,11 +112,11 @@ export const useCreateProductVariant = () => {
|
|||
queryClient.invalidateQueries({
|
||||
queryKey: [
|
||||
QUERY_KEYS.GET_PRODUCT_VARIANTS,
|
||||
variables.product_id.toString(),
|
||||
variables.product_id?.toString() || "",
|
||||
],
|
||||
});
|
||||
queryClient.invalidateQueries({
|
||||
queryKey: [QUERY_KEYS.GET_PRODUCT, variables.product_id.toString()],
|
||||
queryKey: [QUERY_KEYS.GET_PRODUCT, variables.product_id?.toString()],
|
||||
});
|
||||
toast.success("نسخه محصول با موفقیت ایجاد شد");
|
||||
},
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ export const getProductVariants = async (productId: string) => {
|
|||
export const createProductVariant = async (data: CreateVariantRequest) => {
|
||||
const response = await httpPostRequest<CreateVariantResponse>(
|
||||
APIUrlGenerator(
|
||||
API_ROUTES.CREATE_PRODUCT_VARIANT(data.product_id.toString())
|
||||
API_ROUTES.CREATE_PRODUCT_VARIANT(data.product_id?.toString() || "")
|
||||
),
|
||||
data
|
||||
);
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ const ProductDetailPage = () => {
|
|||
</label>
|
||||
<div className="p-3 bg-gray-50 dark:bg-gray-700 rounded-lg">
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -114,8 +114,8 @@ const ProductDetailPage = () => {
|
|||
</label>
|
||||
<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
|
||||
? '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-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'
|
||||
}`}>
|
||||
{product.enabled ? 'فعال' : 'غیرفعال'}
|
||||
</span>
|
||||
|
|
@ -161,8 +161,8 @@ const ProductDetailPage = () => {
|
|||
<div>
|
||||
<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
|
||||
? '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-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'
|
||||
}`}>
|
||||
{variant.enabled ? 'فعال' : 'غیرفعال'}
|
||||
</span>
|
||||
|
|
|
|||
Loading…
Reference in New Issue