diff --git a/.phpstorm.meta.php b/.phpstorm.meta.php index 2932c8632..326b9cd0c 100644 --- a/.phpstorm.meta.php +++ b/.phpstorm.meta.php @@ -13,6 +13,8 @@ '' => '@', 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, + 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, + 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, @@ -206,6 +208,8 @@ '' => '@', 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, + 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, + 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, @@ -399,6 +403,8 @@ '' => '@', 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, + 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, + 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, @@ -592,6 +598,8 @@ '' => '@', 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, + 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, + 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, @@ -785,6 +793,8 @@ '' => '@', 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, + 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, + 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, @@ -978,6 +988,8 @@ '' => '@', 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, + 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, + 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, @@ -1171,6 +1183,8 @@ '' => '@', 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, + 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, + 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, @@ -1364,6 +1378,8 @@ '' => '@', 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, + 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, + 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, @@ -1557,6 +1573,8 @@ '' => '@', 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, + 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, + 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, @@ -1750,6 +1768,8 @@ '' => '@', 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, + 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, + 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, @@ -1943,6 +1963,8 @@ '' => '@', 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, + 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, + 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, diff --git a/app/Providers/FilamentServiceProvider.php b/app/Providers/FilamentServiceProvider.php index ca37a3c7f..614440cf1 100644 --- a/app/Providers/FilamentServiceProvider.php +++ b/app/Providers/FilamentServiceProvider.php @@ -2,9 +2,11 @@ namespace App\Providers; +use App\Models\User; use Filament\Facades\Filament; use Filament\Navigation\NavigationItem; use Illuminate\Support\ServiceProvider; +use RyanChandler\FilamentLog\Logs; class FilamentServiceProvider extends ServiceProvider { @@ -25,6 +27,10 @@ public function register() */ public function boot() { + Logs::can(function (User $user) { + return env('APP_DEBUG'); + }); + Filament::serving(function () { Filament::registerNavigationGroups([ 'Settings', diff --git a/composer.json b/composer.json index 0f633949e..7152152f7 100644 --- a/composer.json +++ b/composer.json @@ -15,6 +15,7 @@ "laravel/framework": "^9.19", "laravel/sanctum": "^3.0", "laravel/tinker": "^2.7", + "ryangjchandler/filament-log": "^0.2.0", "spatie/laravel-settings": "^2.4", "squirephp/timezones-en": "^3.3" }, diff --git a/composer.lock b/composer.lock index 8b2ba9b6e..2b8312a11 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": "01f8953578f096fdfe8f259c2682fc0b", + "content-hash": "87472d914d5d0f5ca2559f9c88b4edae", "packages": [ { "name": "akaunting/laravel-money", @@ -4314,6 +4314,85 @@ ], "time": "2022-09-02T11:04:28+00:00" }, + { + "name": "ryangjchandler/filament-log", + "version": "v0.2.0", + "source": { + "type": "git", + "url": "https://github.com/ryangjchandler/filament-log.git", + "reference": "1f7ecda4eed214e9b1bb2895e7188e56dc23770d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ryangjchandler/filament-log/zipball/1f7ecda4eed214e9b1bb2895e7188e56dc23770d", + "reference": "1f7ecda4eed214e9b1bb2895e7188e56dc23770d", + "shasum": "" + }, + "require": { + "filament/filament": "^2.0", + "illuminate/contracts": "^9.0", + "php": "^8.0.2", + "spatie/laravel-package-tools": "^1.9.2" + }, + "require-dev": { + "nunomaduro/collision": "^6.0", + "nunomaduro/larastan": "^2.0.1", + "orchestra/testbench": "^7.0", + "pestphp/pest": "^1.21", + "pestphp/pest-plugin-laravel": "^1.1", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^9.5", + "spatie/laravel-ray": "^1.26" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "RyanChandler\\FilamentLog\\FilamentLogServiceProvider" + ], + "aliases": { + "FilamentLog": "RyanChandler\\FilamentLog\\Facades\\FilamentLog" + } + } + }, + "autoload": { + "psr-4": { + "RyanChandler\\FilamentLog\\": "src", + "RyanChandler\\FilamentLog\\Database\\Factories\\": "database/factories" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ryan Chandler", + "email": "support@ryangjchandler.co.uk", + "role": "Developer" + } + ], + "description": "A simplistics log viewer for your Filament apps.", + "homepage": "https://github.com/ryangjchandler/filament-log", + "keywords": [ + "filament-log", + "laravel", + "ryangjchandler" + ], + "support": { + "issues": "https://github.com/ryangjchandler/filament-log/issues", + "source": "https://github.com/ryangjchandler/filament-log/tree/v0.2.0" + }, + "funding": [ + { + "url": "https://github.com/ryangjchandler", + "type": "github" + } + ], + "time": "2022-08-09T08:17:56+00:00" + }, { "name": "spatie/data-transfer-object", "version": "3.9.1", diff --git a/config/filament-log.php b/config/filament-log.php new file mode 100644 index 000000000..881af94d3 --- /dev/null +++ b/config/filament-log.php @@ -0,0 +1,18 @@ + [ + storage_path('logs'), + ], + +]; diff --git a/public/vendor/filament-log/css/filament-log.css b/public/vendor/filament-log/css/filament-log.css new file mode 100644 index 000000000..d18c4428b --- /dev/null +++ b/public/vendor/filament-log/css/filament-log.css @@ -0,0 +1 @@ +*,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.overflow-auto{overflow:auto}.rounded{border-radius:.25rem}.border{border-width:1px}.border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}.p-6{padding:1.5rem}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)} diff --git a/public/vendor/filament-log/mix-manifest.json b/public/vendor/filament-log/mix-manifest.json new file mode 100644 index 000000000..216efc7a8 --- /dev/null +++ b/public/vendor/filament-log/mix-manifest.json @@ -0,0 +1,3 @@ +{ + "/css/filament-log.css": "/css/filament-log.css" +}