import { useState } from 'react' import Cookies from 'universal-cookie' import SwipeableViews from 'react-swipeable-views' import HeadTag from '../../components/HeadTag' import AddEditFunction from '../../components/FunctionAdmin/AddEditFunction' import EditArticleFunction from '../../components/FunctionAdmin/EditArticleFunction' import EditFormFunction from '../../components/FunctionAdmin/EditFormFunction' import redirect from '../../utils/redirect' import api, { API_URL } from '../../utils/api' import '../../components/FunctionPage/FunctionTabs.css' import '../../public/css/pages/admin.css' const AdminFunctionComponent = props => { const [slideIndex, setSlideIndex] = useState(0) const handleDeleteFunction = async () => { await api.delete(`/admin/functions/${props.functionInfo.id}`, { headers: { Authorization: props.user.token } }) redirect({}, '/admin') } return ( <>
setSlideIndex(index)} index={slideIndex} >
) } export async function getServerSideProps (context) { const cookies = new Cookies(context.req.headers.cookie) const user = { ...cookies.get('user') } const { slug } = context.params if (!user.isAdmin) { return redirect(context, '/404') } return api .get(`/admin/functions/${slug}`, { headers: { Authorization: user.token } }) .then(response => { return { props: { user, functionInfo: response.data } } }) .catch(() => redirect(context, '/404')) } export default AdminFunctionComponent