From 43348a5c05da435a9969a62c0406e945c070a6ae Mon Sep 17 00:00:00 2001 From: Nat Lasseter Date: Mon, 6 Oct 2025 12:20:44 +0100 Subject: Three shelves --- cgi/whisky-shelf.cgi | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'cgi/whisky-shelf.cgi') diff --git a/cgi/whisky-shelf.cgi b/cgi/whisky-shelf.cgi index 668be4b..b27220b 100644 --- a/cgi/whisky-shelf.cgi +++ b/cgi/whisky-shelf.cgi @@ -1,9 +1,11 @@ require "json" -def shelf_contents(data) - data.map { |bottle| +def shelf_contents(data, filter) + data.select { |bottle| + bottle["status"] == filter + }.map { |bottle| $cgi.div(class: "bottle") { - $cgi.h3 { bottle["name"] } + + $cgi.h4 { bottle["name"] } + $cgi.img(class: "bottle", src: "shelf/#{bottle["image"]}") } @@ -15,7 +17,14 @@ data = JSON.parse(File.read("../inc/shelf.json")) $page = $cgi.div { $cgi.h2 { "What's on my shelf?" } + - $cgi.div { shelf_contents(data) } + $cgi.div { + $cgi.h3 { "Open" } + + shelf_contents(data, "open") + + $cgi.h3 { "Unopened" } + + shelf_contents(data, "new") + + $cgi.h3 { "Finished" } + + shelf_contents(data, "gone") + } } # vim: set filetype=ruby: -- cgit v1.2.3