diff --git a/app/page.js b/app/page.js
index 16c28cd..7ea70dc 100644
--- a/app/page.js
+++ b/app/page.js
@@ -6,7 +6,7 @@ import {auth} from '../auth.js'
import Konstitisyon from '@/components/konstitisyon/index.js'
import Footer from '@/components/footer.js'
import Sign from '@/components/session/sign.js'
-import Create from '@/components/konstitisyon/create.js'
+import Create from '@/components/konstitisyon/create/index.js'
const apiUrl = process.env.DIRECTUS_API_URL
const appTitle = process.env.APP_TITLE
@@ -59,7 +59,7 @@ export default async function Page() {
{appTitle.toUpperCase()}
{session && (
-
+
)}
diff --git a/components/konstitisyon/create.js b/components/konstitisyon/create.js
deleted file mode 100644
index d2fa9d8..0000000
--- a/components/konstitisyon/create.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import Box from '@mui/material/Box'
-import SpeedDial from '@mui/material/SpeedDial'
-import SpeedDialIcon from '@mui/material/SpeedDialIcon'
-import SpeedDialAction from '@mui/material/SpeedDialAction'
-import ArticleIcon from '@mui/icons-material/Article'
-import TitleIcon from '@mui/icons-material/Title'
-
-const actions = [
- {icon: , name: 'Créer un titre'},
- {icon: , name: 'Créer un article'}
-]
-
-export default function Create() {
- return (
-
- }
- >
- {actions.map(action => (
-
- ))}
-
-
- )
-}
diff --git a/components/konstitisyon/create/create-titre.js b/components/konstitisyon/create/create-titre.js
new file mode 100644
index 0000000..d9a022e
--- /dev/null
+++ b/components/konstitisyon/create/create-titre.js
@@ -0,0 +1,14 @@
+'use client'
+
+import CreateForm from '../forms/create-form.js'
+
+export default function CreateTitre(props) {
+ return (
+
+ )
+}
diff --git a/components/konstitisyon/create/handle-create.js b/components/konstitisyon/create/handle-create.js
new file mode 100644
index 0000000..403dbbd
--- /dev/null
+++ b/components/konstitisyon/create/handle-create.js
@@ -0,0 +1,41 @@
+import PropTypes from 'prop-types'
+import CreateTitre from './create-titre.js'
+
+export default function HandleCreate({
+ session,
+ isOpen,
+ setIsOpen,
+ setError,
+ setSuccess,
+ setIsErrorAlertOpen,
+ setIsSuccessAlertOpen,
+ collection
+}) {
+ if (collection === 'titres') {
+ return (
+
+ )
+ }
+}
+
+HandleCreate.propTypes = {
+ session: PropTypes.object,
+ isOpen: PropTypes.bool.isRequired,
+ setIsOpen: PropTypes.func.isRequired,
+ setError: PropTypes.func.isRequired,
+ setSuccess: PropTypes.func.isRequired,
+ setIsErrorAlertOpen: PropTypes.func.isRequired,
+ setIsSuccessAlertOpen: PropTypes.func.isRequired,
+ collection: PropTypes.oneOf(['titres', 'articles']).isRequired
+}
diff --git a/components/konstitisyon/create/index.js b/components/konstitisyon/create/index.js
new file mode 100644
index 0000000..67b0b29
--- /dev/null
+++ b/components/konstitisyon/create/index.js
@@ -0,0 +1,84 @@
+'use client'
+
+import PropTypes from 'prop-types'
+import Box from '@mui/material/Box'
+import SpeedDial from '@mui/material/SpeedDial'
+import SpeedDialIcon from '@mui/material/SpeedDialIcon'
+import SpeedDialAction from '@mui/material/SpeedDialAction'
+import ArticleIcon from '@mui/icons-material/Article'
+import TitleIcon from '@mui/icons-material/Title'
+import {useState} from 'react'
+import HandleCreate from './handle-create.js'
+import AuthAlert from '@/components/auth-form/auth-alert.js'
+
+const actions = [
+ {id: 'titres', icon: , name: 'Créer un titre'},
+ {id: 'articles', icon: , name: 'Créer un article'}
+]
+
+export default function Create({session}) {
+ const [collection, setCollection] = useState(null)
+ const [isDialogOpen, setIsDialogOpen] = useState(false)
+ const [isErrorAlertOpen, setIsErrorAlertOpen] = useState(false)
+ const [isSuccessAlertOpen, setIsSuccessAlertOpen] = useState(false)
+ const [error, setError] = useState('')
+ const [success, setSuccess] = useState('')
+
+ const handleTitresDialog = collection => {
+ setCollection(collection)
+ setIsDialogOpen(true)
+ }
+
+ return (
+ <>
+ {error && }
+
+ {success && }
+
+
+ }
+ >
+ {actions.map(({id, icon, name}) => (
+ handleTitresDialog(id)}
+ />
+ ))}
+
+
+ {collection && (
+
+ )}
+ >
+ )
+}
+
+Create.propTypes = {
+ session: PropTypes.object
+}
diff --git a/components/konstitisyon/forms/create-form.js b/components/konstitisyon/forms/create-form.js
index 6e98453..207769d 100644
--- a/components/konstitisyon/forms/create-form.js
+++ b/components/konstitisyon/forms/create-form.js
@@ -25,7 +25,8 @@ export default function CreateForm({
dialogText,
collection,
title,
- label
+ label,
+ hasMultiline = true
}) {
const countdownRef = useRef()
@@ -45,6 +46,11 @@ export default function CreateForm({
titre: selectedTitre,
status: 'draft',
}
+ } else if (collection === 'titres') {
+ requestObject = {
+ contenu: formattedContent,
+ status: 'draft',
+ }
}
await handleSubmit({
@@ -80,8 +86,8 @@ export default function CreateForm({