diff options
Diffstat (limited to 'src/components/SanpiAllTable.astro')
| -rw-r--r-- | src/components/SanpiAllTable.astro | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/components/SanpiAllTable.astro b/src/components/SanpiAllTable.astro new file mode 100644 index 0000000..bd0f131 --- /dev/null +++ b/src/components/SanpiAllTable.astro @@ -0,0 +1,52 @@ +--- +// 全期間の議案賛否一覧。年度別ページの表から安竹洋平の列だけを取り出し、 +// 市側の議案・議員提出の議案・請願に分けて表示する。 +import { computeSanpiBills, type BillType } from "@/utils/sanpiStats"; + +interface Props { + type: BillType; +} + +const { type } = Astro.props; +const rows = computeSanpiBills().filter((row) => row.type === type); + +const PASS = ["可決", "認定", "採択", "同意", "承認"]; +const STOP = ["否決", "不採択"]; + +function kekkaClass(result: string): string { + if (STOP.some((key) => result.includes(key))) return "stop"; + if (PASS.some((key) => result.includes(key))) return "pass"; + return ""; +} +--- + +<table> + <thead> + <tr> + <th>議案</th> + <th>年度</th> + <th>定例会</th> + <th>議決結果</th> + <th><span class="sanpi-me">安竹</span></th> + </tr> + </thead> + <tbody> + { + rows.map((row) => ( + <tr> + <td>{row.title}</td> + <td> + <a href={row.yearHref}>{row.year}</a> + </td> + <td>{row.session}</td> + <td> + <span class={`sanpi-kekka ${kekkaClass(row.result)}`}>{row.result}</span> + </td> + <td> + <span class="sanpi-me">{row.me}</span> + </td> + </tr> + )) + } + </tbody> +</table> |
