From 4f1ba154f5b5d4543ffd0dab0afcea01559b8e0a Mon Sep 17 00:00:00 2001 From: bernardhanna Date: Thu, 27 Aug 2026 09:32:17 +0100 Subject: [PATCH 1/3] Fix flash of unstyled content on first page load. Load Vite CSS before analytics and hide the document until the stylesheet applies so the nav is not painted unstyled. Co-authored-by: Cursor --- resources/assets/sass/app.scss | 8 +++++++- resources/views/layout/anti-fouc.blade.php | 21 +++++++++++++++++++++ resources/views/layout/base.blade.php | 10 +++------- resources/views/layout/guest.blade.php | 9 +++------ resources/views/layout/new_base.blade.php | 8 +++----- resources/views/layout/tall.blade.php | 8 ++++---- 6 files changed, 41 insertions(+), 23 deletions(-) create mode 100644 resources/views/layout/anti-fouc.blade.php diff --git a/resources/assets/sass/app.scss b/resources/assets/sass/app.scss index b4b2fb140..5b2255375 100644 --- a/resources/assets/sass/app.scss +++ b/resources/assets/sass/app.scss @@ -441,4 +441,10 @@ body:not(.new-layout) { .footer-ellipse { height: 220px; } - } \ No newline at end of file + } + +// Reveal the document once this stylesheet has applied. +// Paired with the inline hide in layout/anti-fouc.blade.php to prevent FOUC. +html { + visibility: visible; +} \ No newline at end of file diff --git a/resources/views/layout/anti-fouc.blade.php b/resources/views/layout/anti-fouc.blade.php new file mode 100644 index 000000000..bf6885ea9 --- /dev/null +++ b/resources/views/layout/anti-fouc.blade.php @@ -0,0 +1,21 @@ +{{-- + Prevent the first-paint flash of unstyled HTML. The main Vite stylesheet + sets html { visibility: visible } once it has applied. +--}} + + + diff --git a/resources/views/layout/base.blade.php b/resources/views/layout/base.blade.php index 0f71d048b..84aef73a5 100644 --- a/resources/views/layout/base.blade.php +++ b/resources/views/layout/base.blade.php @@ -1,7 +1,6 @@ - @include('layout.analytics') @@ -12,6 +11,8 @@ + @include('layout.anti-fouc') + @vite(['resources/assets/sass/app.scss', 'resources/js/app.js']) @@ -19,11 +20,7 @@ @stack('extra-css') @yield('extra-css') - - -{{-- @vite('resources/css/app.css')--}} - @vite(['resources/assets/sass/app.scss', 'resources/js/app.js']) -{{-- @vite(['resources/css/app.css', 'resources/js/app.js'])--}} + @include('layout.analytics') @@ -117,7 +114,6 @@ }(document, 'script', 'facebook-jssdk')); -@vite('resources/js/app.js') {{----}} diff --git a/resources/views/layout/guest.blade.php b/resources/views/layout/guest.blade.php index 32cccf7ee..a998fa43f 100644 --- a/resources/views/layout/guest.blade.php +++ b/resources/views/layout/guest.blade.php @@ -1,7 +1,6 @@ - @include('layout.analytics') @@ -12,6 +11,8 @@ + @include('layout.anti-fouc') + @vite(['resources/assets/sass/app.scss', 'resources/js/app.js']) @@ -19,11 +20,7 @@ @stack('extra-css') @yield('extra-css') - - - {{-- @vite('resources/css/app.css')--}} - @vite(['resources/assets/sass/app.scss', 'resources/js/app.js']) - {{-- @vite(['resources/css/app.css', 'resources/js/app.js'])--}} + @include('layout.analytics') diff --git a/resources/views/layout/new_base.blade.php b/resources/views/layout/new_base.blade.php index 3d92cc44c..740e21c88 100644 --- a/resources/views/layout/new_base.blade.php +++ b/resources/views/layout/new_base.blade.php @@ -1,7 +1,6 @@ - @include('layout.analytics') @@ -12,6 +11,8 @@ + @include('layout.anti-fouc') + @vite(['resources/assets/sass/app.scss', 'resources/js/app.js']) @@ -20,10 +21,7 @@ @stack('extra-css') - - {{-- @vite('resources/css/app.css')--}} - @vite(['resources/assets/sass/app.scss', 'resources/js/app.js']) - {{-- @vite(['resources/css/app.css', 'resources/js/app.js'])--}} + @include('layout.analytics') From f49b9fab18f78bad68987a73c9af2da13f0f9733 Mon Sep 17 00:00:00 2001 From: bernardhanna Date: Thu, 27 Aug 2026 09:50:40 +0100 Subject: [PATCH 3/3] Keep header nav visible; only hide dropdown lists on first paint. Superfish adds .sub-menu to top-level items, so a bare .sub-menu rule was hiding the whole menu. Co-authored-by: Cursor --- resources/views/layout/anti-fouc.blade.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/views/layout/anti-fouc.blade.php b/resources/views/layout/anti-fouc.blade.php index 5a069dc61..3ce67dfd2 100644 --- a/resources/views/layout/anti-fouc.blade.php +++ b/resources/views/layout/anti-fouc.blade.php @@ -1,10 +1,10 @@ {{-- - Hide only the bits that dump unstyled on first paint (dropdowns / mobile clones). - Do not hide the document — that also hid the header menu. + Hide dropdown panels only. Superfish adds .sub-menu to the top-level
  • s, + so a bare .sub-menu { display:none } hides the whole header nav. --}}