From 801506b566eeda9a9bb1b92a199878c59c9cabcb Mon Sep 17 00:00:00 2001 From: Grldk <33746490+Grldk@users.noreply.github.com> Date: Thu, 31 Mar 2022 14:05:21 +0000 Subject: [PATCH] Make horizon work with strict content-security-policy (#1138) * move contents of horizon div to separate component * dont remove google fonts * fix assetsAreCurrent --- resources/js/app.js | 15 ++- resources/js/base.js | 6 +- resources/js/components/App.vue | 177 +++++++++++++++++++++++++++++++ resources/views/layout.blade.php | 110 ++----------------- 4 files changed, 198 insertions(+), 110 deletions(-) create mode 100644 resources/js/components/App.vue diff --git a/resources/js/app.js b/resources/js/app.js index 38fc889e..908aa130 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -43,6 +43,9 @@ const router = new VueRouter({ Vue.component('vue-json-pretty', VueJsonPretty); Vue.component('alert', require('./components/Alert.vue').default); +const app = Vue.component('app', require('./components/App.vue').default); +const root = document.getElementById('horizon'); + Vue.mixin(Base); Vue.directive('tooltip', function (el, binding) { @@ -54,10 +57,16 @@ Vue.directive('tooltip', function (el, binding) { }); new Vue({ - el: '#horizon', - + el: root, router, - + render: (createElement) => + createElement(app, { + props: { + appName: root.dataset.appName, + assetsAreCurrent: root.dataset.assetsAreCurrent, + isDownForMaintenance: root.dataset.isDownForMaintenance, + }, + }), data() { return { alert: { diff --git a/resources/js/base.js b/resources/js/base.js index dab7123e..44e6aeed 100644 --- a/resources/js/base.js +++ b/resources/js/base.js @@ -37,11 +37,11 @@ export default { * Autoload new entries in listing screens. */ autoLoadNewEntries() { - if (!this.autoLoadsNewEntries) { - this.autoLoadsNewEntries = true; + if (!this.$root.autoLoadsNewEntries) { + this.$root.autoLoadsNewEntries = true; localStorage.autoLoadsNewEntries = 1; } else { - this.autoLoadsNewEntries = false; + this.$root.autoLoadsNewEntries = false; localStorage.autoLoadsNewEntries = 0; } }, diff --git a/resources/js/components/App.vue b/resources/js/components/App.vue new file mode 100644 index 00000000..8e8cabea --- /dev/null +++ b/resources/js/components/App.vue @@ -0,0 +1,177 @@ + + + \ No newline at end of file diff --git a/resources/views/layout.blade.php b/resources/views/layout.blade.php index 52a4f7f8..fc37264f 100644 --- a/resources/views/layout.blade.php +++ b/resources/views/layout.blade.php @@ -14,111 +14,13 @@ -
- - -
-
- - -

- Laravel Horizon{{ config('app.name') ? ' - ' . config('app.name') : '' }}

- - -
- -
- - -
- @if (! $assetsAreCurrent) -
- The published Horizon assets are not up-to-date with the installed version. To update, run:
php artisan horizon:publish -
- @endif - - @if ($isDownForMaintenance) -
- This application is in "maintenance mode". Queued jobs may not be processed unless your worker is using the "force" flag. -
- @endif - - -
-
+
-
-