Closed lineaalba closed 3 years ago
Liten steg-för-steg guide till hur man kan göra detta:
Till att börja med kan vi låta allt som ligger i Device vara kvar, vi börjar med att bara utöka saker tills modalen är på plats och vi sen kan ta bort de gamla knapparna.
Skapa en ny Button (chakra-komponent) i components/Device, den kan ligga precis efter SubscriptionButton på rad 60 och kan få texten "Send to Zapier" eller något sånt.
Importera useDisclosure
från Chakra, detta är en hook som man extrahera 3 funktioner ur, isOpen
, onOpen
och onClose
vilket låter oss styra modalen senare. På knappen ifrån steg 2 lägg till en onClick
som använder onOpen
. Se exempel här under Usage: https://chakra-ui.com/docs/overlay/modal
Nu ska vi gå ifrån exemplet i chakras docs lite grann, eftersom vår Modal kommer bli ganska stor borde vi inte (som i exemplet) låta den ligga tillsammans med resten av koden (det blir grötigt). Skapa i stället en ny fil som heter typ SettingsModal.js
Skapa en ny funktionell komponent i filen, typ const SettingsModal = ({isOpen, onClose}) => {return (<Modal>...</Modal>)}
och sätt den som default export.
Importera alla Modal-komponenter från Chakra (https://chakra-ui.com/docs/overlay/modal) och härma deras exempel.
Spara filen och återgå till components/Device, importera den nya modalkomponenten från SettingsModal, lägg till den på raden under Modal-knappen och se till att ge den propsen isOpen och onClose: <SettingsModal isOpen={isOpen} onClose={onClose} />
Klart!! Eller redo att byggas vidare på iaf
Tidsuppskattning: 3 timmar