From 7ab27747e54a09fdb1ab9b3f09ef89bc329391c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=BCneyt=20=C5=9Eent=C3=BCrk?= Date: Wed, 4 Jan 2023 15:02:36 +0300 Subject: [PATCH] close #2856 Fixed: Firefox Modal Info shows up on every page --- app/Http/Livewire/Notification/Browser.php | 55 +++++++++++++++++++ public/akaunting-js/generalAction.js | 43 --------------- resources/lang/en-GB/notifications.php | 12 ++++ .../views/components/layouts/admin.blade.php | 2 + .../components/layouts/modules.blade.php | 2 + .../views/components/layouts/portal.blade.php | 2 + .../views/components/layouts/signed.blade.php | 2 + .../notification/browser/firefox.blade.php | 47 ++++++++++++++++ .../notification/browser/index.blade.php | 0 9 files changed, 122 insertions(+), 43 deletions(-) create mode 100644 app/Http/Livewire/Notification/Browser.php create mode 100644 resources/views/livewire/notification/browser/firefox.blade.php create mode 100644 resources/views/livewire/notification/browser/index.blade.php diff --git a/app/Http/Livewire/Notification/Browser.php b/app/Http/Livewire/Notification/Browser.php new file mode 100644 index 000000000..08b52af0d --- /dev/null +++ b/app/Http/Livewire/Notification/Browser.php @@ -0,0 +1,55 @@ +header('User-Agent'); + + $view = 'livewire.notification.browser.firefox'; + + if ($this->status || ! empty($_COOKIE['firefox-icon-notification-confirm'])) { + $this->status = true; + } else { + $this->status = false; + } + + if (Str::contains($user_agent, 'Firefox')) { + $view = 'livewire.notification.browser.firefox'; + + if ($this->status || ! empty($_COOKIE['firefox-icon-notification-confirm'])) { + $this->status = true; + } else { + $this->status = false; + } + } elseif (Str::contains($user_agent, 'Edg')) { + // $view = 'livewire.notification.browser.chrome'; + } elseif (Str::contains($user_agent, 'Safari')) { + // $view = 'livewire.notification.browser.edge'; + } elseif (Str::contains($user_agent, 'Chrome')) { + // $view = 'livewire.notification.browser.safari'; + } elseif (Str::contains($user_agent, 'Opera')) { + // $view = 'livewire.notification.browser.opera'; + } + + return view($view); + } + + public function firefoxConfirm() + { + $expire = time() + (86400 * 30 * 30 * 30); + + setcookie('firefox-icon-notification-confirm', true, $expire, '/'); + + $this->status = true; + } +} diff --git a/public/akaunting-js/generalAction.js b/public/akaunting-js/generalAction.js index 7df7421b3..6923e9ed2 100644 --- a/public/akaunting-js/generalAction.js +++ b/public/akaunting-js/generalAction.js @@ -353,49 +353,6 @@ document.querySelectorAll('[data-link-loading]').forEach((href) => { }); //Loading scenario for href links -//Firefox show modal for icon set -if (navigator.userAgent.search("Firefox") >= 0) { - let firefoxCookie = document.createElement('DIV'), - body = document.body; - - firefoxCookie.innerHTML = - '' + - - body.appendChild(firefoxCookie); - - function delete_cookie() { - document.cookie = 'firefoxCookieModal=true; expires=Thu, 1 Jan 2023 00:00:01 GMT;'; - document.querySelector('[data-cookie-modal]').remove(); - } - - if (document.cookie.indexOf('firefoxCookieModal=true') !== -1) { - document.querySelector('[data-cookie-modal]').remove(); - } -} -//Firefox show modal for icon set - //margue animation for truncated text function marqueeAnimation(truncate) { if (truncate.closest('[disable-marquee]') !== null) { diff --git a/resources/lang/en-GB/notifications.php b/resources/lang/en-GB/notifications.php index 9cd046815..79cac3a8d 100644 --- a/resources/lang/en-GB/notifications.php +++ b/resources/lang/en-GB/notifications.php @@ -185,4 +185,16 @@ return [ 'mark_read_all' => ':type is read all notifications!', ], + + 'browser' => [ + + 'firefox' => [ + + 'title' => 'Firefox Icon Configuration', + 'description' => 'If your icons not appear please;
Please Allow pages to choose their own fonts, instead of your selections above

Settings (Preferences) > Fonts > Advanced ', + + ], + + ], + ]; diff --git a/resources/views/components/layouts/admin.blade.php b/resources/views/components/layouts/admin.blade.php index 6eb3d2991..deed77681 100644 --- a/resources/views/components/layouts/admin.blade.php +++ b/resources/views/components/layouts/admin.blade.php @@ -80,6 +80,8 @@ + + {!! $content !!} diff --git a/resources/views/components/layouts/modules.blade.php b/resources/views/components/layouts/modules.blade.php index a0d552ac6..c777871fa 100644 --- a/resources/views/components/layouts/modules.blade.php +++ b/resources/views/components/layouts/modules.blade.php @@ -60,6 +60,8 @@ + + @if (! $content->attributes->has('withoutBar')) diff --git a/resources/views/components/layouts/portal.blade.php b/resources/views/components/layouts/portal.blade.php index 0a6cb40d5..598270883 100644 --- a/resources/views/components/layouts/portal.blade.php +++ b/resources/views/components/layouts/portal.blade.php @@ -72,6 +72,8 @@ + + {!! $content !!} diff --git a/resources/views/components/layouts/signed.blade.php b/resources/views/components/layouts/signed.blade.php index 69cff0d24..70e3922c9 100644 --- a/resources/views/components/layouts/signed.blade.php +++ b/resources/views/components/layouts/signed.blade.php @@ -63,6 +63,8 @@ + + {!! $content !!} diff --git a/resources/views/livewire/notification/browser/firefox.blade.php b/resources/views/livewire/notification/browser/firefox.blade.php new file mode 100644 index 000000000..658b6916e --- /dev/null +++ b/resources/views/livewire/notification/browser/firefox.blade.php @@ -0,0 +1,47 @@ +
+
! $status, + 'hidden' => $status, + ]) + > +
+ +
+
+
+ +@if ($status) + +@endif \ No newline at end of file diff --git a/resources/views/livewire/notification/browser/index.blade.php b/resources/views/livewire/notification/browser/index.blade.php new file mode 100644 index 000000000..e69de29bb