From 8d450f42b2e1b33c9132931380b231029cbf1ea2 Mon Sep 17 00:00:00 2001 From: Daniel-I-Am Date: Wed, 1 Sep 2021 23:38:59 +0200 Subject: [PATCH] Add custom body classes to the router file --- resources/js/router-app.js | 26 +++++++++++++++++++++++++ resources/views/home.blade.php | 4 +++- resources/views/template/base.blade.php | 3 +-- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/resources/js/router-app.js b/resources/js/router-app.js index d000e31..065e683 100644 --- a/resources/js/router-app.js +++ b/resources/js/router-app.js @@ -22,4 +22,30 @@ const router = VueRouter.createRouter({ routes, }); +const classes = { + 'index': ['page-home'], +}; + +router.afterEach((to, from, failure) => { + if (!failure) { + if (!!from && !!from.name) { + if (Object.keys(classes).includes(from.name.toString())) { + for (const className of classes[from.name.toString()]) { + if (document.body.classList.contains(className)) { + document.body.classList.remove(className); + } + } + } + } + + if (!!to && !!to.name) { + if (Object.keys(classes).includes(to.name.toString())) { + for (const className of classes[to.name.toString()]) { + document.body.classList.add(className); + } + } + } + } +}); + export default router diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 8d7b526..e5438f5 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -1,3 +1,5 @@ @extends('template.base') -@section('body-classes', 'page-home') +@push('js') + +@endpush diff --git a/resources/views/template/base.blade.php b/resources/views/template/base.blade.php index 036cc93..bd45358 100644 --- a/resources/views/template/base.blade.php +++ b/resources/views/template/base.blade.php @@ -11,12 +11,11 @@ @stack('style') - + @section('body')
@show - @stack('js')