path: root/lib/VNWeb/Releases
AgeCommit message (Collapse)AuthorFilesLines
2021-11-29Move undefbool validation to TUWF for better Elm interopYorhel1-3/+1
Requires upgrading TUWF to commit cbff0b7e7841ffce68cacea763fe3e59385f73e4
2021-11-29Releases: Allow "uncensored" flag to be unknownYorhel2-7/+17
2021-11-18Releases: Experiment with new SQL search implementationYorhel1-6/+5
Goal is to use the improved search normalisation mechanism that VN search has had for ages on other database types as well (releases with this commit; producers, staff and characters to come later). Another goal is to do the search cache updates within SQL, removing the Perl search normalization and the round-trip through Multi every time an entry needs to be updated. Requires the 'unaccent' Postgres extension. I considered writing my own unaccent rules file, but decided against it for now. Current approach works pretty well.
2021-11-16Releases::Edit: Fix loading of the "add release" formYorhel1-1/+1
2021-11-15Make release type a property of the release<->vn relationYorhel5-21/+21
That is, allow a release to have different types per VN, such as a complete release for one VN that includes a trial for another.
2021-10-03Releases::Lib: Use website link from ExtLinksYorhel1-1/+1
2021-06-17Deprecate release doujin flagYorhel3-7/+3
It's causing more confusion than that it provides any value.
2021-05-14Releases: Add MTL language flagYorhel5-19/+32
Fixes And as recently discussed again in
2021-04-20Use old-fashioned <img> tags for platform iconsYorhel3-7/+7
I don't like the platforms listing in CSS much, after all, and I've never been a big fan of the <abbr> hacks. Been experimenting with sprite sheets and inline <svg><use..>, but for now I think the simplest solution of just using <img> tags still seems the best. Until I change my mind again and can't resist the allure of throwing all icons in a single nicely compressed file.
2021-03-23cleanup: Fully remove old "type" argument to framework_()Yorhel1-1/+1
The type of the dbobj can be inferred from its id now that we use vndbid's for all database entries.
2021-03-06SVG platform iconsYorhel3-3/+3
Still kind of experimental, let's see how people react. Icons contributed by eacil. Some are colored versions based on the SVG icons contributed by xy2, some are vectorized versions of old icons. These retain much of the legibility of the old png icons by virtue of not being monochrome. At least for the dark skins. I may experiment later to see if the monochrome icons may be a solution for light skins, now that I have the infrastructure in place anyway. Not sure I really want to maintain two icon sets, though. I used scour to optimize the SVGs for size, but they're still rather less efficient than the combined PNG sprites. Maybe I'll use an SVG merge trick later, but that tends to be less widely supported among browsers. Closes #30.
2021-03-06Releases: Allow medium quanitity selection up to 40Yorhel1-1/+1
2021-03-04Releases: Store unknown minage as NULL + fix default for new entriesYorhel4-6/+6
Fixes, which also reminded me that I can now finally store unknown as NULL rather than -1. The v2rw rewrite was preventing me from changing that earlier, handling NULLs was more annoying in the old v2 code.
2021-03-02CSS: Fix formatting of block elements in entry descriptionsYorhel1-1/+1
2021-03-02Fix two more totally insignificant vndbid sorting bugsYorhel1-2/+2
2021-03-01SQL: vndbid data type conversion for most DB entriesYorhel5-23/+23
I had wanted to split this up into multiple commits and roll out in stages, but couldn't really find a natural way to do so. There are several places that take a generic identifier and expect it to work the same for all entries they support, so changing one entry at a time wasn't going to be any easier. Only the tags & traits haven't been updated yet, I'll convert those later. While this is a major change and affects a lot of code, the individual changes are all pretty simple. I'm surprised how much code did not have to be updated at all. No doubt I've missed a few places, though, so this commit will almost certainly break something.
2021-01-29AdvSearch: Convert old-url redirects into permanent redirectsYorhel1-1/+1
I had them as temporary redirects in order to safely handle a rollback, but that won't be necessary anymore.
2021-01-21AdvSearch: Stop logging filter compatibility conversion errorsYorhel1-5/+1
I think I've seen all the possible errors by now, what remains are invalid/corrupted filter strings that aren't very interesting to handle.
2021-01-19v2rw: Convert VN releases tabYorhel1-0/+264
This is the last page in the old v2 code that hadn't been rewritten yet. It's a fairly direct and ugly conversion as I've not decided what the future holds for this page, but at least this will allow me to clean up a lot of old and ugly code.
2021-01-10AdvSearch: Improve error reporting when query validation failedYorhel1-1/+1
Amazing how can browsers(?) and bots mangle URLs sometimes. Anyway, the user will now get a friendly error message instead of a 500, and I get to see log messages. Everyone happy. I hope.
2021-01-10v2rw: Convert /r/engines (+ make it link to new AdvSearch system)Yorhel1-0/+43
2021-01-10AdvSearch: Time to put this live.2.29Yorhel2-9/+3
Moved old release browser, VN browser and tag pages to /old/, moved /experimental/ pages to /, removed warnings and updated some references.
2021-01-09AdvSearch: Apply new saved default queries to listings instead of old filtersYorhel1-4/+1
2021-01-06Releases::List: Add experimental new release browser with advanced searchYorhel2-4/+115
Uses the same release_row_() function used on VN and producer pages, so this adds a lot more information and user list management functionality to the release browser. Removed compat with *very* old URLs, I'm monitoring the logs to see if those are still used. Also removes a friendly message when the filters don't match anything. Main reason for implementing this before going live with the VN advanced search is to make it possible to also switch the default saved release filters to the new system in one go.
2020-12-03Releases::Lib: Only use aspect ratio icons if the ratio actually matchesYorhel1-2/+3
And use 'custom' for everything else.
2020-11-28Releases::Edit: Use lazy-loaded autocompletion for resolutions and enginesYorhel2-23/+10
Seems more efficient - no need to fetch and transfer those lists when they won't be needed in the majority of cases.
2020-11-28AdvSearch: Add resolution autocompleteYorhel1-0/+8
Using a lazily loaded static list
2020-11-19Releases: Add "official" flagYorhel3-2/+7
2020-10-28Advsearch: Initial experiments with a new advanced searchYorhel1-7/+9
Doing this on the main branch to make it easier to get early testing and feedback. Not like I have anything worth testing now, but it's not like this code is getting in the way of anything else. (Unless the changes broke something unrelated, in which case it's extra good to get that early testing)
2020-09-02BBCode: Consolidate bb2html & bb2text + only convert ids in thread titlesYorhel2-3/+3
Fixing bb2html to only convert ids would complicate options a lot, adding a new formatting function to only convert ids would make sense, but then all formatting functions kind of look alike, so I figured a single bb_format() to support all use cases may be a better approach. Trigger for this was that people do (understandably) put [spoiler] in thread titles, and that should not be interpreted as the spoiler tag.
2020-08-07cleanup: Add enrich_release_elm() and releases_by_vn() functionsYorhel2-12/+19
To abstract some common copy-pasted code. These functions do cause an extra query on some pages. Several, in the case of Chars::Edit.
2020-07-13Refactor: Split VNWeb::User::Lists into its own VNWeb::ULists::*Yorhel2-2/+2
It's not exactly a tiny feature, after all. ULists::Elm should really be split up further, too, and the sharing of structures between ULists::Elm and ULists::List is kind of ugly at the moment, but I may get to that later.
2020-07-05VN::Edit: Add screenshot managerYorhel1-1/+1
2020-06-22Release::Edit: Unset engine when enabling patch flagYorhel1-0/+1
2020-06-15Releases: Allow custom resolutions to be enteredYorhel3-24/+39
The resolution field now works much like the engine field.
2020-06-12v2rw: Convert producer pages & consolidate release row HTMLYorhel1-2/+66
The release listing on producer pages now uses the same HTML as on VN pages, so it comes with the same information & features. Unfortunately, it also comes with the same messiness... The page is kind of large and slow for producers with lots of releases, not sure what to do with that.
2020-06-09Release::Edit: Reset ani_ero when minage != 18Yorhel1-1/+1
2020-05-28Drop ReleaseExtLinks.elm in favor of pure CSS solutionYorhel1-7/+24
It's the only Elm module used on VN pages for not-logged-in visitors, so doing this in CSS makes it possible to not load an Elm bundle on those pages (when I get to splitting up the JS files). This solution also simplifies code reuse with the producer pages, but a v2rw migration of that page would have taken care of that as well.
2020-05-25Chars::Edit: Add VN/releases relations editingYorhel1-1/+1
Ugly as heck code. Potentially slow, too, but for some reason it's still responding alright on my slow laptop.
2020-04-20v2rw/VN::Page: Add releases listingYorhel2-1/+25
Biggest visible change here is that external links now require a click to show the dropdown box. I hadn't implemented a hover-style dropdown in Elm yet. I'm not sure yet which solution I like better.
2020-04-02Increase max release title length to 300Yorhel1-1/+1
2020-03-08refactor: Add elm_empty() function to initialize a new formYorhel1-38/+34
This gets rid of the separate Elm-based empty form initialization and the ReleaseEdit.New module. There's rather less repitition with this approach. This is an alternative to the approach I implemented in 255dc704f4675326ebf6358c79b5b37fca903e4b - there I mentioned creating such a data structure in Perl as "tricky", which I thought it was, except it turns out to be pretty easy to automate in a reliable way. I'll convert the StaffEdit form to use this approach as well, after testing this approach a bit more.
2020-03-06Released::Edit: Fix catalog field initialization on copyYorhel1-1/+1
It's a string, not a number...
2020-03-05RelEdit: Don't fill out gtin, catalog and links when copying an entryYorhel1-0/+6
2020-02-29Release::Edit: Fix form input comparison with dbYorhel1-27/+27
2020-02-29v2rw/RelEdit: List previously deleted releases when adding a new releaseYorhel1-1/+20
Totally forgot we had that feature, but it's pretty neat.
2020-02-28v2rw/RelEdit: Allow creating a new releaseYorhel1-39/+53
Not totally super happy with this solution; I'd rather automatically create an empty entry and send that to 'RelEdit.Main', but initializing all fields in Perl is tricky. At least in Elm we get some sort of type checking (though Elm can't tell whether the default value makes sense) and doing this in Elm makes it possible to initialize to something invalid that the user has to change (not currently done yet). It's messy either way.
2020-02-28v2rw/RelEdit: Add producers relation editingYorhel1-0/+12
Lots of copy-pasting going on here. Meh. Also added a couple of overdue server-side validations.
2020-02-28v2rw/RelEdit: Add visual novel relation editingYorhel1-0/+6
And a few minor styling fixes.
2020-02-27v2rw/RelEdit: Add notes fieldYorhel1-0/+1