diff --git a/src/apps/profiles/src/member-profile/education-and-certifications/EducationCard/EducationCard.module.scss b/src/apps/profiles/src/member-profile/education-and-certifications/EducationCard/EducationCard.module.scss index 42b315067..ec1bb2bb5 100644 --- a/src/apps/profiles/src/member-profile/education-and-certifications/EducationCard/EducationCard.module.scss +++ b/src/apps/profiles/src/member-profile/education-and-certifications/EducationCard/EducationCard.module.scss @@ -2,6 +2,28 @@ .educationCard { flex: 1; + margin-bottom: $sp-8; + font-size: 14px; + line-height: 22px; + color: $black-60; + + :global(.body-main-bold) { + color: $black-100; + } + + &.educationCardModalView { + margin-bottom: 0; + + .educationCardHeader { + flex-direction: column; + align-items: flex-start; + justify-content: flex-start; + + :global(.body-main-bold) { + margin-bottom: $sp-2; + } + } + } .educationCardHeader { display: flex; diff --git a/src/apps/profiles/src/member-profile/education-and-certifications/EducationCard/EducationCard.tsx b/src/apps/profiles/src/member-profile/education-and-certifications/EducationCard/EducationCard.tsx index 001690ec8..7c262e7f4 100644 --- a/src/apps/profiles/src/member-profile/education-and-certifications/EducationCard/EducationCard.tsx +++ b/src/apps/profiles/src/member-profile/education-and-certifications/EducationCard/EducationCard.tsx @@ -1,4 +1,5 @@ import { FC } from 'react' +import classNames from 'classnames' import moment from 'moment' import { UserTrait } from '~/libs/core' @@ -7,10 +8,11 @@ import styles from './EducationCard.module.scss' interface EducationCardProps { education: UserTrait + isModalView?: boolean } const EducationCard: FC = (props: EducationCardProps) => ( -
+

diff --git a/src/apps/profiles/src/member-profile/education-and-certifications/ModifyEducationModal/ModifyEducationModal.module.scss b/src/apps/profiles/src/member-profile/education-and-certifications/ModifyEducationModal/ModifyEducationModal.module.scss index bb94f5ee9..d5f70772d 100644 --- a/src/apps/profiles/src/member-profile/education-and-certifications/ModifyEducationModal/ModifyEducationModal.module.scss +++ b/src/apps/profiles/src/member-profile/education-and-certifications/ModifyEducationModal/ModifyEducationModal.module.scss @@ -3,9 +3,14 @@ .container { display: flex; flex-direction: column; + align-items: flex-start; .educationWrap { - margin-bottom: $sp-8; + margin: $sp-8 0; + display: grid; + grid-template-columns: 1fr 1fr; + gap: $sp-4; + width: 100%; &.noItems { margin-bottom: 0; @@ -13,7 +18,10 @@ .educationCardWrap { display: flex; - align-items: center; + align-items: flex-start; + border: 1px solid $black-20; + border-radius: 8px; + padding: $sp-4; .actionElements { display: flex; @@ -60,27 +68,13 @@ .formWrap { margin-top: $sp-4; + width: 100%; @include ltelg { :global(.input-wrapper) { margin-bottom: $sp-2; } } - - .formCTAs { - display: flex; - align-items: center; - - svg { - width: 14px; - height: 14px; - margin-right: $sp-1; - } - - .ctaBtnCancel { - margin-left: $sp-8; - } - } } } diff --git a/src/apps/profiles/src/member-profile/education-and-certifications/ModifyEducationModal/ModifyEducationModal.tsx b/src/apps/profiles/src/member-profile/education-and-certifications/ModifyEducationModal/ModifyEducationModal.tsx index 1344b0459..a5f2a6c3b 100644 --- a/src/apps/profiles/src/member-profile/education-and-certifications/ModifyEducationModal/ModifyEducationModal.tsx +++ b/src/apps/profiles/src/member-profile/education-and-certifications/ModifyEducationModal/ModifyEducationModal.tsx @@ -33,8 +33,8 @@ const ModifyEducationModal: FC = (props: ModifyEducat const [isSaving, setIsSaving]: [boolean, Dispatch>] = useState(false) - const [isFormChanged, setIsFormChanged]: [boolean, Dispatch>] - = useState(false) + const [addingNewItem, setAddingNewItem]: [boolean, Dispatch>] + = useState(props.education?.length === 0 || false) const [formValues, setFormValues]: [ { [key: string]: string | boolean | Date | undefined }, @@ -62,6 +62,12 @@ const ModifyEducationModal: FC = (props: ModifyEducat = useState(props.education) function handleModifyEducationSave(): void { + if (addingNewItem || editedItemIndex !== undefined) { + handleFormAction() + + return + } + setIsSaving(true) methodsMap[!!props.education ? 'update' : 'create'](props.profile.handle, [{ @@ -99,15 +105,12 @@ const ModifyEducationModal: FC = (props: ModifyEducat }) } - function handleCancelEditMode(): void { - setEditedItemIndex(undefined) - resetForm() - } - function resetForm(): void { setFormValues({}) + setFormErrors({}) formElRef.current.reset() setEditedItemIndex(undefined) + setAddingNewItem(false) } function handleFormAction(): void { @@ -146,7 +149,6 @@ const ModifyEducationModal: FC = (props: ModifyEducat ) } - setIsFormChanged(true) resetForm() } @@ -168,7 +170,20 @@ const ModifyEducationModal: FC = (props: ModifyEducat updatedEducation.splice(indx, 1) setMemberEducation(updatedEducation) - setIsFormChanged(true) + } + + function handleAddNewItem(): void { + setAddingNewItem(true) + } + + function handleModifyEducationCancel(): void { + if (addingNewItem || editedItemIndex !== undefined) { + setAddingNewItem(false) + setEditedItemIndex(undefined) + resetForm() + } else { + props.onClose() + } } return ( @@ -176,109 +191,104 @@ const ModifyEducationModal: FC = (props: ModifyEducat onClose={props.onClose} open size='lg' - title='LEARNING & EDUCATION' + title='EDUCATION' buttons={(

)} >
-
- { - memberEducation?.map((education: UserTrait, indx: number) => ( -
- -
-
-
- )) - } -

- Enter information about your schooling and degrees. + Add degrees or other education details.

-
- - - -
- {editedItemIndex === undefined ? : undefined} -
+
+ )) + }
- + ) : undefined} + + {editedItemIndex !== undefined || addingNewItem ? ( +
+ + + + + ) : ( +
) diff --git a/src/config/environments/default.env.ts b/src/config/environments/default.env.ts index 10f3ef69d..e3869ca58 100644 --- a/src/config/environments/default.env.ts +++ b/src/config/environments/default.env.ts @@ -47,9 +47,9 @@ export const STRIPE = { } export const URLS = { - ACCOUNT_SETTINGS: `${TOPCODER_URL}/settings/account`, + ACCOUNT_SETTINGS: `https://account-settings.${TC_DOMAIN}/#account`, UNIVERSAL_NAV: `https://uni-nav.${TC_DOMAIN}/v1/tc-universal-nav.js`, - USER_PROFILE: `${TOPCODER_URL}/members`, + USER_PROFILE: `https://profile.${TC_DOMAIN}`, } export const MEMBER_VERIFY_LOOKER = getReactEnv('MEMBER_VERIFY_LOOKER', 3322) diff --git a/src/libs/ui/lib/components/form/form-groups/form-input/input-date-picker/InputDatePicker.module.scss b/src/libs/ui/lib/components/form/form-groups/form-input/input-date-picker/InputDatePicker.module.scss index b2af90ad4..4bc15b134 100644 --- a/src/libs/ui/lib/components/form/form-groups/form-input/input-date-picker/InputDatePicker.module.scss +++ b/src/libs/ui/lib/components/form/form-groups/form-input/input-date-picker/InputDatePicker.module.scss @@ -48,6 +48,8 @@ border: none; background-color: transparent; margin: auto; + -webkit-appearance: menulist; + appearance: menulist; option:hover { background-color: $turq-160;