import React, { FC, useState } from "react"; import { useDispatch, useSelector } from "react-redux"; import { Link, useHistory } from "react-router-dom"; import { FaHome, FaPlus } from "react-icons/fa"; import styled from "styled-components"; import { turnOff } from "../../services/store/unsavedChanges"; import { RootState } from "../../services/store"; import { Dialog } from "../Dialog"; import {QuestionRoutePaths} from "../../routes"; const HorizontalMenu = styled.ul` margin: 0; padding: 0; list-style: none; width: 100%; display: flex; & > li { display: inline; cursor: pointer; } & > li { display: inline; } & > li > div { cursor: pointer; display: inline-flex; flex-direction: row; margin-right: 2rem; } `; type ItemProps = { className?: string children?: any } const Item: FC = ({ children, className }) => (
{children}
); type Props = { home?: boolean newQuestion?: boolean children?: any } export const Navigator: FC = ({ home = false, newQuestion = false, children, }) => { const [confirmLeaveDialog, setConfirmLeaveDialog] = useState(false); const unsavedChanges = useSelector((state: RootState) => state.unsavedChanges) const dispatch = useDispatch() const history = useHistory(); const confirmLeave = () => { dispatch(turnOff()); history.push(QuestionRoutePaths.index); }; const goHome = () => { if (unsavedChanges) { setConfirmLeaveDialog(true); } else { confirmLeave(); } }; return ( <> setConfirmLeaveDialog(value)} onConfirmation={confirmLeave} title="Modificações não Salvas" text="Todas as alterações serão descartadas. Deseja continuar?" />
{home && ( )} { (newQuestion) ? ( Nova Questão ) : null } {children}
); };