Skip to content

Commit 40ffeb7

Browse files
authored
Merge pull request #58 from NullFull/feat/add-elected
찬성한 후보 중 당선자, 반대한 후보 목록 추가
2 parents 0f43f28 + 2ebce5d commit 40ffeb7

File tree

1 file changed

+20
-18
lines changed

1 file changed

+20
-18
lines changed

src/components/Result.tsx

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,41 +16,32 @@ const Response = ({member}: any) => (
1616

1717
const Result = () => {
1818
const [agrees, setAgrees] = React.useState<any[]>([])
19-
// const [disagrees, setDisagrees] = React.useState<any[]>([])
19+
const [disagrees, setDisagrees] = React.useState<any[]>([])
2020

2121
const fetchResponses = async () => {
2222
const { data: responses } = await client().get(`/api/responses`)
2323
const agreedCandidates = await joinPersonalInfo(responses.agreed)
24-
// const disagreedCandidates = await joinPersonalInfo(responses.disagreed)
24+
const disagreedCandidates = await joinPersonalInfo(responses.disagreed)
2525
setAgrees(agreedCandidates)
26-
// setDisagrees(disagreedCandidates)
26+
setDisagrees(disagreedCandidates)
2727
}
2828

2929
async function joinPersonalInfo(candidates: any) {
3030
return Promise.all(candidates.map(async (candidate: any) => {
31-
const candidateInfo = await fetch(`/candidates/${candidate.id}.json`).then((res) => res.json())
31+
const { data: candidateInfo } = await client().get(`/api/candidates/${candidate.id}`)
3232
const { choice, id } = candidate
3333
return { candidate: candidateInfo, choice, id }
3434
}))
3535
}
3636

37+
const electedAgrees = agrees.filter(e => e.candidate.elected)
38+
3739
React.useEffect(() => {
3840
fetchResponses()
3941
}, [])
4042

4143
return (
4244
<div>
43-
{/* <div>
44-
<h3 className="title">찬성한 당선자 목록</h3>
45-
<ul className="list">
46-
{agrees.filter(e => e.candidate.elected).map(response => (
47-
<li key={`elected-${response.id}`} style={{padding: '5px 0'}}>
48-
<Response member={response.candidate}/>
49-
</li>
50-
))}
51-
</ul>
52-
</div> */}
53-
5445
{agrees.length > 0 &&
5546
<div>
5647
<h3 className="listTitle">동의한 후보 {agrees.length}</h3>
@@ -64,9 +55,20 @@ const Result = () => {
6455
</div>
6556
}
6657

67-
{/* {disagrees.length > 0 &&
58+
<div>
59+
<h3 className="listTitle">찬성한 후보 중 당선된 후보 {electedAgrees.length}</h3>
60+
<ul className="list">
61+
{electedAgrees.map(response => (
62+
<li key={`elected-${response.id}`} style={{padding: '5px 0'}}>
63+
<Response member={response.candidate}/>
64+
</li>
65+
))}
66+
</ul>
67+
</div>
68+
69+
{disagrees.length > 0 &&
6870
<div>
69-
<h3 className="listTitle">반대한 후보 목록</h3>
71+
<h3 className="listTitle">반대한 후보 {disagrees.length}</h3>
7072
<ul className="list">
7173
{disagrees.map(response => (
7274
<li key={`disagree-${response.id}`} style={{padding: '5px 0'}}>
@@ -75,7 +77,7 @@ const Result = () => {
7577
))}
7678
</ul>
7779
</div>
78-
} */}
80+
}
7981
</div>
8082
)
8183
}

0 commit comments

Comments
 (0)