diff --git a/src/components/VolunteerBoard/Board.tsx b/src/components/VolunteerBoard/Board.tsx
index f92787b..cb77bcf 100644
--- a/src/components/VolunteerBoard/Board.tsx
+++ b/src/components/VolunteerBoard/Board.tsx
@@ -1,14 +1,16 @@
import { FC, memo } from "react"
import DayWishes from "./DayWishes/DayWishes"
import DayWishesFormModal from "./DayWishesForm/DayWishesFormModal"
-import ParticipationDetailsForm from "./ParticipationDetailsForm/ParticipationDetailsForm"
+import ParticipationDetails from "./ParticipationDetails/ParticipationDetails"
+import ParticipationDetailsFormModal from "./ParticipationDetailsForm/ParticipationDetailsFormModal"
import withUserConnected from "../../utils/withUserConnected"
const Board: FC = (): JSX.Element => (
)
diff --git a/src/components/VolunteerBoard/ParticipationDetails/ParticipationDetails.tsx b/src/components/VolunteerBoard/ParticipationDetails/ParticipationDetails.tsx
new file mode 100644
index 0000000..5620e0f
--- /dev/null
+++ b/src/components/VolunteerBoard/ParticipationDetails/ParticipationDetails.tsx
@@ -0,0 +1,47 @@
+import { FC, memo, useCallback } from "react"
+import get from "lodash/get"
+import styles from "./styles.module.scss"
+import { useUserParticipationDetails } from "../participationDetails.utils"
+import { displayModal, MODAL_IDS } from "../../../store/ui"
+import useAction from "../../../utils/useAction"
+
+type Props = {
+ afterSubmit?: () => void | undefined
+}
+
+const ParticipationDetailsForm: FC = (): JSX.Element | null => {
+ const [participationDetails] = useUserParticipationDetails()
+ const age = get(participationDetails, "age", "")
+ const tShirtSize = get(participationDetails, "teeshirtSize", "")
+ const food = get(participationDetails, "food", "")
+ const execDisplayModal = useAction(displayModal)
+ const onEdit = useCallback(
+ () => execDisplayModal(MODAL_IDS.PARTICIPATIONDETAILS),
+ [execDisplayModal]
+ )
+
+ return (
+
+
Mes informations pour le festival
+ {!tShirtSize &&
J'ai déjà 2 t-shirts.
}
+ {tShirtSize && (
+
+ J'ai besoin d'un t-shirt ! (Taille {tShirtSize})
+
+ )}
+
+ Age : {age} ans.
+
+
+ Préférence alimentaire : {food}
+
+
+
+
+
+ )
+}
+
+export default memo(ParticipationDetailsForm)
diff --git a/src/components/VolunteerBoard/ParticipationDetails/styles.module.scss b/src/components/VolunteerBoard/ParticipationDetails/styles.module.scss
new file mode 100755
index 0000000..2b922ae
--- /dev/null
+++ b/src/components/VolunteerBoard/ParticipationDetails/styles.module.scss
@@ -0,0 +1,24 @@
+@import "../../../theme/variables";
+@import "../../../theme/mixins";
+
+.root {
+ @include inner-content-wrapper();
+
+ position: relative;
+}
+
+.title {
+ padding-bottom: 5px;
+ font-weight: bold;
+}
+
+.line {
+ margin: 2px 0;
+}
+
+.editButton {
+ @include vertical-center();
+
+ position: absolute;
+ right: 20px;
+}
diff --git a/src/components/VolunteerBoard/ParticipationDetailsForm/ParticipationDetailsForm.tsx b/src/components/VolunteerBoard/ParticipationDetailsForm/ParticipationDetailsForm.tsx
index d3d3736..64a753b 100644
--- a/src/components/VolunteerBoard/ParticipationDetailsForm/ParticipationDetailsForm.tsx
+++ b/src/components/VolunteerBoard/ParticipationDetailsForm/ParticipationDetailsForm.tsx
@@ -8,7 +8,11 @@ import {
useUserParticipationDetails,
} from "../participationDetails.utils"
-const ParticipationDetailsForm: FC = (): JSX.Element | null => {
+type Props = {
+ afterSubmit?: () => void | undefined
+}
+
+const ParticipationDetailsForm: FC = ({ afterSubmit }): JSX.Element | null => {
const sizeRef = useRef(null)
const dietRef = useRef(null)
const ageRef = useRef(null)
@@ -19,9 +23,10 @@ const ParticipationDetailsForm: FC = (): JSX.Element | null => {
const onSubmit = useCallback(() => {
const age = get(ageRef, "current.value", "")
const teeshirtSize = has2Shirts ? "" : get(sizeRef, "current.value", "")
- const food = get(dietRef, "current.value", foodDefaultValue)
+ const food = get(dietRef, "current.value", "") || foodDefaultValue
saveParticipationDetails({ age, teeshirtSize, food })
- }, [has2Shirts, saveParticipationDetails])
+ if (afterSubmit) afterSubmit()
+ }, [has2Shirts, saveParticipationDetails, afterSubmit])
const onHas2ShirtsClick = useCallback(
(value) => {
@@ -43,7 +48,7 @@ const ParticipationDetailsForm: FC = (): JSX.Element | null => {
return (
-
Informations pour le festival
+
Mes informations pour le festival
J'ai déjà 2 t-shirts