Skip to content
Snippets Groups Projects
Commit fb2290a2 authored by Guilhem CARRON's avatar Guilhem CARRON
Browse files

Add is touched editor

parent e9ced285
Branches
No related tags found
2 merge requests!7feat: add front office,!2Feat/setup auth
...@@ -10,8 +10,10 @@ const Editing: React.FC = () => { ...@@ -10,8 +10,10 @@ const Editing: React.FC = () => {
const [date, setDate] = useState<Date>(new Date()) const [date, setDate] = useState<Date>(new Date())
const [header, setHeader] = useState<string>('') const [header, setHeader] = useState<string>('')
const [quote, setQuote] = useState<string>('') const [quote, setQuote] = useState<string>('')
const [isTouched, setIsTouched] = useState<boolean>(false)
const { user }: any = useContext(UserContext) const { user }: any = useContext(UserContext)
const handleSave = async () => {
const handleSave = async (): Promise<void> => {
const monthlyNewsService = new MonthlyNewsService() const monthlyNewsService = new MonthlyNewsService()
await monthlyNewsService.createMonthlyReport( await monthlyNewsService.createMonthlyReport(
date, date,
...@@ -24,11 +26,25 @@ const Editing: React.FC = () => { ...@@ -24,11 +26,25 @@ const Editing: React.FC = () => {
setQuote('') setQuote('')
setHeader('') setHeader('')
}, []) }, [])
const isEmpty = (): boolean => { const isEmpty = (): boolean => {
if (quote !== '' || header !== '') { if ((quote !== '' || header !== '') && isTouched) {
return false return false
} else return true } else return true
} }
const handleEditorChange = (
value: string,
type: 'header' | 'quote'
): void => {
setIsTouched(true)
if (type === 'header') {
setHeader(value)
} else {
setQuote(value)
}
}
useEffect(() => { useEffect(() => {
async function getCurrentMonthlyNews() { async function getCurrentMonthlyNews() {
const monthlyNewsService = new MonthlyNewsService() const monthlyNewsService = new MonthlyNewsService()
...@@ -37,10 +53,10 @@ const Editing: React.FC = () => { ...@@ -37,10 +53,10 @@ const Editing: React.FC = () => {
date.getMonth(), date.getMonth(),
user.xsrftoken user.xsrftoken
) )
console.log('news', news)
if (news) { if (news) {
setHeader(news.header) setHeader(news.header)
setQuote(news.quote) setQuote(news.quote)
setIsTouched(false)
} }
} }
getCurrentMonthlyNews() getCurrentMonthlyNews()
...@@ -67,7 +83,9 @@ const Editing: React.FC = () => { ...@@ -67,7 +83,9 @@ const Editing: React.FC = () => {
'undo redo | bold italic underline | alignleft aligncenter alignright | code', 'undo redo | bold italic underline | alignleft aligncenter alignright | code',
}} }}
value={header} value={header}
onEditorChange={(newHeader, editor) => setHeader(newHeader)} onEditorChange={(newHeader, editor) =>
handleEditorChange(newHeader, 'header')
}
/> />
<div className="subtitle"> <div className="subtitle">
<p className="title">Citation du mois</p> <p className="title">Citation du mois</p>
...@@ -81,7 +99,9 @@ const Editing: React.FC = () => { ...@@ -81,7 +99,9 @@ const Editing: React.FC = () => {
'undo redo | bold italic underline | alignleft aligncenter alignright | code', 'undo redo | bold italic underline | alignleft aligncenter alignright | code',
}} }}
value={quote} value={quote}
onEditorChange={(newQuote, editor) => setQuote(newQuote)} onEditorChange={(newQuote, editor) =>
handleEditorChange(newQuote, 'quote')
}
/> />
<button className="btnCancel" onClick={handleCancel}> <button className="btnCancel" onClick={handleCancel}>
Annuler Annuler
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment