Skip to content

Instantly share code, notes, and snippets.

@leanazulyoro
Created July 16, 2019 19:48
Show Gist options
  • Save leanazulyoro/9fe8acbe4c2353b44d53dcaae6ae8ad2 to your computer and use it in GitHub Desktop.
Save leanazulyoro/9fe8acbe4c2353b44d53dcaae6ae8ad2 to your computer and use it in GitHub Desktop.
Custom hooks implementing modals
import React, { useState } from 'react';
import TrackingModalContainer from '@containers/TrackingModal/TrackingModal';
import RevisionModalContainer from '@containers/RevisionModal/RevisionModal';
export const useTrackingModal = () => {
const [newStatus, setNewStatus] = useState(null);
const [isTrackingModalOpen, setTrackingModalOpen] = useState(false);
const [trackingLead, setTrackingLead] = useState(null);
const handleLeadStatusChange = (lead, value) => {
setTrackingLead(lead);
setNewStatus(value);
setTrackingModalOpen(!isTrackingModalOpen);
};
return [
handleLeadStatusChange,
trackingLead ? (
<TrackingModalContainer
onToggle={() => { setTrackingModalOpen(); }}
isOpen={isTrackingModalOpen}
lead={trackingLead}
selectValue={newStatus}
/>
) : null,
];
};
export const useRevisionModal = () => {
const [isRevisionModalOpen, setRevisionModalOpen] = useState(false);
const [leadInRevision, setLeadInRevision] = useState(null);
const handleRevisionRequest = (lead) => {
setLeadInRevision(lead);
setRevisionModalOpen(!isRevisionModalOpen);
};
return [
handleRevisionRequest,
leadInRevision ? (
<RevisionModalContainer
onToggle={() => { setRevisionModalOpen(); }}
isOpen={isRevisionModalOpen}
lead={leadInRevision}
/>
) : null,
];
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment