diff --git a/.env.example b/.env.example index caf5add..831bd45 100644 --- a/.env.example +++ b/.env.example @@ -14,6 +14,8 @@ APP_MAINTENANCE_STORE=database BCRYPT_ROUNDS=12 +LMI_API_KEY= + APP_STAGING=false OCTANE_SERVER=swoole diff --git a/app/Http/Controllers/SaleController.php b/app/Http/Controllers/SaleController.php index e93b00b..0244c14 100644 --- a/app/Http/Controllers/SaleController.php +++ b/app/Http/Controllers/SaleController.php @@ -3,19 +3,20 @@ namespace App\Http\Controllers; use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Http; class SaleController extends Controller { public function index() { $sales = Cache::remember('sales_data', 60 * 60 * 8, static function () { - $shopData = json_decode( - file_get_contents('https://rico-vz.github.io/shop-depr-temp/download.json'), - true - ); - $salesData = array_filter($shopData, static fn ($collection) => $collection['path'] === '/event/sales'); + $lmi_api_key = config('services.lmi.api_key'); - return reset($salesData)['dynamicCollection']['discountedProductsByProductType'] ?? []; + $response = Http::withHeaders([ + 'Authorization' => 'Bearer ' . $lmi_api_key, + ])->get('https://lmi.orianna.dev/api/lol-sales'); + + return $response->json(); }); return view('sales.index', ['sales' => $sales]); diff --git a/config/services.php b/config/services.php index 62e0a08..8bff255 100644 --- a/config/services.php +++ b/config/services.php @@ -9,4 +9,8 @@ return [ 'scheme' => 'https', ], + 'lmi' => [ + 'api_key' => env('LMI_API_KEY'), + ], + ]; diff --git a/resources/views/components/sales/current_sales.blade.php b/resources/views/components/sales/current_sales.blade.php index ff5aae5..2df7c8f 100644 --- a/resources/views/components/sales/current_sales.blade.php +++ b/resources/views/components/sales/current_sales.blade.php @@ -4,63 +4,26 @@ @endphp
-

Sale Rotation is currently undergoing maintenance. This data is not up-to-date. Check back soon.

Sale Rotation

-

All champions & skins on sale

+

+ All champions & skins on sale

-

Champions on Sale

+

+ Champions on Sale

- @foreach($sales['CHAMPION'] as $sale) + @foreach ($sales['champion_sales'] as $sale) @php - $champion = Champion::where('champion_id', $sale['id'])->first(); - $originalPrice = $sale['prices'][0]['originalPrice']['cost']; - $discountedPrice = $sale['prices'][0]['discount']['discountedProductPrice']['cost']; - $discountPercentage = round((1 - ($discountedPrice / $originalPrice)) * 100); + $champion = Champion::where('champion_id', $sale['item_id'])->first(); + $discountPercentage = $sale['percent_off']; + $discountedPrice = $sale['rp']; @endphp - -
-
- {{ $discountPercentage }}% Off -
-
- {{ $champion->name }} Splash Art - -
-
-
-

- {{ $champion->name }} • - {{ $discountedPrice }} RP -

-
-
-
-
- @endforeach -
- - -

Skins on Sale

-
-
- @foreach($sales['CHAMPION_SKIN'] as $sale) - @php - $skin = ChampionSkin::where('full_skin_id', $sale['id'])->first(); - $originalPrice = $sale['prices'][0]['originalPrice']['cost']; - $discountedPrice = $sale['prices'][0]['discount']['discountedProductPrice']['cost']; - $discountPercentage = round((1 - ($discountedPrice / $originalPrice)) * 100); - @endphp - +
@@ -68,23 +31,57 @@
- {{ $skin->skin_name }} Splash Art + {{ $champion->name }} Splash Art

- {{ $skin->skin_name }} • + {{ $champion->name }} • {{ $discountedPrice }} RP

+ @endforeach +
+ + +

+ Skins on Sale

+
+
+ @foreach ($sales['skin_sales'] as $sale) + @php + $skin = ChampionSkin::where('full_skin_id', $sale['item_id'])->first(); + $discountPercentage = $sale['percent_off']; + $discountedPrice = $sale['rp']; + @endphp + +
+
+ {{ $discountPercentage }}% Off +
+
+ {{ $skin->skin_name }} Splash Art + +
+
+
+

+ {{ $skin->skin_name }} • + {{ $discountedPrice }} RP +

+
+
+
+
@endforeach