Skip to content

Commit c072f0a

Browse files
authored
Merge pull request #66 from AnWhiteM/sidebar
Sidebar
2 parents 0084352 + ed42a43 commit c072f0a

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

src/components/CreateBoardModal/CreateBoardModal.jsx

+19-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useState } from "react";
1+
import { useState, useEffect } from "react";
22
import Modal from "react-modal";
33
import { Formik, Field, Form, ErrorMessage } from "formik";
44
import * as Yup from "yup";
@@ -36,9 +36,14 @@ export default function CreateBoardModal({
3636
initialTitle = "",
3737
}) {
3838
const [selectedIcon, setSelectedIcon] = useState(icons[0]);
39-
const [selectedBg, setSelectedBg] = useState(bgData[0].id);
39+
const [selectedBg, setSelectedBg] = useState(bgData[0]);
4040
const dispatch = useDispatch();
4141

42+
useEffect(() => {
43+
const { id, mini, mini2x, ...bgs } = selectedBg;
44+
console.log(bgs);
45+
}, [selectedBg]);
46+
4247
const handleSubmit = (values, actions) => {
4348
const newBoard = {
4449
title: values.title,
@@ -49,6 +54,7 @@ export default function CreateBoardModal({
4954
dispatch(addBoard(newBoard));
5055
onClose();
5156
};
57+
5258
const handleIconSelect = (icon, setFieldValue) => {
5359
setSelectedIcon(icon);
5460
setFieldValue("icon", icon);
@@ -58,11 +64,12 @@ export default function CreateBoardModal({
5864
const selectedBackground = bgData.find((bg) => bg.id === bgId);
5965
if (selectedBackground) {
6066
const { id, mini, mini2x, ...bgs } = selectedBackground;
61-
setSelectedBg(bgId);
67+
setSelectedBg(selectedBackground);
6268
setFieldValue("background", bgs);
6369
console.log(bgs);
6470
}
6571
};
72+
6673
return (
6774
<Modal
6875
overlayClassName={css.overlay}
@@ -86,8 +93,9 @@ export default function CreateBoardModal({
8693
}}
8794
validationSchema={titleValidationSchema}
8895
onSubmit={handleSubmit}
96+
enableReinitialize
8997
>
90-
{({ setFieldValue }) => (
98+
{({ setFieldValue, values }) => (
9199
<Form>
92100
<div>
93101
<label htmlFor="title"></label>
@@ -115,7 +123,7 @@ export default function CreateBoardModal({
115123
type="radio"
116124
name="icon"
117125
value={icon}
118-
checked={selectedIcon === icon}
126+
checked={values.icon === icon}
119127
onChange={() => handleIconSelect(icon, setFieldValue)}
120128
/>
121129
<svg
@@ -137,13 +145,17 @@ export default function CreateBoardModal({
137145
<ul className={css.bgList}>
138146
{bgData.map((bg) => (
139147
<li key={bg.id}>
140-
<label className={css.backgroundLabel}>
148+
<label
149+
className={clsx(css.backgroundLabel, {
150+
[css.selectedBg]: selectedBg.id === bg.id,
151+
})}
152+
>
141153
<Field
142154
className={clsx(css.radioInput, css.visuallyHidden)}
143155
type="radio"
144156
name="background"
145157
value={bg.id}
146-
checked={selectedBg === bg.id}
158+
checked={values.background.id === bg.id}
147159
onChange={() => handleBgSelect(bg.id, setFieldValue)}
148160
/>
149161
<img

0 commit comments

Comments
 (0)