142 Commits

Author SHA1 Message Date
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
90aeecc6d8 fix user-stack showing wrong name in dialog title 2024-09-11 09:24:43 -04:00
affb0d11f7 add sections bar to profile page
mods and about sections WIP. Also adjusted user-stack tooltip position
slightly
2024-09-10 13:31:59 -04:00
a07e64ff51 Merge remote-tracking branch 'upstream/develop' into user-profile-info 2024-09-10 11:57:59 -04:00
8211731c32 remove clear filters call 2024-09-10 09:20:53 -04:00
ed2091fb23 remove session properties 2024-09-10 09:10:16 -04:00
75ebc827dc
Carbon dynamicFormat macro
Adds a dynamicFormat macro/method on the Carbon facade to handle the logic of conditionally formatting the dates based on the difference to the current time.

Logic pulled from #48 (Thanks Waffle!)
Issue #45
2024-09-09 23:14:30 -04:00
0a271ff03e add link to sections 2024-09-09 16:20:54 -04:00
164a649cd4
Removes old SPT versions from search results
The global search results are now limited to mods tagged with the last three minor SPT versions, like the mod listing filters.

I'm not 100% sure about this change. Open to suggestions and revisiting this in the future.

Resolves #26
2024-09-08 22:06:52 -04:00
ffd5117028
Renames $availableSptVersions to $activeSptVersions in Mod Listing 2024-09-08 22:00:26 -04:00
4ba181900e add test 2024-09-01 23:42:44 -04:00
aabf5a1b44 improve user stack auth user following checks
and some UI tweaks
2024-08-31 22:40:36 -04:00
73cb9a9ccf Merge remote-tracking branch 'upstream/develop' into user-profile-info 2024-08-31 15:17:26 -04:00
16e3a67efd
Query Optimization
- Download counts were taking too long to calculate dynamically, so we're keeping track of a total count with observers and queued job.
- Optimized the SQL used to order a mod listing by mod version update times.
2024-08-31 01:19:22 -04:00
09771d233a
Mod Filter Page - SPT Versions
Updated the mod filter page to only show SPT versions that have been tagged by mod versions.
2024-08-30 23:13:46 -04:00
6c86d6b370 Merge remote-tracking branch 'upstream/develop' into user-profile-info 2024-08-30 10:36:41 -04:00
97ed77dad7 use livewire for profile
also following is in but needs a little more work (future problems)
2024-08-30 10:32:09 -04:00