diff --git a/cypress/integration/router.spec.js b/cypress/integration/router.spec.js index 342a2bc..c762707 100644 --- a/cypress/integration/router.spec.js +++ b/cypress/integration/router.spec.js @@ -31,6 +31,11 @@ describe('App Router', () => { cy.get('section'); }); + it('contains Add Experience page', () => { + cy.visit(ROUTES.ADD_EXPERIENCE); + cy.get('section'); + }); + it('contains Dashboard page', () => { cy.visit(ROUTES.DASHBOARD); cy.get('section'); diff --git a/src/components/FormHeader.tsx b/src/components/FormHeader.tsx new file mode 100644 index 0000000..a13e1ba --- /dev/null +++ b/src/components/FormHeader.tsx @@ -0,0 +1,17 @@ +import React, {FC} from 'react'; +import Header from './Header'; + +interface IProps { + title: string; + lead: string; + icon?: string; +} + +const FormHeader: FC = props => ( + <> +
+ * marks required fields + +); + +export default FormHeader; diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 5b9e568..e8703ac 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -1,6 +1,6 @@ import React, {FC} from 'react'; import {FontAwesomeIcon} from '@fortawesome/react-fontawesome'; -import {faUser} from '@fortawesome/free-solid-svg-icons'; +import {faUser, faCodeBranch} from '@fortawesome/free-solid-svg-icons'; import {faConnectdevelop} from '@fortawesome/free-brands-svg-icons'; interface IProps { @@ -17,6 +17,9 @@ const Header: FC = ({title, lead, icon = 'faUser'}) => { if (icon === 'connectdevelop') { return ; } + if (icon === 'code-branch') { + return ; + } }; return ( diff --git a/src/constants/routes.ts b/src/constants/routes.ts index a9b9038..3df88a6 100644 --- a/src/constants/routes.ts +++ b/src/constants/routes.ts @@ -9,3 +9,4 @@ export const DEVELOPERS: string = '/developers'; export const PROFILE: string = '/profile'; export const EDIT_PROFILE: string = '/edit-profile'; export const DASHBOARD: string = '/dashboard'; +export const ADD_EXPERIENCE: string = '/add-experience'; diff --git a/src/pages/AddExperience.tsx b/src/pages/AddExperience.tsx new file mode 100644 index 0000000..2a9f8af --- /dev/null +++ b/src/pages/AddExperience.tsx @@ -0,0 +1,54 @@ +import React, {FC} from 'react'; +import FormHeader from '../components/FormHeader'; + +const AddExperience: FC = () => { + return ( +
+ + +
+
+ +
+
+ +
+
+ +
+
+

From Date

+ +
+
+

To Date

+ +
+
+

+ Current Job +

+
+
+ +
+ + + Go Back + +
+
+ ); +}; + +export default AddExperience; diff --git a/src/pages/EditProfile.tsx b/src/pages/EditProfile.tsx index cdf5e53..b84c6fc 100644 --- a/src/pages/EditProfile.tsx +++ b/src/pages/EditProfile.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, {FC} from 'react'; import Header from '../components/Header'; import {FontAwesomeIcon} from '@fortawesome/react-fontawesome'; import { @@ -8,15 +8,15 @@ import { faLinkedin, faInstagram, } from '@fortawesome/free-brands-svg-icons'; +import FormHeader from '../components/FormHeader'; -const EditProfile = () => { +const EditProfile: FC = () => { return (
-
- * marks required fields
diff --git a/src/router/Router.tsx b/src/router/Router.tsx index 2eeb249..d1061c3 100644 --- a/src/router/Router.tsx +++ b/src/router/Router.tsx @@ -7,6 +7,7 @@ import Developers from '../pages/Developers'; import Profile from '../pages/Profile'; import EditProfile from '../pages/EditProfile'; import Dashboard from '../pages/Dashboard'; +import AddExperience from '../pages/AddExperience'; import * as ROUTES from '../constants/routes'; const Router: FC = () => ( @@ -18,6 +19,7 @@ const Router: FC = () => ( + );