158 Commits

Author SHA1 Message Date
18ce8754c2
User Profile Follow Component Mobile Optimization 2024-10-05 14:32:25 -04:00
80f3da13b9
Optimize User Follow Components
Much better, still not perfect. The mobile and the desktop components are being rendered twice, and each of their methods are running twice as well. Going to see if I can modify the structure to get away with only using one.
2024-10-05 14:09:22 -04:00
1521e50dcb
Eager Load User Relationships in Scout Model Method 2024-10-01 09:25:05 -04:00
293e52726b
Eager Load Mod Relationships in Scout Model Methods 2024-10-01 09:20:17 -04:00
41555ca674
Eager Loading SPT Versions 2024-09-30 23:47:04 -04:00
39a7640e92
Reworked Follow Livewire Components
Fixes PHPStan errors and makes it a little more performant. Still not good enough. Making way to many queries for what it's doing.
2024-09-30 22:56:06 -04:00
df8e7f958d
Uses On Attribute for Livewire Listener 2024-09-30 22:54:45 -04:00
30985541e7
Fixes PHPStan Issues 2024-09-30 22:54:15 -04:00
1127f2b9df
Eager Load User Mods 2024-09-30 22:53:32 -04:00
319e5e65e9
Disable Lazy Loading in Development 2024-09-30 22:52:44 -04:00
0d043ff880
Username Handling
- When a new user is created using Discord OAuth information, if the username returned from Discord is already taken, append randomness to the end of the username.
- Validates that a new account name is unique.
- Validates that an updated account name is unique.
2024-09-30 16:43:31 -04:00
0208213564
Removes fancy quotes. 2024-09-30 14:09:38 -04:00
caefd6dbb2
Discord Avatar Import
Imports the user's avatar from discord when a new user is created through OAuth.
2024-09-30 14:06:37 -04:00
746fed1746
OAuth Management
Adds a edit-user-profile section to allow a user to remove an OAuth connection from their account when they have a local account password set.
2024-09-27 20:41:36 -04:00
46550b5d8f
OAuth Account Password Creation
This allows a user that was created via OAuth to set a local password on their account.
2024-09-27 16:51:13 -04:00
88aa9b1ad8
Discord OAuth
Creates the base structure for Discord OAuth.
2024-09-26 16:55:44 -04:00
7e1c66f250
Download Count Review
Reviewed the download count PR work and made some changes:
- Updated the download link route to include the mod's slug for easier identification.
- Moved rate limiter from the route middleware (the entire controller) to just the show method in the controller.
- Created a ModVersionPolicy that the controller can check against.
- Moves download increment logic into the model.
- Defers the call to the download increment logic (now run in the background)
- Updated the route to have a name, and the downloadUrl methods to build the URL dynamically using the route name.
- Wrote some tests to check URL building, download counting, and rate limiting.

