diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index c8a0632af..7eaaca84a 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -27,6 +27,7 @@ class AppServiceProvider extends ServiceProvider { Paginator::useTailwind(); + // Share global data with layouts and all admin views // Admin child views need direct registration because @section blocks // are evaluated before the layout composer runs diff --git a/composer.json b/composer.json index b1a7e1828..3ff5fe989 100644 --- a/composer.json +++ b/composer.json @@ -67,6 +67,7 @@ "laravel/tinker": "^2.10.1", "laravel/ui": "^4.6", "leventcz/laravel-top": "^1.2", + "livewire/blaze": "^1.0", "livewire/livewire": "^3.6", "livewire/volt": "^1.6", "mailerlite/laravel-elasticsearch": "^11.2", @@ -84,6 +85,7 @@ "sentry/sentry-laravel": "^4.13", "spatie/laravel-directory-cleanup": "^1.10", "spatie/laravel-fractal": "^6.3", + "spatie/laravel-html": "^3.13", "spatie/laravel-ignition": "^2.9", "spatie/laravel-image-optimizer": "^1.8", "spatie/laravel-permission": "^7.0.0", diff --git a/composer.lock b/composer.lock index bc1f25b38..cae3278f8 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e613b6a8e65f476554f9e78b14a32c15", + "content-hash": "7ad69d6fae92e4f969fec8d85a796a09", "packages": [ { "name": "aharen/omdbapi", @@ -4271,6 +4271,63 @@ }, "time": "2025-03-02T22:07:29+00:00" }, + { + "name": "livewire/blaze", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/livewire/blaze.git", + "reference": "f585b2af3c319ac71553cf93e780a626c4ebe02b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/livewire/blaze/zipball/f585b2af3c319ac71553cf93e780a626c4ebe02b", + "reference": "f585b2af3c319ac71553cf93e780a626c4ebe02b", + "shasum": "" + }, + "require": { + "illuminate/support": "^10.0|^11.0|^12.0", + "illuminate/view": "^10.0|^11.0|^12.0", + "php": "^8.1" + }, + "conflict": { + "livewire/flux": "<2.12.1" + }, + "require-dev": { + "livewire/flux": "dev-main", + "orchestra/testbench": "^8.0|^9.0|^10.0", + "pestphp/pest": "^2.0|^3.0", + "pestphp/pest-plugin-laravel": "^2.0|^3.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Livewire\\Blaze\\BlazeServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Livewire\\Blaze\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Caleb Porzio" + } + ], + "description": "A tool for optimizing Blade component performance by folding them into parent templates", + "support": { + "issues": "https://github.com/livewire/blaze/issues", + "source": "https://github.com/livewire/blaze/tree/v1.0.0" + }, + "time": "2026-02-24T16:02:42+00:00" + }, { "name": "livewire/livewire", "version": "v3.7.10", @@ -8115,6 +8172,84 @@ ], "time": "2026-02-21T15:58:07+00:00" }, + { + "name": "spatie/laravel-html", + "version": "3.13.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-html.git", + "reference": "0579bf41959b4c4068206ec9bf1fcd1b59d8fa25" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-html/zipball/0579bf41959b4c4068206ec9bf1fcd1b59d8fa25", + "reference": "0579bf41959b4c4068206ec9bf1fcd1b59d8fa25", + "shasum": "" + }, + "require": { + "illuminate/http": "^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^10.0|^11.0|^12.0|^13.0", + "php": "^8.2" + }, + "require-dev": { + "mockery/mockery": "^1.3", + "orchestra/testbench": "^8.0|^9.0|^10.0|^11.0", + "pestphp/pest": "^2.34|^3.7|^4.0" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "Html": "Spatie\\Html\\Facades\\Html" + }, + "providers": [ + "Spatie\\Html\\HtmlServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\Html\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Sebastian De Deyne", + "email": "sebastian@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + }, + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "A fluent html builder", + "homepage": "https://github.com/spatie/laravel-html", + "keywords": [ + "html", + "spatie" + ], + "support": { + "source": "https://github.com/spatie/laravel-html/tree/3.13.0" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + } + ], + "time": "2026-02-22T09:05:56+00:00" + }, { "name": "spatie/laravel-ignition", "version": "2.11.0", diff --git a/resources/views/components/application-logo.blade.php b/resources/views/components/application-logo.blade.php index 33f8b9aac..d77229a5c 100644 --- a/resources/views/components/application-logo.blade.php +++ b/resources/views/components/application-logo.blade.php @@ -1,3 +1,4 @@ +@blaze(fold: true) diff --git a/resources/views/components/badge.blade.php b/resources/views/components/badge.blade.php index b8fba6ce2..1afc82024 100644 --- a/resources/views/components/badge.blade.php +++ b/resources/views/components/badge.blade.php @@ -1,3 +1,4 @@ +@blaze @props([ 'type' => 'default' ]) diff --git a/resources/views/components/button-group.blade.php b/resources/views/components/button-group.blade.php index c404660c2..5d7ca2819 100644 --- a/resources/views/components/button-group.blade.php +++ b/resources/views/components/button-group.blade.php @@ -1,3 +1,4 @@ +@blaze(fold: true)
{{ $slot }}
diff --git a/resources/views/components/button-link.blade.php b/resources/views/components/button-link.blade.php index 05c106f7c..9911e8814 100644 --- a/resources/views/components/button-link.blade.php +++ b/resources/views/components/button-link.blade.php @@ -1,3 +1,4 @@ +@blaze(fold: true) merge(['class' => 'bg-blue-500 text-white px-3 py-2 rounded-lg inline-block transition']) }}> {{ $slot }} diff --git a/resources/views/components/button-secondary.blade.php b/resources/views/components/button-secondary.blade.php index 4386d8b6c..3aae599aa 100644 --- a/resources/views/components/button-secondary.blade.php +++ b/resources/views/components/button-secondary.blade.php @@ -1,3 +1,4 @@ +@blaze(fold: true) diff --git a/resources/views/components/button.blade.php b/resources/views/components/button.blade.php index 0ec6c1c8b..0ec70b462 100644 --- a/resources/views/components/button.blade.php +++ b/resources/views/components/button.blade.php @@ -1,3 +1,4 @@ +@blaze(fold: true) diff --git a/resources/views/components/form/group.blade.php b/resources/views/components/form/group.blade.php index 25f038ce9..1148f3248 100644 --- a/resources/views/components/form/group.blade.php +++ b/resources/views/components/form/group.blade.php @@ -1,3 +1,4 @@ +@blaze @props(['label', 'for', 'help' => null])
diff --git a/resources/views/components/forum/badge.blade.php b/resources/views/components/forum/badge.blade.php index b8fba6ce2..1afc82024 100644 --- a/resources/views/components/forum/badge.blade.php +++ b/resources/views/components/forum/badge.blade.php @@ -1,3 +1,4 @@ +@blaze @props([ 'type' => 'default' ]) diff --git a/resources/views/components/forum/button-group.blade.php b/resources/views/components/forum/button-group.blade.php index c404660c2..5d7ca2819 100644 --- a/resources/views/components/forum/button-group.blade.php +++ b/resources/views/components/forum/button-group.blade.php @@ -1,3 +1,4 @@ +@blaze(fold: true)
{{ $slot }}
diff --git a/resources/views/components/forum/button-link.blade.php b/resources/views/components/forum/button-link.blade.php index 05c106f7c..9911e8814 100644 --- a/resources/views/components/forum/button-link.blade.php +++ b/resources/views/components/forum/button-link.blade.php @@ -1,3 +1,4 @@ +@blaze(fold: true) merge(['class' => 'bg-blue-500 text-white px-3 py-2 rounded-lg inline-block transition']) }}> {{ $slot }} diff --git a/resources/views/components/forum/button-secondary.blade.php b/resources/views/components/forum/button-secondary.blade.php index 4386d8b6c..3aae599aa 100644 --- a/resources/views/components/forum/button-secondary.blade.php +++ b/resources/views/components/forum/button-secondary.blade.php @@ -1,3 +1,4 @@ +@blaze(fold: true) diff --git a/resources/views/components/forum/button.blade.php b/resources/views/components/forum/button.blade.php index 0ec6c1c8b..0ec70b462 100644 --- a/resources/views/components/forum/button.blade.php +++ b/resources/views/components/forum/button.blade.php @@ -1,3 +1,4 @@ +@blaze(fold: true) diff --git a/resources/views/components/forum/input.blade.php b/resources/views/components/forum/input.blade.php index ff6c847bc..7656bf674 100644 --- a/resources/views/components/forum/input.blade.php +++ b/resources/views/components/forum/input.blade.php @@ -1 +1,2 @@ +@blaze(fold: true) merge(['type' => 'text', 'class' => 'px-3 py-2 border-gray-300 dark:border-gray-600 focus:border-blue-500 focus:ring-blue-500 rounded-lg border shadow-sm bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 transition']) }}> diff --git a/resources/views/components/forum/label.blade.php b/resources/views/components/forum/label.blade.php index 4d9a6b565..e2cd8b673 100644 --- a/resources/views/components/forum/label.blade.php +++ b/resources/views/components/forum/label.blade.php @@ -1,3 +1,4 @@ +@blaze(fold: true) diff --git a/resources/views/components/forum/select.blade.php b/resources/views/components/forum/select.blade.php index 70033bb40..21b19eae2 100644 --- a/resources/views/components/forum/select.blade.php +++ b/resources/views/components/forum/select.blade.php @@ -1,3 +1,4 @@ +@blaze(fold: true)
diff --git a/resources/views/components/input.blade.php b/resources/views/components/input.blade.php index d52aa9a33..a9ea5ddc3 100644 --- a/resources/views/components/input.blade.php +++ b/resources/views/components/input.blade.php @@ -1,2 +1,3 @@ +@blaze(fold: true) merge(['type' => 'text', 'class' => 'px-3 py-2 border-gray-300 dark:border-gray-600 focus:border-blue-500 focus:ring-blue-500 rounded-lg border shadow-sm bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 transition']) }}> diff --git a/resources/views/components/label.blade.php b/resources/views/components/label.blade.php index 4d9a6b565..e2cd8b673 100644 --- a/resources/views/components/label.blade.php +++ b/resources/views/components/label.blade.php @@ -1,3 +1,4 @@ +@blaze(fold: true) diff --git a/resources/views/components/report-button.blade.php b/resources/views/components/report-button.blade.php index 0f243b3fd..9ab75f12f 100644 --- a/resources/views/components/report-button.blade.php +++ b/resources/views/components/report-button.blade.php @@ -1,3 +1,4 @@ +@blaze {{-- Report button trigger - the modal is rendered once in layouts/main via partials/report-modal --}} @props([ 'releaseId' => null, diff --git a/resources/views/components/search-autocomplete.blade.php b/resources/views/components/search-autocomplete.blade.php index 3656f60e3..af0b64488 100644 --- a/resources/views/components/search-autocomplete.blade.php +++ b/resources/views/components/search-autocomplete.blade.php @@ -1,3 +1,4 @@ +@blaze @props([ 'placeholder' => 'Search releases...', 'name' => 'search', diff --git a/resources/views/components/select.blade.php b/resources/views/components/select.blade.php index eaf878f0e..f0226ee68 100644 --- a/resources/views/components/select.blade.php +++ b/resources/views/components/select.blade.php @@ -1,3 +1,4 @@ +@blaze(fold: true) diff --git a/resources/views/components/textarea.blade.php b/resources/views/components/textarea.blade.php index 0fca8b822..02ea6e277 100644 --- a/resources/views/components/textarea.blade.php +++ b/resources/views/components/textarea.blade.php @@ -1 +1,2 @@ +@blaze(fold: true) diff --git a/resources/views/components/view-toggle.blade.php b/resources/views/components/view-toggle.blade.php index 77f040544..b66cc34df 100644 --- a/resources/views/components/view-toggle.blade.php +++ b/resources/views/components/view-toggle.blade.php @@ -1,3 +1,4 @@ +@blaze @props([ 'currentView' => 'list', 'covgroup' => null,