Skip to content

Instantly share code, notes, and snippets.

@leanazulyoro
Last active July 16, 2019 20:40
Show Gist options
  • Save leanazulyoro/1420fa76a464e376bd13b22801f8453f to your computer and use it in GitHub Desktop.
Save leanazulyoro/1420fa76a464e376bd13b22801f8453f to your computer and use it in GitHub Desktop.
LeadListWithModals using useState()
import React, { useState } from 'react';
const LeadListWithModals = ({ leads }) => {
const [isRevisionModalOpen, setRevisionModalOpen] = useState(false);
const [leadInRevision, setLeadInRevision] = useState(null);
const [newStatus, setNewStatus] = useState(null);
const [isTrackingModalOpen, setTrackingModalOpen] = useState(false);
const [trackingLead, setTrackingLead] = useState(null);
const handleRevisionRequest = (lead) => {
setLeadInRevision(lead);
setRevisionModalOpen(!isRevisionModalOpen);
};
const handleLeadStatusChange = (lead, value) => {
setTrackingLead(lead);
setNewStatus(value);
setTrackingModalOpen(!isTrackingModalOpen);
};
return (
<>
<LeadList
leads={leads}
onRevisionRequest={handleRevisionRequest}
onStatusChange={handleLeadStatusChange}
/>
{leadInRevision ? (
<RevisionModal
onToggle={() => { setRevisionModalOpen(!isRevisionModalOpen); }}
isOpen={isRevisionModalOpen}
lead={leadInRevision}
/>
) : null}
{trackingLead ? (
<TrackingModal
onToggle={() => { setTrackingModalOpen(); }}
isOpen={isTrackingModalOpen}
lead={trackingLead}
selectValue={newStatus}
/>
) : null}
</>
);
};
export default LeadListWithModals;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment