summaryrefslogtreecommitdiff
path: root/data/tpl/vnbrowse
blob: 79dd122e97b8a63e2507720f83b07a64d712cbdc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<h2>[[: $p{PageTitle} ]]</h2>

[[ if($d{chr} eq 'cat') { ]]-
<ul id="cat">
[[ for my $c (qw| e g p t l s |) { ]]-
 -[[= $c ne 'l' && $c ne 'p' ? '<li>' : '<br />' ]][[: $VNDB::CAT->{$c}[0] ]]-
 <ul>
  [[ for (sort keys %{$VNDB::CAT->{$c}[1]}) { ]]-
  <li class="cat_[[= $c.$_ ]][[= $d{incl} =~ /$c$_/ ? ' inc' : $d{excl} =~ /$c$_/ ? ' exc' : '' ]]">
   [[: $VNDB::CAT->{$c}[1]{$_} ]]- ([[= $d{cat}{$c.$_} || 0 ]])</li>
  [[ } ]]
 </ul>[[= $c ne 't' && $c ne 'g' ? '</li>' : '' ]]-
[[ } ]]-
</ul>
<div id="lfilter">
 <b>Languages</b> (none selected means all)<br />
[[ for (sort keys %{$d{lang}}) { next if !$d{lang}{$_}; ]]-
 <input type="checkbox" name="lang_[[= $_ ]]" id="lang_[[= $_ ]]" value="1" -[[= $d{slang}=~/$_/?'checked="checked"':'' ]]>
  <label for="lang_[[= $_ ]]">[[: $VNDB::LANG->{$_} ]]- ([[= $d{lang}{$_} ]])</label>
[[ } ]]-
</div>
<br style="clear: left" />
<input type="button" class="right" id="catsearch" name="catsearch" value="Search!" />
<br style="clear: left" />
<br />
<br />

[[ } elsif($d{chr} ne 'search') { ]]-
<p class="chr">
 -[[= $d{chr} ne 'all' ? '<a href="/v/all">all</a>' : 'all' ]]- |
 [[ for('a'..'z', 0) { ]]-
 -[[ if($d{chr} eq $_) { ]][[= $_?$_:'#' ]][[ } else { ]]<a href="/v/[[= $_ ]]">[[= $_?$_:'#' ]]</a>[[ } ]]
 [[ } ]]-
 <br /><br />
</p>
[[ } ]]-

-[[ if($#{$d{vn}} < 0) { ]]
<p>
 -[[ if($d{chr} eq 'cat' && !$d{scat}[0][0] && !$d{scat}[0][1]) { ]]
 Select some categories and hit the "Search" button to get a list of visual novels. Click on a
 category again to exclude it.<br />
 Please keep in mind that not all visual novels have the correct categories set, so you
 may not always find what you are looking for.
 [[ } else { ]]
 No results again, life sucks... :'(
 [[ } ]]-
</p>
[[ } else {
  my %url = (
    $p{searchquery} ? ( q => $p{searchquery} ) : (),
    $d{incl} ? ( i => $d{incl} ) : (),
    $d{excl} ? ( e => $d{excl} ) : (),
    $d{slang} ? ( l => $d{slang} ) : (),
  );
  my %urls = ( %url,
    $d{order}[0] ne 'title' ? ( s => $d{order}[0] ) : (),
    $d{order}[1] ne 'a' ? ( o => $d{order}[1] ) : (),
  );
  my $url = sprintf '/v/%s', $d{chr};
  my $urls = $url;
  $urls .= '?'.join(';', map { $_.'='.$urls{$_} } keys %urls) if keys %urls;
  $url  .= '?'.join(';', map { $_.'='.$url{$_} } keys %url) if keys %url;
]]

[[= pagebut($urls) ]]
<table id="tbv">
 <thead><tr>
  <td class="tc1">Title [[= sortbut($url, 'title') ]]</td>
  <td class="tc2">Released [[= sortbut($url, 'released') ]]</td>
  <td class="tc3">Languages</td>
  <td class="tc4">Rating [[= sortbut($url, 'votes') ]]</td>
 </thead></tr>
 [[ for (@{$d{vn}}) {
  $_->{c_votes} =~ s#^([0-9]{2}.[0-9]{2})\|([0-9]{4})$#$1 == 0 ? sprintf '- (%d)', $2 : sprintf '%.2f (%d)', $1, $2#e;
  $_->{c_released} =~ s#^([0-9]{4})([0-9]{2}).+#$1==0?'N/A':$1==9999?'TBA':(($2&&$2>0?($Time::CTime::MoY[$2-1].' '):'').$1)#e;
 ]]-
 <tr>
  <td class="tc1"><a href="/v[[= $_->{id} ]]">[[: $_->{title} ]]</a></td>
  <td class="tc2">[[: $_->{c_released} ]]</td>
  <td class="tc3">[[: $_->{c_languages} || 'N/A' ]]</td>
  <td class="tc4">[[: $_->{c_votes} ]]</td>
 </tr>
 [[ } ]]-
</table>
[[= pagebut($urls) ]]
[[ } ]]