diff options
-rw-r--r-- | elm/Lib/Html.elm | 3 | ||||
-rw-r--r-- | elm/UList/Opt.elm | 5 | ||||
-rw-r--r-- | lib/VNWeb/Elm.pm | 6 | ||||
-rw-r--r-- | lib/VNWeb/Releases/JS.pm | 1 | ||||
-rw-r--r-- | lib/VNWeb/User/Lists.pm | 2 |
5 files changed, 13 insertions, 4 deletions
diff --git a/elm/Lib/Html.elm b/elm/Lib/Html.elm index 66436073..2e534246 100644 --- a/elm/Lib/Html.elm +++ b/elm/Lib/Html.elm @@ -201,5 +201,8 @@ formField lbl cont = langIcon : String -> Html m langIcon l = abbr [ class "icons lang", class l, title (Maybe.withDefault "" <| lookup l T.languages) ] [ text " " ] +platformIcon : String -> Html m +platformIcon l = abbr [ class "icons", class l, title (Maybe.withDefault "" <| lookup l T.platforms) ] [ text " " ] + releaseTypeIcon : String -> Html m releaseTypeIcon t = abbr [ class ("icons rt"++t), title (Maybe.withDefault "" <| lookup t T.releaseTypes) ] [ text " " ] diff --git a/elm/UList/Opt.elm b/elm/UList/Opt.elm index f5ed7303..e05a21d9 100644 --- a/elm/UList/Opt.elm +++ b/elm/UList/Opt.elm @@ -214,7 +214,10 @@ view model = ] ] , td [ class "tco2" ] [ RDate.display model.today nfo.released ] - , td [ class "tco3" ] <| List.map langIcon nfo.lang ++ [ releaseTypeIcon nfo.rtype ] + , td [ class "tco3" ] + <| List.map platformIcon nfo.platforms + ++ List.map langIcon nfo.lang + ++ [ releaseTypeIcon nfo.rtype ] , td [ class "tco4" ] [ a [ href ("/r"++String.fromInt nfo.id), title nfo.original ] [ text nfo.title ] ] ] diff --git a/lib/VNWeb/Elm.pm b/lib/VNWeb/Elm.pm index 9920adbb..7bca4497 100644 --- a/lib/VNWeb/Elm.pm +++ b/lib/VNWeb/Elm.pm @@ -53,6 +53,7 @@ my %apis = ( released => { uint => 1 }, rtype => {}, lang => { type => 'array', values => {} }, + platforms=> { type => 'array', values => {} }, } } ], BoardResult => [ { aoh => { # Response to /t/boards.json btype => {}, @@ -253,9 +254,8 @@ sub write_types { $data .= def skins => 'List (String, String)' => list map tuple(string $_, string tuwf->{skins}{$_}[0]), sort { tuwf->{skins}{$a}[0] cmp tuwf->{skins}{$b}[0] } keys tuwf->{skins}->%*; - $data .= def languages => 'List (String, String)' => - list map tuple(string $_, string $LANGUAGE{$_}), - sort { $LANGUAGE{$a} cmp $LANGUAGE{$b} } keys %LANGUAGE; + $data .= def languages => 'List (String, String)' => list map tuple(string $_, string $LANGUAGE{$_}), sort { $LANGUAGE{$a} cmp $LANGUAGE{$b} } keys %LANGUAGE; + $data .= def platforms => 'List (String, String)' => list map tuple(string $_, string $PLATFORM{$_}), keys %PLATFORM; $data .= def releaseTypes => 'List (String, String)' => list map tuple(string $_, string $RELEASE_TYPE{$_}), keys %RELEASE_TYPE; $data .= def rlistStatus => 'List (Int, String)' => list map tuple($_, string $RLIST_STATUS{$_}), keys %RLIST_STATUS; $data .= def boardTypes => 'List (String, String)' => list map tuple(string $_, string $BOARD_TYPE{$_}{txt}), keys %BOARD_TYPE; diff --git a/lib/VNWeb/Releases/JS.pm b/lib/VNWeb/Releases/JS.pm index a258036b..34bf823f 100644 --- a/lib/VNWeb/Releases/JS.pm +++ b/lib/VNWeb/Releases/JS.pm @@ -15,6 +15,7 @@ json_api qr{/r/get\.json}, { vid => { id => 1 } }, sub { 'ORDER BY r.released, r.title, r.id' ); enrich_flatten lang => id => id => sub { sql('SELECT id, lang FROM releases_lang WHERE id IN', $_, 'ORDER BY lang') }, $l; + enrich_flatten platforms => id => id => sub { sql('SELECT id, platform FROM releases_platforms WHERE id IN', $_, 'ORDER BY platform') }, $l; elm_Releases $l; }; diff --git a/lib/VNWeb/User/Lists.pm b/lib/VNWeb/User/Lists.pm index 6b6fbedd..bc806c2c 100644 --- a/lib/VNWeb/User/Lists.pm +++ b/lib/VNWeb/User/Lists.pm @@ -179,6 +179,7 @@ my $VNOPT = form_compile any => { released => { uint => 1 }, rtype => {}, lang => { type => 'array', values => {} }, + platforms=> { type => 'array', values => {} }, } }, relstatus => { type => 'array', values => { uint => 1 } }, # List of release statuses, same order as rels }; @@ -480,6 +481,7 @@ sub listing_ { }, $lst; enrich_flatten lang => id => id => sub { sql('SELECT id, lang FROM releases_lang WHERE id IN', $_, 'ORDER BY lang') }, map $_->{rels}, @$lst; + enrich_flatten platforms => id => id => sub { sql('SELECT id, platform FROM releases_platforms WHERE id IN', $_, 'ORDER BY platform') }, map $_->{rels}, @$lst; # TODO: Thumbnail view? paginate_ $url, $opt->{p}, [ $count, 50 ], 't', sub { |