refactor: improve HandleCreate

This commit is contained in:
2024-06-22 21:11:01 +04:00
parent 6cd2a0c438
commit 8c153605f9
5 changed files with 31 additions and 36 deletions
@@ -1,14 +0,0 @@
'use client'
import CreateForm from '../forms/create-form.js'
export default function CreateComment(props) {
return (
<CreateForm
{...props}
collection='commentaires'
dialogText='Écrivez votre commentaire'
label='commentaire'
/>
)
}
@@ -1,14 +0,0 @@
'use client'
import CreateForm from '../forms/create-form.js'
export default function CreateTitre(props) {
return (
<CreateForm
{...props}
collection='titres'
dialogText='Écrivez votre titre'
label='titre'
/>
)
}
@@ -1,8 +1,9 @@
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import CreateTitre from './create-titre.js' import CreateForm from './create-form.js'
export default function HandleCreate({ export default function HandleCreate({
session, session,
selectedTitre,
isOpen, isOpen,
setIsOpen, setIsOpen,
setError, setError,
@@ -13,7 +14,7 @@ export default function HandleCreate({
}) { }) {
if (collection === 'titres') { if (collection === 'titres') {
return ( return (
<CreateTitre <CreateForm
session={session} session={session}
isOpen={isOpen} isOpen={isOpen}
setIsOpen={setIsOpen} setIsOpen={setIsOpen}
@@ -21,9 +22,30 @@ export default function HandleCreate({
setSuccess={setSuccess} setSuccess={setSuccess}
setIsErrorAlertOpen={setIsErrorAlertOpen} setIsErrorAlertOpen={setIsErrorAlertOpen}
setIsSuccessAlertOpen={setIsSuccessAlertOpen} setIsSuccessAlertOpen={setIsSuccessAlertOpen}
title='Titre'
label='Écrivez votre titre'
hasMultiline={false} hasMultiline={false}
title='Titre'
collection={collection}
dialogText='Écrivez votre titre'
label='titre'
/>
)
}
if (collection === 'commentaires') {
return (
<CreateForm
session={session}
selectedTitre={selectedTitre}
isOpen={isOpen}
setIsOpen={setIsOpen}
setError={setError}
setSuccess={setSuccess}
setIsErrorAlertOpen={setIsErrorAlertOpen}
setIsSuccessAlertOpen={setIsSuccessAlertOpen}
title={selectedTitre.titre}
collection={collection}
dialogText='Écrivez votre commentaire'
label='commentaire'
/> />
) )
} }
@@ -31,6 +53,7 @@ export default function HandleCreate({
HandleCreate.propTypes = { HandleCreate.propTypes = {
session: PropTypes.object, session: PropTypes.object,
selectedTitre: PropTypes.object,
isOpen: PropTypes.bool.isRequired, isOpen: PropTypes.bool.isRequired,
setIsOpen: PropTypes.func.isRequired, setIsOpen: PropTypes.func.isRequired,
setError: PropTypes.func.isRequired, setError: PropTypes.func.isRequired,
+4 -4
View File
@@ -11,7 +11,7 @@ import Tooltip, {tooltipClasses} from '@mui/material/Tooltip'
import AuthAlert from '../auth-form/auth-alert.js' import AuthAlert from '../auth-form/auth-alert.js'
import Titre from './titre.js' import Titre from './titre.js'
import Article from './article.js' import Article from './article.js'
import HandleComments from './comments/handle-comments.js' import HandleCreate from './create/handle-create.js'
import {formatKonstitisyon} from '@/lib/format.js' import {formatKonstitisyon} from '@/lib/format.js'
const LightTooltip = styled(({className, ...props}) => ( const LightTooltip = styled(({className, ...props}) => (
@@ -84,8 +84,8 @@ export default function Konstitisyon({session, titres, articles}) {
)} )}
</Paper> </Paper>
))} ))}
{selectedTitre && ( {selectedTitre && operation === 'create' && (
<HandleComments <HandleCreate
session={session} session={session}
selectedTitre={selectedTitre} selectedTitre={selectedTitre}
isOpen={isDialogOpen} isOpen={isDialogOpen}
@@ -94,7 +94,7 @@ export default function Konstitisyon({session, titres, articles}) {
setSuccess={setSuccess} setSuccess={setSuccess}
setIsErrorAlertOpen={setIsErrorAlertOpen} setIsErrorAlertOpen={setIsErrorAlertOpen}
setIsSuccessAlertOpen={setIsSuccessAlertOpen} setIsSuccessAlertOpen={setIsSuccessAlertOpen}
operation={operation} collection='commentaires'
/> />
)} )}
</Box> </Box>