* Redesign case creation page
* Fix user id placeholder text
* Handle empty moderation history
* Mod history dropdown nitpick
* Fix styling issue with dropdown
ui fluid dropdown inherits from ui form
* Potentially fix NRE
* Un-require reason/mod notes
* Display username in moderation history view
* Order mod history by creation time descending
* Nitpick no moderation history string
* Handle AffectedUser null check within controller
* Fix styling issues
* Move moderation history segment above create case button segment
* Link back to affected user
* Move expiration field in with the other entries
* Grammatical consistency nitpick in history dropdown
* Handle empty case reasons in mod history
* This is the last nitpick, I swear!
* I lied. Variable naming consistency :trollface:
* Consolidate setPermanent function into button onclick
* Use HTML details and Fomantic list instead of dropdown
* Fix padding issue with details list
* Format history and user/id nicely
* Styling fixes and nitpicks of list items/links
* Apply suggestions from code review
* Clarification with code review suggestion
* Allow moderators to view story levels on website
Show comments to moderators on in-game story levels that show the levels id
* Only show LH ID comment on the first page
* Refactor error modal into its own partial
* Fix unresolved error string in TwoFactorPartial
* Use tuple model instead of ViewData for error title and message
* Apply suggestions from code review
* Disallow moderators/administrators from issuing cases against each other
* Resolve suggestions from reviewers
* Only request user from db if id is valid
* Initial work for serialization refactor
* Experiment with new naming conventions
* Mostly implement user and slot serialization.
Still needs to be fine tuned to match original implementation
Many things are left in a broken state like website features/api endpoints/lbp3 categories
* Fix release building
* Migrate scores, reviews, and more to new serialization system.
Many things are still broken but progress is steadily being made
* Fix Api responses and migrate serialization for most types
* Make serialization better and fix bugs
Fix recursive PrepareSerialization when recursive item is set during root item's PrepareSerialization, items, should be properly indexed in order but it's only tested to 1 level of recursion
* Fix review serialization
* Fix user serialization producing malformed SQL query
* Remove DefaultIfEmpty query
* MariaDB doesn't like double nested queries
* Fix LBP1 tag counter
* Implement lbp3 categories and add better deserialization handling
* Implement expression tree caching to speed up reflection and write new serializer tests
* Remove Game column from UserEntity and rename DatabaseContextModelSnapshot.cs back to DatabaseModelSnapshot.cs
* Make UserEntity username not required
* Fix recursive serialization of lists and add relevant unit tests
* Actually commit the migration
* Fix LocationTests to use new deserialization class
* Fix comments not serializing the right author username
* Replace all occurrences of StatusCode with their respective ASP.NET named result
instead of StatusCode(403) everything is now in the form of Forbid()
* Fix SlotBase.ConvertToEntity and LocationTests
* Fix compilation error
* Give Location a default value in GameUserSlot and GameUser
* Reimplement stubbed website functions
* Convert grief reports to new serialization system
* Update DatabaseModelSnapshot and bump dotnet tool version
* Remove unused directives
* Fix broken type reference
* Fix rated comments on website
* Don't include banned users in website comments
* Optimize score submission
* Fix slot id calculating in in-game comment posting
* Move serialization interfaces to types folder and add more documentation
* Allow uploading of versus scores
* Start of reorganization and cleanup
* Remove duplicate title id
* Refactor types
* Fix Release building
* Move classes in /Types to a Types namespace
* Fix compilation error (RoomVisualizerPage strikes again)
* Fix bugs created from auto merge
* Fix auto-merge compilation error
* Changes from review/fix failed merge
* Add username to mod cases if user is deleted
* Add timezone package to docker container
* Remove extra space in migration sql statement
* Changes from self-review
* Initial support for leaderboards and some refactoring
* Start of UI redesign
* Finish slot and user redesign, added deletion of comments, reviews, scores, and photos
* Remove leftover debug print
* Fix bug in permission check
* Simplify sidebar code and add hearted and queued levels
* Fix navbar scrolling on mobile and refactor SlotCardPartial
* Initial work for user settings page
* Finish user setting and slot setting pages
* Don't show slot upload date on home page and fix team pick redirection
* Fix upload image button alignment on mobile
* Fix image upload on iPhone
* Remove unused css and add selected button color
* Fix login email check and bump ChromeDriver to 105
* Remove duplicated code and allow users to leave fields empty
* Add unpublish button on level settings and move settings button position
* Don't show edit button on mini card
* Self review bug fixes and users can no longer use an in-use email