From b5a79df4f83ba6c902d76e9ba9512c2201fcaf9e Mon Sep 17 00:00:00 2001 From: Th1nkK1D Date: Fri, 14 Jun 2024 11:59:07 +0700 Subject: [PATCH] fix: handle voting with no votes data --- src/routes/votings/[id]/+page.svelte | 370 ++++++++++++++------------- 1 file changed, 188 insertions(+), 182 deletions(-) diff --git a/src/routes/votings/[id]/+page.svelte b/src/routes/votings/[id]/+page.svelte index dddde148..d45f5b7a 100644 --- a/src/routes/votings/[id]/+page.svelte +++ b/src/routes/votings/[id]/+page.svelte @@ -125,7 +125,7 @@ : resultsByPerson; -
+
- {winningOption} - {resultsByPerson.filter((v) => v.voteOption === winningOption).length}/{resultsByPerson.length} + {#if resultsByPerson.length > 0} + {winningOption} + {resultsByPerson.filter((v) => v.voteOption === winningOption).length}/{resultsByPerson.length} + {/if}

ผลการลงมติ

-
- - - -
-

สรุปผลการลงมติ

-
+ {#if resultsByPerson.length === 0} +
ไม่พบข้อมูล
+ {:else}
- - {Math.round( - (results.reduce( - (max, result) => (result.total > max.total ? result : max), - results[0] - ).total / - resultsByPerson.length) * - 100 - )}% {getWinningOption(voting.result)} - + + +
-
-
-

สมาชิกสภา

-

{resultsByPerson.length}

+

สรุปผลการลงมติ

+
+
+ + {Math.round( + (results.reduce( + (max, result) => (result.total > max.total ? result : max), + results[0] + ).total / + resultsByPerson.length) * + 100 + )}% {getWinningOption(voting.result)} +
- {#each results as result} +
-
-

- {typeof result.voteOption === 'object' - ? result.voteOption.label - : result.voteOption} -

-

{result.total}

+

สมาชิกสภา

+

{resultsByPerson.length}

+ {#each results as result} +
+
+

+ {typeof result.voteOption === 'object' + ? result.voteOption.label + : result.voteOption} +

+

{result.total}

+
+ {/each} +
+
+
+ {#each results as result} + {@const resultLen = resultsByPerson.length} + {#if result.total} + + {/if} {/each}
-
-
- {#each results as result} - {@const resultLen = resultsByPerson.length} - {#if result.total} - +
+ + {#if voting.winningCondition} +

เงื่อนไข

+

{voting.winningCondition}

{/if} - {/each} -
-
- - {#if voting.winningCondition} -

เงื่อนไข

-

{voting.winningCondition}

- {/if} -
- -

- งดออกเสียง เกิดจากการเสียบบัตรยืนยันตัวตน และลงคะแนนว่า “งดออกเสียง”
- ไม่ลงคะแนน เกิดจากการเสียบบัตรยืนยันตัวตนแล้ว แต่ไม่กดลงคะแนน -

-
- -
-
-

ผลการลงมติรายสังกัด

-
- -
-

*หมายเหตุ: ข้อมูลสังกัด ยึดตามวันที่ลงมติ

-
-
- -
-
- -
- ผลการลงมติรายคน -
-
-
- + +

+ งดออกเสียง เกิดจากการเสียบบัตรยืนยันตัวตน และลงคะแนนว่า “งดออกเสียง”
+ ไม่ลงคะแนน เกิดจากการเสียบบัตรยืนยันตัวตนแล้ว แต่ไม่กดลงคะแนน +

+
+ +
+
+

ผลการลงมติรายสังกัด

+
+ +
- +

*หมายเหตุ: ข้อมูลสังกัด ยึดตามวันที่ลงมติ

-
-
- ชื่อ-นามสกุล -
-
- ตำแหน่ง +
+ +
+
+ +
+ ผลการลงมติรายคน
-
- สังกัดพรรค + - - {#if voterSearchResult.length} - {#each voterSearchResult as voter} -
- - {voter.firstname} - {voter.lastname} - -
- {voter.role} -
-
- {voter.party ? voter.party.name : ''} -
- + {/each} + {:else} +
+ ไม่พบบุคคลที่ค้นหา
- {/each} - {:else} -
- ไม่พบบุคคลที่ค้นหา -
- {/if} -
+ {/if} +
+ {/if}