From fc536c37d2613d680e34b28e6c4595ca4cc772a7 Mon Sep 17 00:00:00 2001 From: Marius Gavrilescu Date: Sat, 30 Apr 2016 16:39:13 +0100 Subject: [PATCH] Highlight product when coming from details page --- lib/App/Web/Oof.pm | 8 ++++++++ static/style.css | 4 ++++ tmpl/form.html | 1 + 3 files changed, 13 insertions(+) diff --git a/lib/App/Web/Oof.pm b/lib/App/Web/Oof.pm index c2344c6..d74eca7 100644 --- a/lib/App/Web/Oof.pm +++ b/lib/App/Web/Oof.pm @@ -62,8 +62,10 @@ sub make_slug { $slug } +our %highlight; sub form_table_row { my ($data, $tr) = @_; + $tr->attr(class => 'highlight') if $highlight{$data->{product}}; $tr->fclass($_)->replace_content($data->{$_}) for qw/title subtitle stock/; $tr->fclass('price')->replace_content(stringify_money $data->{price}); $tr->fclass('freepost')->detach unless $data->{freepost}; @@ -77,7 +79,9 @@ sub form_table_row { sub form_app { my ($env) = @_; $db{$$} //= DBIx::Simple->connect($ENV{OOF_DSN} // 'dbi:Pg:'); + my $req = Plack::Request->new($env); + local %highlight = map { $_ => 1 } $req->param('highlight'); my $data = $db{$$}->select(products => '*', {}, 'product')->hashes; my $tree = $form->clone; $tree->find('tbody')->find('tr')->iter3($data, \&form_table_row); @@ -235,6 +239,10 @@ sub details_app { $tree->look_down(rel => 'canonical')->attr(href => "/details/$id/$slug"); $tree->fid('pictures')->find('li')->iter3(\@pics, \&details_list_element); + for my $ahref ($tree->find('a')) { + $ahref->attr(href => "/form?highlight=$id") if $ahref->attr('href') eq '/'; + } + [200, ['Content-type' => 'text/html; charset=utf-8'], [$tree->as_HTML]] } diff --git a/static/style.css b/static/style.css index 7ac0c8f..0c289f1 100644 --- a/static/style.css +++ b/static/style.css @@ -73,6 +73,10 @@ table,th,td { border-collapse: collapse; } +tr.highlight { + background-color: rgba(255,240,0,0.5); +} + th,td { padding: 0.2em; } diff --git a/tmpl/form.html b/tmpl/form.html index 0b8e35c..74925c3 100644 --- a/tmpl/form.html +++ b/tmpl/form.html @@ -1,6 +1,7 @@ + Order LED TV parts | ledparts4you

ledparts4you

-- 2.30.2