* 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>
* Add the ability for moderators to forcibly lock levels
* Prevent forcibly locking an already locked level
I had to rollback and re-commit this because I was getting some weird error within Rider.
* Correct moderation notice header styling & remove errant text
* Add proper ban page upon logging in
* Remove two extra line break tags that don't need to be there
* Fix timestamp formatting
* Properly display timestamps in correct timezone
* Fix formatting issues with ban page
* Remove extra parenthesis which would be rendered on-page
* Add to redirect middleware to prevent navigating to other pages
* Small nitpick, renaming UserBannedPage to BannedUserPage
* Resolve nitpicks from reviewers
* Remove un-necessary log message in LoginForm
* Fix ban reason translatable string argument
* Word choice nitpick ("Ban Created" -> "Ban Issued")
* Final adjustments and nitpicks, visual and grammatical
* Resolve requested changes from reviewers
* 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
* Added blocked user DB object
* Added user blocking functions
* Fixed DB Migration
* Updated DB Functions
* Added blocked user support to website
* Fixed DB Migration
* I forgot to save 🫠
* More migration pain
* Fixed Unblock label
* Update ProjectLighthouse.Servers.Website/Pages/UserPage.cshtml
sounds cool
Co-authored-by: koko <68549366+sudokoko@users.noreply.github.com>
* Removed unnecessary imports in database
* Removed unnecessary imports in UserPage.cshtml.cs
* Made comments in-game respect blocked users
* Update ProjectLighthouse/Database.cs
Co-authored-by: Josh <josh@slendy.pw>
* Update ProjectLighthouse/Database.cs
Co-authored-by: Josh <josh@slendy.pw>
* DB Code cleanup
* Cleaned up userPage block detection code
* Get only the creator id in lieu of the whole object
* Fixed null condition when not logged in
* Fixed null condition when not logged in
* Potential DB Optimisation
* Apply suggestions from code review
Co-authored-by: Josh <josh@slendy.pw>
* Fix errors and null warning
* Use explicit type in lieu of var
* changed block icons
* Optimize blocked user check and save changes when unblocking
---------
Co-authored-by: koko <68549366+sudokoko@users.noreply.github.com>
Co-authored-by: Josh <josh@slendy.pw>
* Website visual QOL changes
* Remove resource wording from 404
Co-authored-by: Josh <josh@slendy.pw>
* Moderation case type clarity change
* Re-arrange how comments are hidden if banned
* Revert CommentsPartial change
* 404 changes
* Change public ban "reason" message to be more generic
* Update ProjectLighthouse.Servers.Website/Pages/UserPage.cshtml
Co-authored-by: Josh <josh@slendy.pw>
* Remove duplicated elements
---------
Co-authored-by: Josh <josh@slendy.pw>
* 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