diff --git a/app/Services/Brief/WeeklyBriefService.php b/app/Services/Brief/WeeklyBriefService.php index c47df12..0c5f71d 100644 --- a/app/Services/Brief/WeeklyBriefService.php +++ b/app/Services/Brief/WeeklyBriefService.php @@ -370,11 +370,13 @@ class WeeklyBriefService protected function resolvePaperTrack(Paper $paper): string { $url = strtolower((string) ($paper->crawlJob?->request_url ?? '')); + foreach (array_keys(self::TRACKS) as $track) { - if (preg_match('#/list/'.$track.'(?:/|$|[?&#])#', $url)) { - return $track; - } - if (preg_match('#categories?/'.$track.'#', $url)) { + if ( + str_contains($url, '/list/'.$track) + || str_contains($url, '/list/'.$track.'/') + || str_contains($url, 'categories/'.$track) + ) { return $track; } } diff --git a/routes/admin.php b/routes/admin.php index ce0bc63..d98b07a 100644 --- a/routes/admin.php +++ b/routes/admin.php @@ -179,7 +179,9 @@ Route::prefix('admin/v1')->group(function () { Route::get('/weekly-briefs', [WeeklyBriefController::class, 'index'])->name('admin.weekly-briefs.index'); Route::get('/weekly-briefs/week-options', [WeeklyBriefController::class, 'weekOptions'])->name('admin.weekly-briefs.week-options'); Route::post('/weekly-briefs/generate', [WeeklyBriefController::class, 'generate'])->name('admin.weekly-briefs.generate'); - Route::get('/weekly-briefs/{weeklyBrief}', [WeeklyBriefController::class, 'show'])->name('admin.weekly-briefs.show'); + Route::get('/weekly-briefs/{weeklyBrief}', [WeeklyBriefController::class, 'show']) + ->whereNumber('weeklyBrief') + ->name('admin.weekly-briefs.show'); Route::get('/dashboard/overview', [DashboardController::class, 'overview'])->name('admin.dashboard.overview'); Route::get('/radar-map', [RadarMapController::class, 'index'])->name('admin.radar-map.index');