diff --git a/src/Routers.jsx b/src/Routers.jsx index e6cdc54..af7da6e 100644 --- a/src/Routers.jsx +++ b/src/Routers.jsx @@ -29,6 +29,7 @@ import CalendarPage from "./views/CalendarPage"; import ResourcePage from "./views/ResourcePage"; import MyTaskPage from "./views/MyTaskPage"; import MyJobsPage from "./views/MyJobsPage"; +import ReferralPage from "./views/ReferralPage"; export default function Routers() { return ( @@ -81,6 +82,7 @@ export default function Routers() { } /> } /> } /> + } /> } /> diff --git a/src/components/Partials/MobileSideBar.jsx b/src/components/Partials/MobileSideBar.jsx index ab0de74..0bc25bc 100644 --- a/src/components/Partials/MobileSideBar.jsx +++ b/src/components/Partials/MobileSideBar.jsx @@ -168,6 +168,19 @@ export default function MobileSidebar({ sidebar, action, logoutModalHandler }) { +
  • + + + + + + Refer a Friend + + +
  • diff --git a/src/components/Partials/Sidebar.jsx b/src/components/Partials/Sidebar.jsx index 38a58e8..d21d62e 100644 --- a/src/components/Partials/Sidebar.jsx +++ b/src/components/Partials/Sidebar.jsx @@ -237,6 +237,27 @@ export default function Sidebar({ sidebar, action, logoutModalHandler }) { + +
  • + (navData.isActive ? "active" : ""), + sidebar ? "justify-start space-x-3.5" : "justify-center") + }`} + > + + + + + Refer a Friend + + +
  • diff --git a/src/components/Referral/Index.jsx b/src/components/Referral/Index.jsx new file mode 100644 index 0000000..c162b16 --- /dev/null +++ b/src/components/Referral/Index.jsx @@ -0,0 +1,13 @@ +import React from 'react' +import Layout from '../Partials/Layout' +import ReferralDisplay from './ReferralDisplay' + +function Referral() { + return ( + + + + ) +} + +export default Referral \ No newline at end of file diff --git a/src/components/Referral/ReferralDisplay.jsx b/src/components/Referral/ReferralDisplay.jsx new file mode 100644 index 0000000..2166391 --- /dev/null +++ b/src/components/Referral/ReferralDisplay.jsx @@ -0,0 +1,116 @@ +import React, { useState } from 'react' + +function ReferralDisplay() { + let [referralList, setReferralList] = useState([]) // dummy remove later and call from API + + //STATE FOR CONTROLLED INPUTS + let [inputs, setInputs] = useState({ + firstname: '', + lastname: '', + email: '', + status: 'pending' + }) + + // FUNCTION TO HANDLE INPUT CHANGE + const handleChange = ({target:{name, value}}) => { + setInputs(prev => ({...prev, [name]:value})) + } + + //FUNCTION TO HANDLE SUBMIT + const handleSubmit = (e) => { + e.preventDefault(); + + //valid inputs before submitting. Just for texting remove later + setReferralList(prev => [...prev, inputs]) + setInputs({ + firstname: '', + lastname: '', + email: '', + status: 'pending' + }) + } + + return ( +
    +
    +
    +

    Send Referral

    +
    +
    + + +
    + +
    + + +
    + +
    + + +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +

    Referral List

    + + + + + + + + + + {referralList.length ? + referralList.map(item => ( + + + + + + )) + : + ( + + + ) + } + +
    Added/NameEmailStatus
    {item.firstname} {item.lastname}{item.email}{item.status}
    No Item Found on referral List
    +
    +
    +
    + ) +} + +export default ReferralDisplay \ No newline at end of file diff --git a/src/views/ReferralPage.jsx b/src/views/ReferralPage.jsx new file mode 100644 index 0000000..8247e86 --- /dev/null +++ b/src/views/ReferralPage.jsx @@ -0,0 +1,12 @@ +import React from 'react' +import Referral from '../components/Referral/Index' + +function ReferralPage() { + return ( + <> + + + ) +} + +export default ReferralPage \ No newline at end of file