summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2021-07-09 18:38:21 +0200
committerYorhel <git@yorhel.nl>2021-07-09 18:38:21 +0200
commit195f6ca1e3a00281fba92ba9fccfc62e6f850ab1 (patch)
treef97e7278c39d2a9c6a20b9daf913533881e2038e /lib
parent3caa25f69cc99e6b8eac5c072002524246fd379b (diff)
Staff::Page: Spam ulist widget in that listing, too
Diffstat (limited to 'lib')
-rw-r--r--lib/VNWeb/Producers/Page.pm4
-rw-r--r--lib/VNWeb/Staff/Page.pm9
-rw-r--r--lib/VNWeb/ULists/Lib.pm4
-rw-r--r--lib/VNWeb/VN/List.pm2
4 files changed, 14 insertions, 5 deletions
diff --git a/lib/VNWeb/Producers/Page.pm b/lib/VNWeb/Producers/Page.pm
index 7b1e968d..b0a5c86d 100644
--- a/lib/VNWeb/Producers/Page.pm
+++ b/lib/VNWeb/Producers/Page.pm
@@ -91,7 +91,7 @@ sub rel_ {
push $vn{$_->{id}}->@*, $rel;
}
}
- ulists_enrich_widget \@vn;
+ enrich_ulists_widget \@vn;
h1_ 'Releases';
debug_ $r;
@@ -131,7 +131,7 @@ sub vns_ {
h1_ 'Visual Novels';
debug_ $v;
- ulists_enrich_widget $v;
+ enrich_ulists_widget $v;
# TODO: Perhaps something more table-like, also showing languages, platforms & VN list status
ul_ class => 'prodvns', sub {
li_ sub {
diff --git a/lib/VNWeb/Staff/Page.pm b/lib/VNWeb/Staff/Page.pm
index 84962044..19b74331 100644
--- a/lib/VNWeb/Staff/Page.pm
+++ b/lib/VNWeb/Staff/Page.pm
@@ -1,6 +1,7 @@
package VNWeb::Staff::Page;
use VNWeb::Prelude;
+use VNWeb::ULists::Lib;
sub enrich_item {
@@ -81,19 +82,23 @@ sub _roles_ {
ORDER BY v.c_released ASC, v.title ASC, vs.role ASC
});
return if !@$roles;
+ enrich_ulists_widget $roles;
h1_ class => 'boxtitle', sprintf 'Credits (%d)', scalar @$roles;
div_ class => 'mainbox browse staffroles', sub {
table_ class => 'stripe', sub {
thead_ sub { tr_ sub {
+ td_ class => 'tc_ulist', '' if auth;
td_ class => 'tc1', 'Title';
td_ class => 'tc2', 'Released';
td_ class => 'tc3', 'Role';
td_ class => 'tc4', 'As';
td_ class => 'tc5', 'Note';
}};
+ my %vns;
tr_ sub {
my($v, $a) = ($_, $alias{$_->{aid}});
+ td_ class => 'tc_ulist', sub { ulists_widget_ $v if !$vns{$v->{id}}++ } if auth;
td_ class => 'tc1', sub {
a_ href => "/$v->{id}", title => $v->{original}||$v->{title}, shorten $v->{title}, 60;
};
@@ -123,6 +128,7 @@ sub _cast_ {
ORDER BY v.c_released ASC, v.title ASC
});
return if !@$cast;
+ enrich_ulists_widget $cast;
my $spoilers = viewget->{spoilers};
my $max_spoil = max(map $_->{spoil}, @$cast);
@@ -138,14 +144,17 @@ sub _cast_ {
div_ class => "mainbox browse staffroles", sub {
table_ class => 'stripe', sub {
thead_ sub { tr_ sub {
+ td_ class => 'tc_ulist', '' if auth;
td_ class => 'tc1', sub { txt_ 'Title'; debug_ $cast };
td_ class => 'tc2', 'Released';
td_ class => 'tc3', 'Cast';
td_ class => 'tc4', 'As';
td_ class => 'tc5', 'Note';
}};
+ my %vns;
tr_ sub {
my($v, $a) = ($_, $alias{$_->{aid}});
+ td_ class => 'tc_ulist', sub { ulists_widget_ $v if !$vns{$v->{id}}++ } if auth;
td_ class => 'tc1', sub {
a_ href => "/$v->{id}", title => $v->{original}||$v->{title}, shorten $v->{title}, 60;
};
diff --git a/lib/VNWeb/ULists/Lib.pm b/lib/VNWeb/ULists/Lib.pm
index ce232201..c1b6e0db 100644
--- a/lib/VNWeb/ULists/Lib.pm
+++ b/lib/VNWeb/ULists/Lib.pm
@@ -3,7 +3,7 @@ package VNWeb::ULists::Lib;
use VNWeb::Prelude;
use Exporter 'import';
-our @EXPORT = qw/ulists_own ulists_enrich_widget ulists_widget_/;
+our @EXPORT = qw/ulists_own enrich_ulists_widget ulists_widget_/;
# Do we have "ownership" access to this users' list (i.e. can we edit and see private stuff)?
sub ulists_own {
@@ -12,7 +12,7 @@ sub ulists_own {
# Enrich a list of VNs with data necessary for ulist_widget_.
-sub ulists_enrich_widget {
+sub enrich_ulists_widget {
enrich_merge id => sql('SELECT vid AS id, true AS on_vnlist FROM ulist_vns WHERE uid =', \auth->uid, 'AND vid IN'), @_ if auth;
enrich vnlist_labels => id => vid => sub { sql '
diff --git a/lib/VNWeb/VN/List.pm b/lib/VNWeb/VN/List.pm
index ef76252b..7a6ecca9 100644
--- a/lib/VNWeb/VN/List.pm
+++ b/lib/VNWeb/VN/List.pm
@@ -200,7 +200,7 @@ sub enrich_listing {
}, @_ if $opt->{s}->vis('developer');
enrich_image_obj image => @_ if !$opt->{s}->rows;
- ulists_enrich_widget @_;
+ enrich_ulists_widget @_;
}