aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/components/SanpiAllTable.astro
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/SanpiAllTable.astro')
-rw-r--r--src/components/SanpiAllTable.astro52
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>