-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
85 lines (80 loc) · 2.56 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import styles from "./PledgeList.module.scss";
import { NoRewardPledge } from "../NoRewardPledge";
import { Pledge } from "../Pledge";
export const PledgeList = ({
pledges,
selectedPledge,
onPledgeSelect,
onSubmit,
onSubmitNoReward,
}) => {
const handleSubmit = (event) => {
event.preventDefault();
console.log(event.target.elements);
const form = event.target;
const { id, value } = form.elements.namedItem("pledgeAmount");
// const { id, value } = form.elements["pledgeAmount"]
onSubmit(id, value);
};
return (
<>
<form onSubmit={onSubmitNoReward}>
<NoRewardPledge
pledgeId={selectedPledge.pledgeId}
onPledgeSelect={onPledgeSelect}
/>
</form>
{pledges.map(({ id, pledgeAmount, description, stock, name }) => {
const disabled = stock > 0 ? false : true;
const pledgeCardSelected = id === selectedPledge.pledgeId;
let pledgeCardClassName;
if (stock > 0) {
if (pledgeCardSelected) {
pledgeCardClassName = styles.pledgeCardSelected;
} else {
pledgeCardClassName = styles.pledgeCard;
}
} else {
pledgeCardClassName = styles.pledgeCardDisabled;
}
return (
<form onSubmit={handleSubmit} key={id}>
<div
className={pledgeCardClassName}
id="reward"
data-testid="pledge-card"
>
<div className={styles.inputLabelAndPledgeAmount}>
<input
type="radio"
id={id}
name="pledgeId"
value={id}
checked={pledgeCardSelected}
onChange={onPledgeSelect}
disabled={disabled}
/>
<div className={styles.labelAndPledgeAmount}>
<label htmlFor={id} className={styles.product}>
{name}
</label>
<p className={styles.pledgeAmount}>
Pledge ${pledgeAmount} or more
</p>
</div>
</div>
<p className={styles.description}>{description}</p>
<div className={styles.stockLeft}>
<h3 className={styles.stock}>{stock} </h3>
<p className={styles.left}>left</p>
</div>
{pledgeCardSelected && (
<Pledge id={id} minimumAmount={pledgeAmount} />
)}
</div>
</form>
);
})}
</>
);
};