35 Commits

Author SHA1 Message Date
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
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
651979ccea Merge remote-tracking branch 'upstream/develop' into impl/mod-listing-page 2024-08-10 14:15:11 -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
c1e73dc73b Merge remote-tracking branch 'upstream/develop' into impl/mod-listing-page 2024-08-09 11:31:00 -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
3aefae4bb8
Resolves Mod Dependancy Display Error
Fixes a display error when a mod dependancy is created, but can not be resolved into an actual available version.
2024-08-09 00:11:32 -04:00
40884ae1c4
Mobile Download Button Location
Moves the mobile download button to above the tabs.

Resolves #23
2024-08-08 23:54:43 -04:00
ecc2d1ca1a
Mod Detail Page Main Card
Cleans up the main card on the mod detail page to make the SPT version more in-sync with the rest of the site.

Resolves #28
2024-08-08 23:02:48 -04:00
1d174ab8b3 layout WIP 2024-08-08 15:50:50 -04:00
b868b5a75c setup mod index pagination 2024-08-07 14:33:11 -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
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
297a58cba1
Markdown & Formatting
Updated the version descriptions to use markdown and made minor alterations to the look of the version cards.
2024-07-24 00:43:05 -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
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
45e439e86f more tweaks, i'm done now 2024-07-23 11:46:27 -04:00
168be6cc94 UI tweaks 2024-07-23 10:59:39 -04:00
b429300b7b update version tab info 2024-07-22 10:16:53 -04:00
75a7e15184 versions tab content WIP 2024-07-19 13:10:38 -04:00
6a68231283 remove info 2024-07-18 13:34:15 -04:00
fad0a816b8 wire up tabs with alpinejs 2024-07-18 11:46:43 -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
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
66f13bc782
Moves Static Assets to R2 2024-06-06 13:19:28 -04:00
92b04eb286
Updates to search 2024-06-05 16:31:29 -04:00
c026870bed
Mod detail page work 2024-06-01 23:04:06 -04:00
c59615d7ac
Updates, Lots of Updates
No one reads these anyways. I updated a lot. There. Happy?
2024-05-31 17:44:52 -04:00
45b9ebc096
Fixes Dark Mode Script - Work on Detail Page 2024-05-30 22:46:53 -04:00
4cb739f50c
More Updates
- Updates dependancies
- Added time to mod component
- Implement naturalSort function into homepage queries

Short todo:
- Migrate top navigation from old-build
- Mod detail page
2024-05-28 17:19:36 -04:00