summaryrefslogtreecommitdiff
path: root/elm
AgeCommit message (Collapse)AuthorFilesLines
2019-11-10ulist: Inline assigning labels to VNsYorhel4-3/+124
I'm really unhappy with the workarounds to deal with the global onClick subscription doing the right thing, but I wasn't able to find a good alternative.
2019-11-10ulist: Inline editable votesYorhel4-5/+113
2019-11-10ulist: Add some styling, sorting and a framework for extended info/optionsYorhel1-2/+23
2019-11-10ulist: Use lower numbers for custom labels + add VN listingYorhel1-5/+5
2019-11-10ulist: Add data model for new lists + Perl/Elm for label managementYorhel3-0/+128
Very much experimental. I'm not sure this is even the right model.
2019-10-23Update to Elm 0.19.1Yorhel1-2/+2
This version requires that all .elm files given to 'elm make' export a 'main' function, so we can't pass internal libraries anymore. I didn't feel like maintaining a separate list of entrypoints, lazy workaround: grep for elm files with a definition of 'main'.
2019-10-21Elm: Add text preview framework + BBCode preview in formsYorhel4-49/+120
2019-10-16Fix editing of staff entries without WikidataYorhel2-6/+8
And I can't say the wikidata field is all that intuitive to edit. Need to look at it later...
2019-10-16v2rw: Convert staff adding/editing formYorhel4-9/+306
This is the first major editing form to be converted, so I'm expecting a little breakage. A good chunk of this code has been copied from v3. In terms of the UI there has been a small change: aliases that are still referenced do not have the 'remove' link and instead have a flag that shows that they are still referenced. This ought to be a bit friendlier than throwing an error message after the user has submitted the form. Some other things I'd like to improve in this form: - BBCode preview - Pasting in external links and letting the form figure out the Pixiv ID, etc. - Or perhaps even: Integrate AniDB/Wikidata search/autocompletion.
2019-10-16Display star next to 'My profile' link when supporter options are availableYorhel1-1/+1
It's not very obvious when a users' account has been linked, and it wasn't clear to some that the rewards need to be enabled manually. Hopefully this clears up both.
2019-10-12v2rw: Convert user notifications interface (/u+/notifies)Yorhel1-0/+12
2019-10-12Add Patreon link to main menu + minor fixesYorhel1-1/+1
2019-10-10rewards: Apply supporters badge and unicode name (almost) everywhereYorhel1-2/+2
Only place where this isn't applied (yet?): Sorting user lists still goes by the old username and board names don't use the new unicode names. I have to say, I quite like the sql_user() and user_() pattern. It's not without problems when applied to everything, but it's good enough for several use cases.
2019-10-10rewards: Add user settingsYorhel1-17/+44
They don't do anything yet.
2019-10-06Elm: Support arbitrary id types in inputSelect + actually honor the selected ↵Yorhel4-15/+23
option Elm has a bug where the 'selected' attribute is not properly propagated, that's fixed by patching the generated JS. Also moved Ffi.js one level up, as it's important that that file is loaded before any Elm modules are initialized.
2019-10-03Require email confirmation when changing email addressYorhel2-15/+22
This ensures that the email address linked to a user is always valid and actually belong(s|ed) to that user.
2019-10-02Improve client-side username validation and registration messageYorhel1-1/+2
This uses negative lookahead in the username regex so that the DB identifiers can be matched with an HTML5 `pattern` attribute.
2019-10-02v2rw: Convert user preferences formYorhel8-91/+272
And add a small 'formField' function to shrink the Elm form generation code a bit.
2019-10-01Minor refactor: Actually, let's split up RegReset.pmYorhel4-14/+14
This way we have a 1-to-1 mapping between VNWeb::* stuff and elm/ modules, which makes it much easier to see which code belongs to what. I did add a VNWeb::User::Edit stub for definitions that can be re-used among the small forms.
2019-10-01v2rw: Convert registration, account activation and password resetYorhel5-1/+305
This is largely copy-paste from v3.
2019-09-30Fixups: Build nested Elm modules in prod + only show help message on errorYorhel1-1/+1
2019-09-30v2rw: Convert login, logout & insecure-password-change formsYorhel3-0/+177
The insecure-password-change flow is now slightly more friendly. The logout functionality has been hardened to use POST and require CSRF.
2019-09-25v2rw: Add Elm & db_edit framework + Convert doc page editingYorhel9-0/+440
Most of this is copied from v3. I did improve on a few aspects: - db_edit() and db_entry() use VNDB::Schema rather than dynamically querying the DB. This has the minor advantage of a faster startup. - The Elm code generator now writes to multiple files, this avoids the namespace pollution seen in v3's Lib.Gen and makes the dependency graph a bit more lean (i.e. faster incremental builds). - The Elm code generator doesn't update the timestamp of files that haven't been modified. This also speeds up incremental builds, the elm compiler can now skip rebuilding unmodified files. - The Elm API response generator code now uses plain functions rather than code references and all possible responses are now defined in Elm.pm. Turns out most API responses were used from more than a single place, so it makes sense to have them centrally defined. The doc page preview function is also much nicer; I'd like to apply this to all BBCode textareas as well. (Elm.pm itself is ugly as hell though. And we will prolly need some HTML form generation functions in Elm to make that part less verbose)