# Conflicts:
#	app/Http/Controllers/ModVersionController.php
#	app/Providers/AppServiceProvider.php
2024-09-25 17:04:46 -04:00
Refringe
deca405976 Pint PHP Style Fixes [no ci] 2024-09-25 19:15:41 +00:00
6b7efb87ec Merge remote-tracking branch 'upstream/develop' into impl/download-tracking 2024-09-24 14:13:17 -04:00
4e33dd9ec5
Updates About Field Default
Updates the about column to have a default of an empty string. Curse you, MySQL!
2024-09-24 00:46:44 -04:00
6bc02ca210
Imports User Follows
The import script will now import hub user follows.
2024-09-24 00:43:15 -04:00
2cd8e9fa86
Global Search Fixes
Fixes an issue with the global search box not functioning correctly with keyboard navigation.
2024-09-24 00:42:26 -04:00
691f352d01
User Follow Components
Updates the user follow component to two smaller components. Still needs to be optimized.
2024-09-24 00:40:33 -04:00
8a156d8a43 update controller
to recalculate downloads and return 307 specifically
2024-09-20 10:46:26 -04:00
6d6670e246 setup download counting 2024-09-20 10:37:16 -04:00
cf381c9e7d
Method syncWithoutDetaching Expects Array 2024-09-17 17:19:39 -04:00
db259e2689
Removes PHPStan Errors 2024-09-17 17:19:07 -04:00
c3f9fcf19f
Minor User Model Changes
- Added a few docblock comments
- Pint reordered methods (for some reason)
- Added type casts for id, hub_id, created_at, and updated_at
2024-09-17 15:33:42 -04:00
be05d2693e
Remove Controller User Model Binding
We're going to being in the user id from the URI instead so we can do a custom lookup on it.
2024-09-17 14:51:32 -04:00
579a26a360 Merge branch 'profile-data' into user-profile-info 2024-09-17 17:32:46 +00:00
2cca45bcea
Removes Array Definition Docblock Information
Part of moving back to PHPStan level 5 means we can remove some of these. They're very busy and don't give enough context to outweigh the ugly.
2024-09-17 13:30:11 -04:00
df779135c1
Global Search Accessibility
Improved the accessibility of the global search field in the header.
- When focus is lost, the dropdown disappears
- The tab key and up/down arrows can be used to cycle through results
- When using the keyboard to cycle through results, focus loops back to the top result
- Pressing the esc key will clear the search text and remove the focus lock on the search

Resolves #25
2024-09-17 11:59:28 -04:00
0f3c7e03d0 Merge remote-tracking branch 'upstream/develop' into user-profile-info 2024-09-17 09:39:43 -04:00
297937a2ea
Scribe API Documentation
Installs Scribe for (mostly) automatic API documentation. Does a pretty good job and it's pretty painless to set-up. I'll have to configure it to work in the CI and to ensure that the static files are being pushed to production as they should be, but this is a good start.
2024-09-17 01:41:00 -04:00
d70a38bf08
API Filters Clean-up
Generalized similar API filter methods and moved them into a FilterMethods trait. Rewrote ModFilter and UserFilter methods to use the general trait methods.
2024-09-17 01:38:28 -04:00
2199e34569
Mod Updated Column
Updating a ModVersion model now updates it's parent Mod's updated_at column.
2024-09-16 15:43:25 -04:00
743ed27bd0 Merge remote-tracking branch 'upstream/develop' into user-profile-info 2024-09-16 09:38:30 -04:00
c2d36e8b09
Simplifies Expression
Null not possible.
2024-09-15 23:46:02 -04:00
7909f629c6
Homepage Query Caching 2024-09-15 23:27:00 -04:00
45a211b66d
Listing Query & Relationship Clean-up
Rebuilt the filtering queries and many of the mod-to-modVersion-to-sptVersion relationships.

Resolves #38
2024-09-15 23:05:38 -04:00
58e8adb730
Adds TODO for query. 2024-09-13 00:17:13 -04:00
d1b142c2ee
Reworked Mod Listing
Updates the mod listing components to be a little more friendly.
2024-09-13 00:08:00 -04:00
d9b7d6fcc8
Resolves Remaining Larastan Issues 2024-09-12 13:19:52 -04:00
cdaddbb44f Merge remote-tracking branch 'upstream/develop' into user-profile-info 2024-09-12 09:12:41 -04:00
bbb8fab1a1
Resolves Some Larastan Issues 2024-09-11 23:08:58 -04:00
aaf8ee4249
Chaperone
Add chaperone calls to all of the relationships that support it.
2024-09-11 15:09:38 -04:00
2179da3c4d Merge remote-tracking branch 'upstream/develop' into user-profile-info 2024-09-11 14:52:24 -04:00
cc2cc71c26 Merge branch 'develop' into fix/view-all-filtering 2024-09-11 18:25:48 +00:00
f16b3fe497 pint and some mod data changes 2024-09-11 14:15:13 -04:00
f443364721 paginate mods 2024-09-11 09:25:02 -04:00