fix: handle optional state properties and improve animation transitions in LockersRegistration component

This commit is contained in:
Md Asif 2024-12-23 20:47:19 +05:30
parent 48b9b70c4a
commit 9d33cb5372

View File

@ -14,7 +14,8 @@ function LockersRegistration() {
const location = useLocation();
const showToast = useToast();
const { setIsLoading } = useLoading();
const { noOfLockers, cabinetId } = location.state;
const noOfLockers = location.state?.noOfLockers;
const cabinetId = location.state?.cabinetId;
const [submitting, setSubmitting] = useState(false);
const [notification, setNotification] = useState({
visible: false,
@ -22,7 +23,7 @@ function LockersRegistration() {
type: "",
});
const initLockers = Array(parseInt(noOfLockers))
const initLockers = Array(noOfLockers ? parseInt(noOfLockers) : 0)
.fill()
.map(() => ({
id: "",
@ -209,9 +210,9 @@ function LockersRegistration() {
<AnimatePresence>
{notification.visible && (
<motion.div
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
exit={{ opacity: 0 }}
initial={{ y: 15, opacity: 0 }}
animate={{ y: 0, opacity: 1 }}
exit={{ y: 15, opacity: 0 }}
className={clsx(
"p-4 mb-8 font-body text-center text-xl rounded-2xl flex items-center justify-center gap-2",
notification.type === "error"