diff --git a/app/Containers/Widget/UI/WEB/Controllers/TvController.php b/app/Containers/Widget/UI/WEB/Controllers/TvController.php
new file mode 100644
index 0000000..1c8c983
--- /dev/null
+++ b/app/Containers/Widget/UI/WEB/Controllers/TvController.php
@@ -0,0 +1,14 @@
+render('Client/Tv/Index');
+ }
+}
diff --git a/app/Containers/Widget/UI/WEB/Routes/web.php b/app/Containers/Widget/UI/WEB/Routes/web.php
new file mode 100644
index 0000000..243db3c
--- /dev/null
+++ b/app/Containers/Widget/UI/WEB/Routes/web.php
@@ -0,0 +1,14 @@
+name('client.tv.post.index');
diff --git a/app/Http/Middleware/HandleInertiaRequests.php b/app/Http/Middleware/HandleInertiaRequests.php
index 1c93027..c241e47 100644
--- a/app/Http/Middleware/HandleInertiaRequests.php
+++ b/app/Http/Middleware/HandleInertiaRequests.php
@@ -21,29 +21,22 @@ class HandleInertiaRequests extends Middleware
public function share(Request $request): array
{
- // Навигация (кешированная)
- $navigation = Cache::remember('navigation', now()->addHours(1), function () {
- return NavigationResource::collection(
- MainSection::with('subSections.pages.section')
- ->orderBy('sort', 'asc')
- ->get()
- );
- });
-
- // Хлебные крошки (автоматически по текущему URL)
- $breadcrumbs = app(BreadcrumbService::class)->generateBreadcrumbs();
-
return [
...parent::share($request),
'auth' => [
'user' => $request->user() ? $request->user()->only('id', 'name', 'email', 'created_at') : null,
],
- 'ziggy' => fn () => [
- ...(new Ziggy)->toArray(),
- 'location' => $request->url(),
- ],
- 'navigation' => $navigation,
- 'breadcrumbs' => $breadcrumbs, // Добавляем хлебные крошки
+// 'ziggy' => fn () => [
+// ...(new Ziggy)->toArray(),
+// 'location' => $request->url(),
+// ],
+ 'ziggy' => function() {
+ return array_merge((new Ziggy())->toArray(), [
+ 'location' => url()->current(),
+ ]);
+ },
+ 'navigation' => $this->getNavigation(),
+ 'breadcrumbs' => $this->getBreadcrumbs(),
'urlPrev' => function () {
if (url()->previous() !== url()->current()) {
return url()->previous();
@@ -52,4 +45,20 @@ class HandleInertiaRequests extends Middleware
},
];
}
+
+ private function getNavigation()
+ {
+ return Cache::remember('navigation', now()->addHours(1), function () {
+ return NavigationResource::collection(
+ MainSection::with('subSections.pages.section')
+ ->orderBy('sort', 'asc')
+ ->get()
+ );
+ });
+ }
+
+ private function getBreadcrumbs()
+ {
+ return app(BreadcrumbService::class)->generateBreadcrumbs();
+ }
}
\ No newline at end of file
diff --git a/app/Services/App/Cache/UserCacheService.php b/app/Services/App/Cache/UserCacheService.php
index c5c36f0..973105e 100644
--- a/app/Services/App/Cache/UserCacheService.php
+++ b/app/Services/App/Cache/UserCacheService.php
@@ -20,6 +20,9 @@ class UserCacheService extends AbstractCacheService implements CacheInterface
public function clearAllCacheByModel(): void
{
$this->clearCacheByPrefix(CacheKeys::USER_PREFIX->value.'*');
+ $this->clearCacheByPrefix(CacheKeys::FACULTY_PREFIX->value.'*');
+ $this->clearCacheByPrefix(CacheKeys::DEPARTMENT_PREFIX->value.'*');
+ $this->clearCacheByPrefix(CacheKeys::DIVISION_PREFIX->value.'*');
}
public function getCachedData(string $key)
diff --git a/resources/js/Pages/Client/Posts/Index.vue b/resources/js/Pages/Client/Posts/Index.vue
index ca92525..15ce7ee 100644
--- a/resources/js/Pages/Client/Posts/Index.vue
+++ b/resources/js/Pages/Client/Posts/Index.vue
@@ -69,6 +69,11 @@ export default {
type: Object,
}
},
+ data() {
+ return {
+ currentPageLoaded: this.posts_pagination.current_page,
+ }
+ },
computed: {
hasActiveFilters() {
return this.filters.category_filter.value || this.filters.tag_filter.value || this.filters.search_filter.value;
@@ -109,10 +114,14 @@ export default {
+ {{ item.content }} +
+