* 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 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 TOTP 2FA
* Fix bug in 2FA code script
* Add translations for two factor and /disable2fa
* Fix compilation error
* Add TwoFactorLoginPage
* Add two factor login process
* Little bit of backup code work
* Finish two factor
* Fix unit tests
* ??? goofy ahh code
* Use SHA-256 instead of SHA-512
* I guess SHA-256 doesn't work either
* Fix comments in Base32 helper
* Move QRCoder package to website
* Add name to endregion comment in css
* Fix bug with redirects