+
Tanggal
+
+ {
+ const value = e.target.value;
+ formik.setFieldValue('start_date', value || null);
+
+ if (value && formik.values.end_date) {
+ const startDate = new Date(value);
+ const endDateObj = new Date(formik.values.end_date);
+
+ if (endDateObj < startDate) {
+ setHasDateError(true);
+ if (!dateErrorShown) {
+ toast.error('Tanggal akhir tidak boleh masa lampau', {
+ duration: Infinity,
+ });
+ setDateErrorShown(true);
+ }
+ } else {
+ setHasDateError(false);
+ if (dateErrorShown) {
+ toast.dismiss();
+ setDateErrorShown(false);
+ }
+ }
+ } else {
+ setHasDateError(false);
+ }
+ }}
+ className={{ wrapper: 'w-full' }}
+ errorMessage={formik.errors.start_date}
+ isError={
+ !!formik.errors.start_date && formik.touched.start_date
+ }
+ />
+
+ {
+ const value = e.target.value;
+ formik.setFieldValue('end_date', value || null);
+
+ if (value && formik.values.start_date) {
+ const startDateObj = new Date(formik.values.start_date);
+ const endDate = new Date(value);
+
+ if (endDate < startDateObj) {
+ setHasDateError(true);
+ if (!dateErrorShown) {
+ toast.error('Tanggal akhir tidak boleh masa lampau', {
+ duration: Infinity,
+ });
+ setDateErrorShown(true);
+ }
+ return;
+ }
+ }
+
+ setHasDateError(false);
+ if (dateErrorShown) {
+ toast.dismiss();
+ setDateErrorShown(false);
+ }
+ }}
+ className={{ wrapper: 'w-full' }}
+ errorMessage={formik.errors.end_date}
+ isError={
+ (formik.errors.end_date && formik.touched.end_date) ||
+ hasDateError
+ }
+ />
+
+