FunctionProject/website/components/FunctionAdmin/EditArticleFunction.jsx

46 lines
1.3 KiB
React
Raw Normal View History

2020-08-03 12:04:07 +02:00
import { useState } from 'react'
import dynamic from 'next/dynamic'
import { complex } from '../../utils/sunEditorConfig'
import api from '../../utils/api'
import FunctionArticle from '../FunctionPage/FunctionArticle'
import 'notyf/notyf.min.css'
import '../../public/css/suneditor.min.css'
const SunEditor = dynamic(
2020-08-03 12:04:07 +02:00
() => import('suneditor-react'),
{ ssr: false }
)
const EditArticleFunction = (props) => {
2020-08-03 12:04:07 +02:00
const [htmlContent, setHtmlContent] = useState('')
2020-08-03 12:04:07 +02:00
const handleEditorChange = (content) => {
setHtmlContent(content)
}
2020-08-03 12:04:07 +02:00
const handleSave = async (content) => {
let Notyf
if (typeof window !== 'undefined') {
Notyf = require('notyf')
}
2020-08-03 12:04:07 +02:00
const notyf = new Notyf.Notyf({
duration: 5000
})
try {
await api.put(`/admin/functions/article/${props.functionInfo.id}`, { article: content }, { headers: { Authorization: props.user.token } })
notyf.success('Sauvegardé!')
} catch {
notyf.error('Erreur!')
}
2020-08-03 12:04:07 +02:00
}
2020-08-03 12:04:07 +02:00
return (
<div className='container-fluid'>
<SunEditor setContents={props.functionInfo.article} lang='fr' onChange={handleEditorChange} setOptions={{ buttonList: complex, callBackSave: handleSave }} />
<FunctionArticle article={htmlContent} />
</div>
)
}
2020-08-03 12:04:07 +02:00
export default EditArticleFunction