diff --git a/app/Containers/AppStructure/UI/WEB/Controllers/PageController.php b/app/Containers/AppStructure/UI/WEB/Controllers/PageController.php
index a4a7a8e..89d7762 100644
--- a/app/Containers/AppStructure/UI/WEB/Controllers/PageController.php
+++ b/app/Containers/AppStructure/UI/WEB/Controllers/PageController.php
@@ -7,43 +7,50 @@ use App\Containers\AppStructure\UI\WEB\Transformers\PageResource;
use App\Ship\Contracts\SeoServiceInterface;
use App\Ship\Controllers\Controller;
use Illuminate\Support\Facades\Cache;
-use Inertia\Inertia;
+use Inertia\Response;
class PageController extends Controller
{
public function __construct(readonly SeoServiceInterface $seoPageProvider){}
- public function render(string $path): \Inertia\Response
+ public function render(string $path): Response
{
- // Генерируем уникальный ключ для кеширования
- $cacheKey = 'page_' . md5($path);
-
- // Пытаемся получить данные из кеша
- $page = Cache::remember($cacheKey, now()->addHours(48), function () use ($path) {
- return Page::where('path', '=', $path)
- ->with('section.pages.section', 'section.mainSection')
- ->first();
- });
-
- if ($page === null) {
- abort(404);
- }
+ $page = $this->getPageByPath($path);
+ $this->handleCheckNotFoundStatusCode($page);
$subSectionPages = $page->section ? PageResource::collection($page->section->pages) : null;
-
$seo = $this->seoPageProvider->getSeoForModel($page);
-
-
- $page = new PageResource($page);
-
-
- if ($page->code != 200) {
- abort($page->code);
- }
+ $pageResource = new PageResource($page);
+ $this->handlePageStatusCode($pageResource);
return inertia()->render('Page', [
- 'page' => $page,
+ 'page' => $pageResource,
'subSectionPages' => $subSectionPages,
'seo' => $seo,
]);
}
+
+ private function handlePageStatusCode(PageResource $pageResource): void
+ {
+ if ($pageResource->code != 200) {
+ abort($pageResource->code);
+ }
+ }
+
+ private function handleCheckNotFoundStatusCode($page): void
+ {
+ if ($page === null) {
+ abort(404);
+ }
+ }
+
+ public function getPageByPath(string $path): ?Page
+ {
+ $cacheKey = 'page_' . md5($path);
+
+ return Cache::remember($cacheKey, now()->addHours(48), function () use ($path) {
+ return Page::where('path', '=', $path)
+ ->with('section.pages.section', 'section.mainSection')
+ ->first();
+ });
+ }
}
diff --git a/app/Http/Controllers/MainController.php b/app/Http/Controllers/MainController.php
index 5bc19f8..ebd12b0 100644
--- a/app/Http/Controllers/MainController.php
+++ b/app/Http/Controllers/MainController.php
@@ -101,7 +101,7 @@ class MainController extends Controller
$event_date_start = (new DateTime())->format('Y-m-d');
return EventThumbnailResource::collection(
- Event::select('title', 'slug', 'event_date_start', 'address', 'is_online', 'category_id')
+ Event::select('title', 'slug', 'event_date_start', 'event_time_start' , 'address', 'is_online', 'category_id')
->where('event_date_start', '>=', $event_date_start)
->orderBy('event_date_start', 'asc')
->limit(3)
diff --git a/app/Services/Filament/Domain/Posts/TgPostPublisher.php b/app/Services/Filament/Domain/Posts/TgPostPublisher.php
index 0a74d95..5ad0559 100644
--- a/app/Services/Filament/Domain/Posts/TgPostPublisher.php
+++ b/app/Services/Filament/Domain/Posts/TgPostPublisher.php
@@ -2,11 +2,8 @@
namespace App\Services\Filament\Domain\Posts;
-use App\Enums\PostStatus;
-use App\Jobs\CreateTgPost;
-use App\Jobs\CreateTgPostJob;
-use App\Jobs\UpdateTgPost;
-use App\Models\Post;
+use App\Containers\Article\Enums\PostStatus;
+use App\Containers\Article\Models\Post;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Storage;
diff --git a/resources/js/Pages/Main.vue b/resources/js/Pages/Main.vue
index 2ff76b0..8f42e0e 100644
--- a/resources/js/Pages/Main.vue
+++ b/resources/js/Pages/Main.vue
@@ -6,6 +6,9 @@