aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/components/ParkMap.astro
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/ParkMap.astro')
-rw-r--r--src/components/ParkMap.astro8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/components/ParkMap.astro b/src/components/ParkMap.astro
index 5a1a530..910f6d1 100644
--- a/src/components/ParkMap.astro
+++ b/src/components/ParkMap.astro
@@ -1252,16 +1252,22 @@
.filter((s) => DISASTER_KEEP.test(s))
.join("、");
// 水飲み場は「水飲み場x1」のように、手洗いも含めて数を示す。
+ // 水飲み専用の水栓がなく手洗いだけの場合は(水飲水栓なし)と添える。
const waterText = (value: string) => {
const text = String(value || "").trim();
if (!text) return "水飲み場なし";
if (/[??]/.test(text)) return "水飲み場?";
let total = 0;
+ let hasDrink = false;
+ let hasWash = false;
for (const part of text.split(/[、,]/)) {
const nums = [...part.matchAll(/[x×](\d+)/g)].map((m) => Number(m[1]));
if (nums.length) total += nums.reduce((a, b) => a * b, 1);
+ if (/水飲/.test(part)) hasDrink = true;
+ if (/手洗/.test(part)) hasWash = true;
}
- return total > 0 ? `水飲み場x${total}` : "水飲み場";
+ const label = !hasDrink && hasWash ? "水飲み場(水飲水栓なし)" : "水飲み場";
+ return total > 0 ? `${label}x${total}` : label;
};
const water = waterText(String(rec?.["水飲み場"] || ""));
// ○/〇 などの表記は「〜あり」にして意味が分かるようにする。