import Box from '@mui/material/Box'; import Button from '@mui/material/Button'; import Modal from '@mui/material/Modal'; import Stack from '@mui/material/Stack'; import TextField from '@mui/material/TextField'; import Typography from '@mui/material/Typography'; import Head from 'next/head' import Image from 'next/image' import Link from 'next/link' import { useRouter } from 'next/router' import React, { useEffect, useState } from 'react' import { api } from '../../../services/api'; import ConfirmModal from '../../../components/modal/ConfirmModal'; import { ConfirmModalView } from '../../../styles/layouts/modals/confirmModalView'; import Snackbar from '@mui/material/Snackbar'; import MuiAlert, { AlertProps } from '@mui/material/Alert'; import FaqTable from '../../../components/administrativeTables/FaqTable'; import BasicButton from '../../../components/buttons/basicButton/BasicButton'; import FaqButton1 from '../../../components/buttons/faqButton/FaqButton1'; import FaqButton2 from '../../../components/buttons/faqButton/FaqButton2'; import Header from '../../../components/header/Header' import PageTitle from '../../../components/pageTitle/PageTitle' import { FaqView } from '../../../styles/layouts/commonQuestions/FaqView' import getAPIClient from '../../../services/ssrApi'; import { GetServerSideProps } from 'next'; import { parseCookies } from 'nookies'; const style = { position: 'absolute' as const, top: '50%', left: '50%', transform: 'translate(-50%, -50%)', width: 900, height: 500, bgcolor: 'background.paper', border: '2px solid #000', boxShadow: 24, p: 4, }; const Alert = React.forwardRef(function Alert( props, ref, ) { return ; }); type FaqInterface = { question: string; answer: string; } export default function Sidebar({faqData, userName} : any ) { const [openModalInativar, setOpenModalInativar] = useState(false) const [openSnackSuccess, setOpenSnackSuccess] = useState(false); const [openSnackError, setOpenSnackError] = useState(false); const [openSnackSuccessDelete, setOpenSnackSuccessDelete] = useState(false); const [openSnackErrorDelete, setOpenSnackErrorDelete] = useState(false); const handleCloseSnack = (event?: React.SyntheticEvent | Event, reason?: string) => { if (reason === 'clickaway') { return; } setOpenSnackError(false); setOpenSnackSuccess(false); }; const handleCloseSnackDelete = (event?: React.SyntheticEvent | Event, reason?: string) => { if (reason === 'clickaway') { return; } setOpenSnackErrorDelete(false); setOpenSnackSuccessDelete(false); }; async function handleDeleteNotification(id: any) { await id.map((value) => { api.delete(`/faq/${value}`).then(res => { setOpenSnackSuccessDelete(true) setOpenModalInativar(false) window.location.reload() }).catch(res => setOpenSnackErrorDelete(true)) }) } const [faq, setFaq] = useState({ question: '', answer : '', }) const [selectedfaq, setSelectedfaq] = useState([]) async function handleRegisterNewFaq({question, answer}: FaqInterface) { await api.post('/faq', { "question": question, "answer": answer, }).then(res => { setOpenSnackSuccess(true) window.location.reload() }).catch(res => setOpenSnackError(true)) } const [open, setOpen] = React.useState(false); const handleOpen = () => setOpen(true); const handleClose = () => setOpen(false); return ( <>
Pergunta cadastrada com sucesso! Pergunta não cadastrada! Pergunta excluida com sucesso! Pergunta não excluida!

Adicionar/Editar Pergunta

Adicionar/Editar Pergunta
setFaq({...faq, question:value.target.value})} sx={{width:710, ml:8}} variant="outlined" />

setFaq({...faq, answer:value.target.value})} sx={{width:710, ml:8}} variant="outlined" />

setOpen(false)} /> handleRegisterNewFaq(faq)}/>
setSelectedfaq(value)}/> {setOpenModalInativar(value)}}> handleDeleteNotification(selectedfaq)}/> setOpenModalInativar(false)}/> ) } export const getServerSideProps: GetServerSideProps = async (ctx) => { const apiClient = getAPIClient(ctx) const { ['@smartAuth-token']: token } = parseCookies(ctx) const { ['user-name']: userName } = parseCookies(ctx) let faqData = []; await apiClient.get('/faq').then(res => { faqData = res.data.data }).catch(res => { // console.log(res) }) if (!token) { return { redirect: { destination: '/', permanent: false } } } return { props: { faqData, userName } } }