53 Commits

Author SHA1 Message Date
de63309649 Merge remote-tracking branch 'upstream/develop' into impl/results-per-page 2024-10-01 08:47:39 -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
0208213564
Removes fancy quotes. 2024-09-30 14:09:38 -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
4ea50fb0ef add initial dropdown
still need to handle size constraints
2024-09-26 16:22:27 -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
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
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
743ed27bd0 Merge remote-tracking branch 'upstream/develop' into user-profile-info 2024-09-16 09:38:30 -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
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
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
ffd5117028
Renames $availableSptVersions to $activeSptVersions in Mod Listing 2024-09-08 22:00:26 -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
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
239b10ca9d user stack and follows WIP 2024-08-29 21:50:59 -04:00
4b3d04ff54
Mod Filter - Redirect To Last Page
If the page you're on doesn't have any results, then redirect to the last page that does.
2024-08-29 16:45:11 -04:00
05f2dfc258 work dump WIP 2024-08-29 16:25:55 -04:00
1783a683ed
Semvar & Automatic Resolution - Remix
- Updated the SptVersion and ModVersion dependancies to resolve *all* compatible versions and introduced new relationships to pull just the latest compatible version. Had to rewrite a *bunch*, but it should be much more capable now. It can be expensive to resolve these properties when iterated over, so *make sure they're eager loaded using the `with` method when you're building the queries*.
- Updated the mod listing Livewire component to save the filter options within the PHP session instead of in browser local storage. *Much* cleaner.
- Removed caching from homepage queries to see how they preform on production. Will add back later.
- Updated ModVersion factory to create SptVersions if there are none specified.
- Probably lots of other changes too... I need to make smaller commits. :(
2024-08-29 15:46:10 -04:00
db578071e4
SPT Semvar & Automatic Resolution
This update gives mod versions a supported SPT version field that accepts a semantic version. The latest supported SPT version will be automatically resolved based on the semvar.

Next up: I need to update the ModVersion to SptVersion relationship to be a many-to-many and expand the resolution to resolve multiple versions.
2024-08-22 17:04:07 -04:00
e3d1e74901
Featured Ribbon
Adds a featured ribbon to featured mods so that they can be visually distinct within the listing.
2024-08-16 00:11:47 -04:00
189275fb0c
Saves Filters to Local Storage
The filters on the mod listing page are now also saved to the browser's local storage system. This means you can set a bunch of filters and a sort order, browse away (or close the browser), and the next time you visit the page the site will remember the filters that you had set.
2024-08-15 23:45:17 -04:00
41714f337f
Filter Count
A count of the number of filters currently applied is now displayed.
2024-08-15 23:05:48 -04:00
7fe1fad01b
Mod Listing Page Changes
- Updated visual look of the listing to include all filters at the top of the page
- Updated SPT version filter to be able to filter more than one version at a time (defaults to current minor version)
- Moved location of Livewire components into subfolder
- Moved query building methods for the listing into a `ModFilter` class
- Adds a `isLatestMinor` method on the SptVersion model that checks if the current version number is of the latest minor version release
- Livewire filter properties are now saved to the URL when changed
- Updated the top navigation link to include a "Mods" menu item.

TODO:
- Search codebase for "TODO". I've left notes. :|
2024-08-15 17:57:35 -04:00
cc3cdddce3 display filtered spt version 2024-08-12 11:20:03 -04:00
a679cec98d wire up spt version filter
this isn't working correctly from what I can tell, but it's a start.
2024-08-10 14:04:00 -04:00
5c02d237e3 add featured section filter 2024-08-09 11:45:53 -04:00
c1e73dc73b Merge remote-tracking branch 'upstream/develop' into impl/mod-listing-page 2024-08-09 11:31:00 -04:00
9244d48713 wire up search and section filters 2024-08-09 11:21:46 -04:00
7acdee1b6c switch to using livewire 2024-08-09 10:15:05 -04:00
35cd00e39d
Adds Cover Photo Field
Adds the cover photo field to the Jetstream edit profile form.
2024-08-07 16:23:55 -04:00
49fd8b83df
Search SPT Version & Homepage Queries
The global search results now include the SPT version number the latest version of the mod is compatible with. Additionally, mod thumbnails and the SPT version numbers

Homepage queries have been further optimized and are now cached for 5 minutes.
2024-07-15 23:17:53 -04:00
a1504fe622
Global Search Structure
Reconfigured the global search to include more than one model. Refactored the search front-end to work inline instead of inside a model/popup.
2024-07-03 17:47:02 -04:00