* Simplify website rank badges to use semantic classes
* Fix ambiguity between partial display types
* Add profile vanity tags and needed migration
* Make form field read only to non-administrators
* Display lock icon if user is not admin to minimize confusion
* Also display lock icon for username field since it's readonly
* Fix up naming consistency issues and edit migration accordingly
* Apply suggestions from code review
* Add space between placeholder property and ternary operator
* 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
* Create interactions management page and basic GET logic
* Fix client side query and add blocked count as well as comments nitpick
* Implement basic backend logic for interactions management
* Remove errant null/whitespace checks and add border to blocked users partials
* Implement user page's respect to profile privacy settings
* Fix issue where user can't view their own profile if privacy settings are tightened
* Fix other issues with profile access
* Remove excess conditional expression from PSN privtype check
* Check if access is allowed within request handler and hide bio/RA if private
* Fix PSN privacy level check
* Display private users in search and add base UI class to level lock icon
* Rename everything from interactions to privacy for clarity
* Dagg requested an eyeball
Co-authored-by: vilijur <69403080+vilijur@users.noreply.github.com>
* Clarify profile settings page title
* Implement level privacy settings
* Formatting nitpicks within UserPrivacyPage
* Add discard changes buttons
* Apply suggestion from code review
* Consolidate privacy settings areas together
* Grammar nitpick for comments enable/disable dropdown
* Remove un-needed blue UI segment
* Allow mods to issue disable comments case regardless of privacy settings
Also addresses a few frontend and backend nitpicks left unaddressed by previous commits
* Remove limiting AND operator expression
* Grammar clarity on disable comments button
* Add missing hidden button divider under Wipe Earth Decorations
* No eyeball -m88youngling
Removes eyeball from actual privacy settings page to match styling
* Use long-text description for privacy type dropdowns
* Use long-text description for comments toggle dropdown
* Implement slot page privacy
* Grammar nitpicks with Daggintosh
* Daggintosh grammar review second edition
* Once again put request handler arguments on one line
* Rename LevelsPrivate variable to SlotsPrivate for internal consistency
* Fix issue with PSN slot privacy type
* Un-break comments
* Apply most of the suggestions from code review
* Correct form dropdown values for privacy types
* Potentially fix broken privacy type extension
* Slightly rework access calculation extension method
* Fix issues with if statements
* Apply suggestions from code review
* Make everything translatable
---------
Co-authored-by: vilijur <69403080+vilijur@users.noreply.github.com>
* Display a lock icon next to locked levels
* C# Return Switch shenanigans
* No clue where that line break came from
* Don't render a semicolon
* Move permission level color/lock icon to website extension
* Simplify GetLevelLockIcon
---------
Co-authored-by: Josh <josh@slendy.pw>
* 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
* 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