135 Commits

Author SHA1 Message Date
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
651979ccea Merge remote-tracking branch 'upstream/develop' into impl/mod-listing-page 2024-08-10 14:15:11 -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
3d5697e04b
Mod Teaser Updates
- Updates the import script to import the full mod teaser text, up to 255 characters.
- Updates mod detail page to show teaser in the main detail card.
- Updates mod listing component to show the first 100 characters of the teaser.
- Adjusts padding on the mod listing component.

Resolves #22
2024-08-09 15:22:42 -04:00
593b44150c
Resolves Mod Detail Page Version Issue
The latest version on the mod detail page was being selected by created date instead of highest version number. This has been resolved. Also adds a test for this issue.
2024-08-09 12:35:46 -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
713ea7e076
Download Number Macro
Adds a `Number:downloads()` macro to format the number of downloads depending on how many there are. Example: 1259000 is converted into 1.25M, 125900 is converted into 125.9K.

Updated the views to use this macro. Also included a title tag with the exact number so they can be viewed on hover.
2024-08-09 00:35:18 -04:00
23a9cabf99
Implements API Sorting
You can now sort mod and user data by whitelisted attributes.
2024-08-08 18:18:05 -04:00
3a334033fe
API Updates
Brings the API in close sync to the rest of the site.
- Adds resources for License, UserRole, and ModVersion models
- Adds filtering on attribute data
- The `includes` data is now disabled by default and available conditionally
2024-08-08 16:11:50 -04:00
0ed25fec03
User API Updates
Adds user profile links to the user API resource.
Fixes structure of relationship data and link sections.
Adds parameter to include related user data when requesting mod data.
2024-08-07 23:30:09 -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
b868b5a75c setup mod index pagination 2024-08-07 14:33:11 -04:00
632799cb44 Merge remote-tracking branch 'upstream/develop' into impl/mod-listing-page 2024-08-05 09:31:20 -04:00
55273e5a90
Hub Imports of User Avatars and Cover Photos
TODO: Cover photos need to be added to the profile page so users can edit them.
2024-08-03 17:36:33 -04:00
11453db596
Model Comments, Yay! 2024-08-03 17:36:33 -04:00
115f81fe96
Basic structure to load user profile view 2024-08-03 17:34:41 -04:00
2680e21325
Import Script - Temp Table Charset/Collation
Sets the charset to `utf8mb4` and the collation to `utf8mb4_0900_ai_ci` when the temporary tables are created in the import script. Prevents conversion errors when the MySQL defaults are not set to match the expected charset and collation.
2024-08-03 12:06:01 -04:00
5d6dcd4a2c setup mod index page 2024-08-02 12:23:05 -04:00
c6f252ace7
Mod Version Dependency Updates
- Handles circular mod version dependencies
- Optimizes mod show query to only pull the versions relationship
- Adds a mod dependency factory
- Refactored tests to use mod dependency factory
- Adds mod dependency generation into the default seeder
- Adds unique index on mod dependencies table
- Adds mod dependencies on the mod show view
2024-08-01 17:15:02 -04:00
20e1ab2dae
Import Script, Published Date
Updates the import script to ignore any scopes on the Mod and ModVersion models when making inserts. Adds the `published_at` field.
2024-08-01 17:03:03 -04:00
f94204e978
Mod Publish Dates (#17) 2024-07-31 19:53:09 -04:00
203626d043 run pint? 2024-07-31 15:14:22 -04:00
82a466eb58 update scope and tests
to not include null published at fields
2024-07-31 14:06:56 -04:00
f04fbab5c6 add published scope 2024-07-26 09:35:09 -04:00
7ee542856d add published_at 2024-07-26 09:34:57 -04:00
74f61df875
Adds Mod Version Dependency System
Pretty nifty, but it still needs a few things before merge. Factory & front-end work, at least.
2024-07-26 02:19:42 -04:00
fea14652c9
Merge branch 'mod-page-tabs' into develop
# Conflicts:
#	app/Http/Controllers/ModController.php
#	resources/views/mod/show.blade.php

Resolved by Refringe
2024-07-23 23:26:15 -04:00
refringe
705afc95a8 Pint PHP Style Fixes [no ci] 2024-07-24 02:01:19 +00:00
8eae71b22a
Simplifies Latest Version Relationship
This change removes the `latestSptVersion()` relationship, which fetched the latest mod version for the latest SPT version, with a more simple `latestVersion()` relationship that simply fetches the latest mod version based on the mod version, version number field.

This is less complicated and much less confusing.
2024-07-23 21:21:55 -04:00
fce5bd4b04 move modversion ordering
to model
2024-07-23 09:27:15 -04:00
waffle-lord
30cdc60ae0
Merge branch 'develop' into impl/mod-page-tabs 2024-07-23 04:59:13 -07:00
b429300b7b update version tab info 2024-07-22 10:16:53 -04:00
8a9e7b0573
Disables the extra Filament login route 2024-07-18 19:50:57 -04:00
1960cec21f
Updates PHPStan to ignore tests 2024-07-17 23:50:57 -04:00
cb636fd197
Adds Search Sync Command
Adds an artisan app command that handles all of the search set-up and sync needed to get going.

`artisan app:search-sync`
2024-07-16 12:02:52 -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
53b67b23dd
Queueable Account Notifications
The email verification and password reset notifications are now handled on a queue.
2024-07-06 19:14:51 -04:00
a927f10941
Import Multiple Mod Authors
The import script has been updated to pull in additional mod authors from the hub.
2024-07-05 14:35:00 -04:00
c1a58e29dd
Multiple Mod Authors
The mod-to-user relationship has been modified to be a many-to-many relationship. Mods can now have multiple authors, and an author can have multiple mods.
2024-07-04 22:10:48 -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
f734adca22
Resolves PHPStan Error 2024-06-27 23:18:53 -04:00
0e3783555e
Basic API
Includes routes for login, logout, listing users, listing mods, listing a user, and listing a mod. Very basic, just laying out the structure.

https://www.postman.com/refringe/workspace/spt-forge
2024-06-27 16:58:11 -04:00
251b1ffd14
Laravel Filament
Adds Laravel Filament to be used as an admin panel. Adds the users to the admin panel as an initial resource.
2024-06-27 00:19:18 -04:00
5b62f359e3
Null Guard Admin Check
Also adds method to check if a user is a moderator.
2024-06-23 08:37:16 -04:00