@@ -33,6 +33,7 @@ const ModalAddWork: FC<ModalAddWorkProps> = (props: ModalAddWorkProps) => {
3333 const [ workInfo , setWorkInfo ] = useState ( emptyWorkInfo ( ) )
3434 const [ formErrors , setFormErrors ] = useState < any > ( {
3535 company : undefined ,
36+ endDate : undefined ,
3637 position : undefined ,
3738 startDate : undefined ,
3839 } )
@@ -55,10 +56,16 @@ const ModalAddWork: FC<ModalAddWorkProps> = (props: ModalAddWorkProps) => {
5556 errorTmp . position = 'Required'
5657 }
5758
58- if ( ! validateDate ( workInfo . startDate , workInfo . endDate ) ) {
59+ if ( ! workInfo . startDate ) {
60+ errorTmp . startDate = 'Required'
61+ } else if ( ! validateDate ( workInfo . startDate , workInfo . endDate ) ) {
5962 errorTmp . startDate = 'Start Date should be before End Date'
6063 }
6164
65+ if ( ! workInfo . endDate && ! workInfo . currentlyWorking ) {
66+ errorTmp . endDate = 'Required'
67+ }
68+
6269 setFormErrors ( errorTmp )
6370 return _ . isEmpty ( errorTmp )
6471 }
@@ -85,25 +92,7 @@ const ModalAddWork: FC<ModalAddWorkProps> = (props: ModalAddWorkProps) => {
8592 label = 'save'
8693 onClick = { function onClick ( ) {
8794 if ( validateField ( ) ) {
88- const endDate : Date | undefined = workInfo . endDate
89- let endDateString : string = endDate ? moment ( endDate )
90- . format ( 'YYYY' ) : ''
91- if ( workInfo . currentlyWorking ) {
92- endDateString = 'current'
93- }
94-
95- let startDateString : string = workInfo . startDate ? moment ( workInfo . startDate )
96- . format ( 'YYYY' ) : ''
97- if ( startDateString ) {
98- startDateString += '-'
99- }
100-
101- ( props . editingWork ? props . onEdit : props . onAdd ) ?.( {
102- ...workInfo ,
103- dateDescription : (
104- workInfo . startDate || workInfo . endDate
105- ) ? `${ startDateString } ${ endDateString } ` : '' ,
106- } )
95+ ( props . editingWork ? props . onEdit : props . onAdd ) ?.( workInfo )
10796 props . onClose ?.( )
10897 }
10998 } }
@@ -152,6 +141,7 @@ const ModalAddWork: FC<ModalAddWorkProps> = (props: ModalAddWorkProps) => {
152141 </ div >
153142 < div className = 'full-width' >
154143 < InputSelect
144+ tabIndex = { 1 }
155145 options = { industryOptions }
156146 value = { workInfo . industry }
157147 onChange = { function onChange ( event : any ) {
@@ -163,30 +153,15 @@ const ModalAddWork: FC<ModalAddWorkProps> = (props: ModalAddWorkProps) => {
163153 name = 'industry'
164154 label = 'Industry'
165155 placeholder = 'Select industry'
166- />
167- </ div >
168- < div className = 'full-width' >
169- < InputText
170- name = 'location'
171- label = 'Location'
172- value = { workInfo . city }
173- onChange = { function onChange ( event : any ) {
174- setWorkInfo ( {
175- ...workInfo ,
176- city : event . target . value ,
177- } )
178- } }
179- placeholder = 'Enter city, country'
180- tabIndex = { 0 }
181- type = 'text'
156+ dirty
182157 />
183158 </ div >
184159 < div className = 'd-flex gap-16 full-width' >
185160 < div
186161 className = 'flex-1'
187162 >
188163 < FormField
189- label = 'Start Date'
164+ label = 'Start Date * '
190165 error = {
191166 formErrors . startDate
192167 }
@@ -208,7 +183,10 @@ const ModalAddWork: FC<ModalAddWorkProps> = (props: ModalAddWorkProps) => {
208183 className = 'flex-1'
209184 >
210185 < FormField
211- label = 'End Date'
186+ label = { workInfo . currentlyWorking ? 'End Date' : 'End Date *' }
187+ error = {
188+ formErrors . endDate
189+ }
212190 >
213191 < DateInput
214192 disabled = { workInfo . currentlyWorking }
@@ -234,6 +212,7 @@ const ModalAddWork: FC<ModalAddWorkProps> = (props: ModalAddWorkProps) => {
234212 setWorkInfo ( {
235213 ...workInfo ,
236214 currentlyWorking : e . target . checked ,
215+ endDate : e . target . checked ? undefined : workInfo . endDate ,
237216 } )
238217 } }
239218 />
0 commit comments