Commit graph

31 commits

Author SHA1 Message Date
koko
6558d09c8d
Implement profile and level privacy settings (#841)
* 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>
2023-07-22 21:49:56 +00:00
koko
25bb2ecfc1
Add the ability for moderators to forcibly lock levels (#831)
* 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
2023-07-07 22:44:05 +00:00
koko
21dbdff20a
Add proper ban page when logging in (#773)
* 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
2023-05-30 19:25:31 +00:00
koko
89877d359f
Add comment form max char limit validation (#722)
* Add comment form max char limit validation, minor visual nitpick

* Italicize banned/disabled/etc messages within comments
2023-03-30 06:03:12 +00:00
Josh
329ab66043
Refactor serialization system (#702)
* 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
2023-03-28 00:39:54 +00:00
Josh
f1c5ad4002
Major refactor and reorganization of types (#652)
* 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
2023-02-13 22:02:58 -06:00
Zaprit
3fcfaaf5cc
Profile Blocking (#662)
* 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>
2023-02-11 08:25:06 +00:00
koko
2c2f31ad38
Website visual QOL changes (#651)
* 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>
2023-01-29 18:58:05 -06:00
Slendy
e061987165
Revert PRs #646 and #647 2023-01-26 19:45:20 -06:00
koko
141d955f52
Website QOL Changes (#646)
so Mike stops complaining about the neglected mod menu - sudokoko

Co-authored-by: Dagg <daggintosh@outlook.com>
2023-01-26 23:29:54 +00:00
Slendy
0972375b05
Let level/profile owners delete comments 2022-12-20 15:22:12 -06:00
Josh
f4cad21061
Website UI redesign and QOL changes (#601)
* 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
2022-12-19 15:20:49 -08:00
Slendy
de44991ea4
Fix word wrap on user biographies 2022-09-18 15:48:56 -05:00
Josh
f6a7fe6283
User settings, level settings, language and timezone selection and more. (#471)
* 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
2022-09-17 14:02:46 -05:00
jvyden
3e8344c8f3
Refresh the website's UI
Squashed commit of the following:

commit 47d268cc29560e72b5102eabc80d1f5743c103bb
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 21:14:09 2022 -0400

    Make profile pictures square

commit a5ae8a53918708fea215a5676beea2116078bd34
Merge: f5d8a9e f06fcc4
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 18:43:26 2022 -0400

    Merge branch 'main' into ui-refresh

commit f5d8a9e5ed2d9aaafd63d113a5b064d042f7ba48
Merge: fbf1695 2ad9804
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 17:03:33 2022 -0400

    Merge branch 'main' into ui-refresh

commit fbf16953893b2e294df21a0c60e561dbb409aa92
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 17:02:32 2022 -0400

    Fix test failures

commit 70cb5513cb8bae9d85b2b04bc9a3fb194f0a66a5
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 16:56:43 2022 -0400

    Improve 404 logic

commit b2743c4c8af736d2501c7bdd47cce19a6a01902d
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 16:44:36 2022 -0400

    Add 404 page

commit 3d0926d3c99d347617e5147ac632d8ec6bab18f9
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 16:27:03 2022 -0400

    Update icons for slots and team picks

commit c61405d83d71d9e67ab4c2775f76b3f7d6c2e827
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 16:12:45 2022 -0400

    Add background color, put content on segment

commit f7d9ee6a0accc9d664f8d2aefabcce4eb8789cd6
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 15:53:58 2022 -0400

    Add colors to mod/admin panel buttons, update fomantic

commit e680c5e6eb14f22792dc62bda029072d3f11f423
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 03:20:16 2022 -0400

    Fix landing page title

commit c779aa4b417af623aa47db0ce9875f49a9ee5c4b
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 03:13:32 2022 -0400

    Remove useless css

commit 57f6387c1214b319fe3e0b14df32a7bbecf51548
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 03:11:45 2022 -0400

    Add hover effect to logo

commit 15746911f92037abec115a83fa625ef0fda39e3a
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 02:39:04 2022 -0400

    Change currently_online string to english better

commit b98a90f1e9f0b3af7e65104cdd0acbc74c6a244e
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 02:33:41 2022 -0400

    Run GameApiTests sequentially, fix web tests

commit 630c08d3b80b74be11b0648b24011f89de705130
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 02:20:01 2022 -0400

    Add user links to comments

commit a91f136c87bc973300c74d6f97696cd7cbf1046a
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 02:14:22 2022 -0400

    Add ability for photos to have user links

commit d9e2a58e37dafe842b0b10b463cde1a2cb962052
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 01:33:21 2022 -0400

    Add ability to link to users and include their profile picture

commit 200196ce1f58638da7da368025ec0a88cacc14b6
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 01:33:07 2022 -0400

    Rename "users" to "people" in Landing Page

commit 07d229821099c069979a21bbd529b549c6f4e6b6
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 00:59:17 2022 -0400

    Fix bug with name on mobile

commit aecad7aeb69b63c0e517e85fba0c4de292d202f4
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 00:44:56 2022 -0400

    Make gap between header and title 17px

commit 46fa79b84e46b7ae90232724d82f7bd9e1a74f17
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 00:40:00 2022 -0400

    Fix user card stats oddity

commit 3b4c19f5b7e0199baeb88e27c918fbb17b5f777a
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 00:24:38 2022 -0400

    Mobile improvements, make avatars rounded

commit cf9533410042cabf456be0cba34ac5d80ef86046
Author: jvyden <jvyden@jvyden.xyz>
Date:   Fri Aug 19 00:02:01 2022 -0400

    Redesign header

commit f24aec0367d8375f3eaea94ea3579d86256c94be
Author: jvyden <jvyden@jvyden.xyz>
Date:   Thu Aug 18 23:36:42 2022 -0400

    Fix runtime compilation not working

commit 3147e12865feecf792a46088711691160c76b0c6
Author: jvyden <jvyden@jvyden.xyz>
Date:   Thu Aug 18 22:43:21 2022 -0400

    Add support for custom fomantic theme
2022-08-19 21:15:41 -04:00
jvyden
f17a6abda3
Dont show granted slots partial for moderators 2022-08-14 17:03:35 -04:00
jvyden
8fe9bd4c57
Add ability to hide comments on levels and profiles 2022-08-06 14:23:37 -04:00
jvyden
ef6acbb210
Add ability to hide levels 2022-08-05 21:44:17 -04:00
jvyden
0d7d8c25f3
Replace "Moderator Options" with "Moderation Options" 2022-08-05 21:21:51 -04:00
jvyden
842e161d7e
Add ability to ban users with a case 2022-08-05 21:12:10 -04:00
jvyden
b6da930e20
Merge main into mod-panel 2022-08-05 17:02:19 -04:00
jvyden
018d9d2b9f
Translate profile page 2022-08-01 18:29:43 -04:00
jvyden
7ba50e26f5
Add mod notes to ban cases, improve case display 2022-07-27 17:54:32 -04:00
jvyden
cdcc03fdc1
Add case generator for bans, allow mods to ban 2022-07-27 17:34:59 -04:00
jvyden
cc7022cf48
Merge branch 'main' into mod-panel 2022-07-27 16:55:16 -04:00
jvyden
f0befef31f
Translate UserStatus, titles of pages in header 2022-07-27 16:37:38 -04:00
jvyden
8301418085
Use permission level model for permissions
This is better. Because having 20 fucking columns for permissions is STUPID.
2022-05-22 15:51:02 -04:00
jvyden
33f344f200
Add admin button to wipe a user's earth decorations 2022-05-20 22:01:54 -04:00
jvyden
c345eeebb9
Massive organization of classes and namespaces 2022-05-15 16:45:00 -04:00
jvyden
330c01317d
Combine a bunch of helpers together, shuffle some things around 2022-05-15 00:24:22 -04:00
jvyden
b2ec7eae57
Move servers to LBPU.PL.Servers 2022-05-14 23:37:55 -04:00
Renamed from ProjectLighthouse.Website/Pages/UserPage.cshtml (Browse further)