From 11d33e394b487bb8869b97faeac0b37ab855979d Mon Sep 17 00:00:00 2001 From: Gregory Ballantine Date: Thu, 8 Dec 2022 01:12:31 -0500 Subject: [PATCH] Added item view page; added some helpers for simplifying view logic --- assets/styles/kraken.scss | 14 ++++++++++++++ lib/helpers.rb | 16 ++++++++++++++++ lib/routes.rb | 9 +++++++++ raven.rb | 3 +++ views/item/view.erb | 36 ++++++++++++++++++++++++++++++++++++ 5 files changed, 78 insertions(+) create mode 100644 lib/helpers.rb create mode 100644 views/item/view.erb diff --git a/assets/styles/kraken.scss b/assets/styles/kraken.scss index a4a83fe..215f01a 100644 --- a/assets/styles/kraken.scss +++ b/assets/styles/kraken.scss @@ -5,6 +5,7 @@ $box-shadow-2: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23); body{ background: lightgrey; + padding-left: $nav-width; } #main-nav{ @@ -60,3 +61,16 @@ body{ border-radius: 5px; box-shadow: $box-shadow-2; } + +#item-header{ + .item-name{ + margin-bottom: 5px; + } + + .item-created, + .item-updated{ + color: #666; + font-size: 1.75rem; + font-style: italic; + } +} diff --git a/lib/helpers.rb b/lib/helpers.rb new file mode 100644 index 0000000..f88e02b --- /dev/null +++ b/lib/helpers.rb @@ -0,0 +1,16 @@ +helpers do + + def nullable(value) + if (value) and (value != '') + return value + else + return 'N/a' + end + end + + def date_format(date) + dt = date.to_datetime + return dt.strftime('%B %d, %Y @ %I:%M:%S %p %Z') + end + +end diff --git a/lib/routes.rb b/lib/routes.rb index b317ed0..df123b0 100644 --- a/lib/routes.rb +++ b/lib/routes.rb @@ -35,3 +35,12 @@ post '/item/create' do redirect "/item/#{item.id}" end + +get '/item/:item_id' do + item = Item.where(id: params[:item_id]).first + puts "#{item.name}" + erb :'item/view', :locals => { + :title => item.name, + :item => item + } +end diff --git a/raven.rb b/raven.rb index 57b0f6f..b9ac9d3 100644 --- a/raven.rb +++ b/raven.rb @@ -23,5 +23,8 @@ DB = Sequel.connect(adapter: conf.get('database.adapter'), database: conf.get('d # Load models require_relative 'lib/models/item.rb' +# Load helper functions +require_relative 'lib/helpers.rb' + # Register route handlers require_relative 'lib/routes.rb' diff --git a/views/item/view.erb b/views/item/view.erb new file mode 100644 index 0000000..71566fe --- /dev/null +++ b/views/item/view.erb @@ -0,0 +1,36 @@ +
+
+

<%= item.name %>

+

Item added at: <%= date_format(item.created_at) %>

+ <% if item.updated_at %> +

Last updated at: <%= date_format(item.updated_at) %>

+ <% end %> +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + +
Item type:Manufacturer:Serial number:SKU number:Vendor:Purchase Date:
<%= item.type %><%= nullable(item.manufacturer) %><%= nullable(item.serial_number) %><%= nullable(item.sku_number) %><%= nullable(item.purchased_from) %><%= nullable(date_format(item.purchased_at)) %>
+
+