diff --git a/src/components/managers/products/genericProductComponent/basicFields/basicFields.tsx b/src/components/managers/products/genericProductComponent/basicFields/basicFields.tsx index 77ac205..3326b11 100644 --- a/src/components/managers/products/genericProductComponent/basicFields/basicFields.tsx +++ b/src/components/managers/products/genericProductComponent/basicFields/basicFields.tsx @@ -14,7 +14,6 @@ import { DatePicker, LocalizationProvider } from '@mui/x-date-pickers'; import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns'; import { common_ProductNew } from 'api/proto-http/admin'; import { colors } from 'constants/colors'; -import { isValid, parseISO } from 'date-fns'; import { generateOrUpdateSKU, generateSKU } from 'features/utilitty/dynamicGenerationOfSku'; import { findInDictionary } from 'features/utilitty/findInDictionary'; import { restrictNumericInput } from 'features/utilitty/removePossibilityToEnterSigns'; @@ -24,17 +23,8 @@ import CountryList from 'react-select-country-list'; import { v4 as uuidv4 } from 'uuid'; import { BasicProductFieldsInterface, Country } from '../interface/interface'; import { handleKeyDown } from '../utility/brandNameRegExp'; - -const parseWellKnownTimestamp = (timestamp: string): Date | null => { - if (!timestamp || timestamp === '0001-01-01T00:00:00Z') return null; - const parsedDate = parseISO(timestamp); - return isValid(parsedDate) ? parsedDate : null; -}; - -const formatWellKnownTimestamp = (date: Date | null): string => { - if (!date) return '0001-01-01T00:00:00Z'; - return date.toISOString(); -}; +import { genderOptions } from '../utility/genderList'; +import { formatWellKnownTimestamp, parseWellKnownTimestamp } from '../utility/preorderTime'; export const BasicFields: FC = ({ dictionary, @@ -43,8 +33,7 @@ export const BasicFields: FC = ({ isAddingProduct, isCopyMode, }) => { - const { values, setFieldValue, submitCount, errors, touched } = - useFormikContext(); + const { values, setFieldValue, errors, touched } = useFormikContext(); const countries = useMemo(() => CountryList().getData() as Country[], []); const [showPreorder, setShowPreorder] = useState(true); const [showSales, setShowSales] = useState(true); @@ -133,9 +122,6 @@ export const BasicFields: FC = ({ return parseWellKnownTimestamp(dateString || '0001-01-01T00:00:00Z'); }; - console.log(dictionary?.categories?.length); // Should log 20 - console.log(dictionary?.categories); // Inspect if any category is missing - useEffect(() => { const { salePercentage, preorder } = values.product?.productBody || {}; const saleValue = salePercentage?.value || ''; @@ -239,9 +225,9 @@ export const BasicFields: FC = ({ name='product.productBody.targetGender' disabled={disableFields} > - {dictionary?.genders?.map((gender) => ( + {genderOptions.map((gender) => ( - {gender.name?.replace('GENDER_ENUM_', '').toUpperCase()} + {gender.name?.toUpperCase()} ))} diff --git a/src/components/managers/products/genericProductComponent/genericProductComponent.tsx b/src/components/managers/products/genericProductComponent/genericProductComponent.tsx index 283c4d0..fbac67c 100644 --- a/src/components/managers/products/genericProductComponent/genericProductComponent.tsx +++ b/src/components/managers/products/genericProductComponent/genericProductComponent.tsx @@ -24,8 +24,8 @@ export const GenericProductForm: FC = ({ }) => { const [isFormChanged, setIsFormChanged] = useState(false); const [clearMediaPreview, setClearMediaPreview] = useState(false); - const navigate = useNavigate(); const initialValues = useMemo(() => initialProductState, [initialProductState]); + const navigate = useNavigate(); useEffect(() => { const handleKeydown = (event: KeyboardEvent) => { @@ -58,6 +58,8 @@ export const GenericProductForm: FC = ({ if (isAddingProduct && !isCopyMode) { setClearMediaPreview(true); setTimeout(() => setClearMediaPreview(false), 0); + } else if (isCopyMode) { + navigate({ to: ROUTES.product, replace: true }); } }; @@ -88,13 +90,15 @@ export const GenericProductForm: FC = ({ sx={{ top: 'auto', bottom: 0, backgroundColor: 'transparent', boxShadow: 'none' }} > - + {!isAddingProduct && ( + + )}