aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/KodairaNews.astro96
-rw-r--r--src/components/ScheduleInteractive.astro18
2 files changed, 114 insertions, 0 deletions
diff --git a/src/components/KodairaNews.astro b/src/components/KodairaNews.astro
index c4a319f..b4a1ab8 100644
--- a/src/components/KodairaNews.astro
+++ b/src/components/KodairaNews.astro
@@ -35,6 +35,102 @@ const LABEL: Record<CatId, string> = {
const posts: Post[] = [
{
+ date: "10月23日",
+ cat: "status",
+ note: "10月7日から発生している障害の状況。暫定サイトで一部の手続きが可能",
+ links: [{ text: "ホームページの障害状況について", url: X("2113540936579879112") }],
+ },
+ {
+ date: "10月23日",
+ cat: "status",
+ note: "PHPの対策が完了し、こだっこアプリのサービスを再開",
+ links: [{ text: "こだっこアプリの再開", url: X("2113533380784476198") }],
+ },
+ {
+ date: "10月23日",
+ cat: "other",
+ note: "西部出張所は10月30日(金)臨時休業。11月2日(月)から小川パレット内で業務開始",
+ links: [{ text: "西部出張所の移転(市のX)", url: X("2113510734760186286") }],
+ },
+ {
+ date: "10月23日",
+ cat: "other",
+ note: "10月25日(日)午前9時から午後5時まで。受診前に医療機関へ確認",
+ links: [{ text: "休日歯科応急診療", url: X("2113465447488311714") }],
+ },
+ {
+ date: "10月23日",
+ cat: "other",
+ note: "健康センター。準夜19:15〜22:15(年中無休)、休日9:00〜16:45",
+ links: [{ text: "休日・準夜応急診療(内科・小児科)", url: X("2113465436037664796") }],
+ },
+ {
+ date: "10月23日",
+ cat: "event",
+ note: "10月25日(日)、味の素スタジアムでFC東京vs水戸。小平の日ブースを設置",
+ links: [{ text: "FC東京「小平の日」(市のX)", url: X("2113420142453678421") }],
+ },
+ {
+ date: "10月22日",
+ cat: "status",
+ note: "PHPの脆弱性でWebサービスの一部が閲覧不可。緊急点検を実施",
+ links: [{ text: "Webサービスの一時停止について", url: X("2113186095626351015") }],
+ },
+ {
+ date: "10月22日",
+ cat: "status",
+ note: "緊急点検のため、市立学校・学校給食センターのホームページを停止",
+ links: [
+ { text: "学校ホームページの停止について", url: X("2113183575956926631") },
+ { text: "詳細(LoGoフォーム)", url: "https://logoform.jp/form/exdH/1861824" },
+ ],
+ },
+ {
+ date: "10月22日",
+ cat: "status",
+ note: "10月7日から発生している障害の状況。暫定サイトで一部の手続きが可能",
+ links: [{ text: "ホームページの障害状況について", url: X("2113178545342095435") }],
+ },
+ {
+ date: "10月22日",
+ cat: "procedure",
+ note: "都市計画マスタープランのパブリックコメントを11月1日まで延長",
+ links: [
+ { text: "意見募集(市のX)", url: X("2113163443574640688") },
+ { text: "意見募集フォーム", url: "https://logoform.jp/form/exdH/1840919" },
+ ],
+ },
+ {
+ date: "10月22日",
+ cat: "other",
+ note: "近隣9市で魅力を発信。今回は武蔵村山市を紹介",
+ links: [{ text: "広域連携の取組(市のX)", url: X("2113148348178031035") }],
+ },
+ {
+ date: "10月22日",
+ cat: "status",
+ note: "PHPの脆弱性でこだっこアプリを一時停止。こだっこWEB予約は通常どおり",
+ links: [{ text: "こだっこアプリの一時停止", url: X("2113118146596835498") }],
+ },
+ {
+ date: "10月22日",
+ cat: "meeting",
+ note: "10月22日(木)午後2時から。追加の議事日程があり、傍聴できない案件も",
+ links: [{ text: "教育委員会定例会(市のX)", url: X("2113118146605306218") }],
+ },
+ {
+ date: "10月22日",
+ cat: "other",
+ note: "国民健康保険の40歳以上の特定健診は10月31日まで",
+ links: [{ text: "特定健診の期限(市のX)", url: X("2113103051414524237") }],
+ },
+ {
+ date: "10月22日",
+ cat: "event",
+ note: "10月24日(土)午前10時から午後2時、リサイクルセンター広場(雨天中止)",
+ links: [{ text: "ごみゼロフリーマーケット(市のX)", url: X("2113057748812259523") }],
+ },
+ {
date: "10月21日",
cat: "status",
note: "10月7日から発生している障害の状況。暫定サイトで一部の手続きが可能",
diff --git a/src/components/ScheduleInteractive.astro b/src/components/ScheduleInteractive.astro
index 5fb058b..bc26e0a 100644
--- a/src/components/ScheduleInteractive.astro
+++ b/src/components/ScheduleInteractive.astro
@@ -206,6 +206,24 @@
const months = [...new Set(dateKeys.map((k) => k.slice(0, 7)))].sort();
const today = new Date();
const todayKey = toKey(today.getFullYear(), today.getMonth() + 1, today.getDate());
+
+ // 開催日がすべて過去のものは「終了」と表示する。
+ // 複数回の催しで未来の回が残っているものは対象外。
+ for (const entry of entries) {
+ if (entry.dateText.includes('申込開始')) continue;
+ if (entry.dates.length === 0) continue;
+ if (!entry.dates.every((d) => d < todayKey)) continue;
+ const row = document.getElementById(entry.rowId);
+ if (!row) continue;
+ row.classList.add('is-ended');
+ if (!row.querySelector('.schedule-ended-badge') && row.cells[0]) {
+ const badge = document.createElement('span');
+ badge.className = 'schedule-ended-badge';
+ badge.textContent = '終了';
+ row.cells[0].appendChild(badge);
+ }
+ }
+
let selectedDate = byDate.has(todayKey) ? todayKey : dateKeys[0];
let currentMonth = selectedDate.slice(0, 7);
let activeCategory = 'all';