'Notice', 'type' => 'placeholder', 'label' => new HtmlString('You can use this extension to display announcements on the client area. To create a new announcement, go to Announcements.'), ], ]; } catch (\Exception $e) { return [ [ 'name' => 'Notice', 'type' => 'placeholder', 'label' => new HtmlString('You can use this extension to display announcements on the client area. You\'ll need to enable this extension above to get started.'), ], ]; } } public function enabled() { // Run migrations Artisan::call('migrate', ['--path' => 'extensions/Others/Announcements/database/migrations/2024_10_19_095356_create_ext_announcements_table.php', '--force' => true]); } public function boot() { // Register routes require __DIR__ . '/routes/web.php'; View::addNamespace('announcements', __DIR__ . '/resources/views'); // Register livewire \Livewire\Livewire::component('announcements.index', \Paymenter\Extensions\Others\Announcements\Livewire\Announcements\Index::class); \Livewire\Livewire::component('announcements.show', \Paymenter\Extensions\Others\Announcements\Livewire\Announcements\Show::class); \Livewire\Livewire::component('announcements.widget', \Paymenter\Extensions\Others\Announcements\Livewire\Announcements\Widget::class); Event::listen('pages.home', function () { return [ 'view' => view('announcements::index', [ 'announcements' => Announcement::where('is_active', true)->where('published_at', '<=', now())->orderBy('published_at', 'desc')->get(), ]), ]; }); Event::listen('pages.dashboard', function () { return [ 'view' => view('announcements::widget', [ 'announcements' => Announcement::where('is_active', true) ->where('published_at', '<=', now()) ->orderBy('published_at', 'desc') ->take(3) ->get(), ]), ]; }); } }