From 2e607fdfecc5e5617c55b5f9095ab885a4da0038 Mon Sep 17 00:00:00 2001 From: Cristian Araujo Date: Tue, 24 Dec 2024 13:07:21 -0300 Subject: [PATCH] feat(facade): implement Theme facade and helper function - Add Theme facade for static method access - Create theme() helper function for fluent API - Register Theme singleton in service provider - Update composer.json with facade alias and helper autoload --- composer.json | 5 ++++- src/Facades/Theme.php | 18 ++++++++++++++++++ src/ThemeServiceProvider.php | 9 +++++++++ src/helpers.php | 13 +++++++++++++ 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 src/Facades/Theme.php create mode 100644 src/helpers.php diff --git a/composer.json b/composer.json index 3e51400..f9ad077 100644 --- a/composer.json +++ b/composer.json @@ -31,7 +31,10 @@ "psr-4": { "Qirolab\\Theme\\": "src", "Qirolab\\Theme\\Database\\Factories\\": "database/factories" - } + }, + "files": [ + "src/helpers.php" + ] }, "autoload-dev": { "psr-4": { diff --git a/src/Facades/Theme.php b/src/Facades/Theme.php new file mode 100644 index 0000000..521571c --- /dev/null +++ b/src/Facades/Theme.php @@ -0,0 +1,18 @@ +registerThemeFinder(); + $this->registerTheme(); + $this->registerSolutionProvider(); } + protected function registerTheme(): void + { + $this->app->singleton('theme', function ($app) { + return new Theme(); + }); + } + protected function mergeConfig(): void { $this->mergeConfigFrom(__DIR__.'/../config/theme.php', 'theme'); diff --git a/src/helpers.php b/src/helpers.php new file mode 100644 index 0000000..b9a77dd --- /dev/null +++ b/src/helpers.php @@ -0,0 +1,13 @@ +