59 Commits

Author SHA1 Message Date
53e3fd36da Merge pull request 'Add Results Per Page Dropdown to Mods Index Page' (#55) from waffle.lord/forge:impl/results-per-page into listing-per-page
Reviewed-on: SPT/forge#55
2024-10-07 03:59:46 +00:00
70462eaae5
Fixes Transition Bug
Resolves a bug where the hover transition caused a mod card to flip sideways when the page was changed.
2024-10-06 19:36:24 -06:00
abcf31fae0
Adjusts Mod Card Layout/Spacing in Mobile 2024-10-05 14:48:33 -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
96a0b82695 add small screen control
also fix dropdown text colors
2024-09-27 08:57:11 -04:00
4ea50fb0ef add initial dropdown
still need to handle size constraints
2024-09-26 16:22:27 -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
eb9a656c69
RAINBOWS
Need I say more?
2024-09-17 17:14:42 -04:00
b1195ebb7c
Remove the dump call
Whoops! My bad.
2024-09-17 15:26:55 -04:00
09e9e15c5e
Global Search User Profile Link
Links up the users in the global search to the user's profile page.
2024-09-17 14:52:09 -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
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
0190e0431d Merge remote-tracking branch 'upstream/develop' into update-mod-list-stats 2024-09-11 14:38:32 -04:00
cc2cc71c26 Merge branch 'develop' into fix/view-all-filtering 2024-09-11 18:25:48 +00:00
b5516d3a7e update list stats 2024-09-11 14:20:39 -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
4490cd4de1 make versionScope truely optional
and add checks for null
2024-09-03 14:42:50 -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
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
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
5dade5dfcf update mod card 2024-08-10 14:18:56 -04:00
651979ccea Merge remote-tracking branch 'upstream/develop' into impl/mod-listing-page 2024-08-10 14:15:11 -04:00
d511d0c546
Version Scope Null Check
Checks for the existence of a version scope on the homepage mods lists.
2024-08-09 23:23:17 -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
f3cedfbb0f update mod card 2024-08-09 11:31:11 -04:00
c1e73dc73b Merge remote-tracking branch 'upstream/develop' into impl/mod-listing-page 2024-08-09 11:31:00 -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
d247b8cbe6
Resolves CSS Link/Container Issue
This resolves an issue with the mod cards where the anchor tag was larger than the containing div on smaller breakpoints.

Resolves #21
2024-08-08 23:46:24 -04:00
0978aa14b9
Adds Social Links
Social links to our Discord server and our Subreddit have been added to the footer.

Resolves #30
2024-08-08 23:19:23 -04:00
aa61c63bd1 create mod card component 2024-08-07 14:32:37 -04:00
a05b5499de revert mod.index on list section
I have no idea how this was changed, but it breaks stuff
2024-08-05 10:10:00 -04:00
115f81fe96
Basic structure to load user profile view 2024-08-03 17:34:41 -04:00
5d6dcd4a2c setup mod index page 2024-08-02 12:23:05 -04: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
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
a36c38db43
Updates warning banner message. 2024-07-05 16:19:48 -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
73c05a1b80
Mobile Dark Mode & Theme Switch
The mobile navigation has been wired up, and now includes a working theme switch button.
2024-06-24 16:35:43 -04:00
8d2f6f31e6
Dark Theme Auth Pages 2024-06-23 18:53:12 -04:00
3068712f12
Dark Theme Profile Work
Mostly finished with the profile and navigation work. Buttons elsewhere on the site still need to be restyled. Search needs to be redone with the recent navigation bar changes.
2024-06-23 10:50:52 -04:00
d34a75523a
Fixes Local Image Issue
Local images should now appear. Needed to specify the public disk to ensure that HTTPS was used.
2024-06-23 08:34:22 -04:00
a2fb68ea93
Navigation Rework
Still needs some TLC with profile photos.
Continued work on the dark theme on the internal pages. More to come.
2024-06-22 21:55:20 -04:00
be0eecf1e9
Converts import command to a queued job 2024-06-12 16:52:32 -04:00