From f00b7c827db2a409ae1d5ecaec4f3216429fd3cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20FAMIBELLE-PRONZOLA?= Date: Wed, 23 Jul 2025 20:10:01 +0400 Subject: [PATCH] =?UTF-8?q?fix:=20ajout=C3=A9=20feedback=20visuel=20pour?= =?UTF-8?q?=20votes=20sur=20VersionPage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Callback onVoteResult pour VoteButtons avec notifications - Snackbar pour confirmer succès/erreur des votes - État snackbar avec gestion des messages --- components/versions/version-page.js | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/components/versions/version-page.js b/components/versions/version-page.js index 7cf3aba..f5e450d 100644 --- a/components/versions/version-page.js +++ b/components/versions/version-page.js @@ -10,6 +10,8 @@ import Paper from '@mui/material/Paper' import Chip from '@mui/material/Chip' import IconButton from '@mui/material/IconButton' import Tooltip from '@mui/material/Tooltip' +import Snackbar from '@mui/material/Snackbar' +import Alert from '@mui/material/Alert' import ArrowBackIcon from '@mui/icons-material/ArrowBack' import ShareIcon from '@mui/icons-material/Share' import {useRouter} from 'next/navigation' @@ -33,6 +35,7 @@ export default function VersionPage({session, versionId, viewMode}) { const [loading, setLoading] = useState(true) const [error, setError] = useState('') const [isErrorAlertOpen, setIsErrorAlertOpen] = useState(false) + const [snackbar, setSnackbar] = useState({open: false, message: '', severity: 'success'}) useEffect(() => { async function fetchVersionData() { @@ -79,6 +82,18 @@ export default function VersionPage({session, versionId, viewMode}) { router.push('/dashboard') } + const handleVoteResult = result => { + setSnackbar({ + open: true, + message: result.message, + severity: result.success ? 'success' : 'error' + }) + } + + const handleCloseSnackbar = () => { + setSnackbar(prev => ({...prev, open: false})) + } + const handleShare = async () => { const url = window.location.href @@ -208,7 +223,7 @@ export default function VersionPage({session, versionId, viewMode}) { label='Copier le contenu de cette version' /> {!isVoteDisabled && ( - + )} @@ -234,6 +249,17 @@ export default function VersionPage({session, versionId, viewMode}) {