PHP code example of awe-ux / moonshine-theme

1. Go to this page and download the library: Download awe-ux/moonshine-theme library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

awe-ux / moonshine-theme example snippets


use AweUx\MoonshineTheme\Classes\ThemeSwitcher;

final class MoonShineLayout extends AppLayout
{
    public static function build(): Layout
    {
        return ThemeSwitcher::layoutBuilder(parent::build());
    }

 public function build(): Layout
    {
        return ThemeSwitcher::layoutBuilder(
            Layout::make([
                Html::make([
                    $this->getHeadComponent(),
                    Body::make([
                        Wrapper::make([
                            $this->getSidebarComponent(),
                            Div::make([
                                Flash::make(),
                                $this->getHeaderComponent(),
                                Content::make([
                                    Title::make($this->getPage()->getTitle())->class('mb-6'),
                                    Components::make(
                                        $this->getPage()->getComponents()
                                    ),
                                ]),
                                $this->getFooterComponent(),
                            ])->class('layout-page'),
                        ]),
                    ]),
                ])
                    ->customAttributes([
                        'lang' => $this->getHeadLang(),
                    ])
                    ->withAlpineJs()
                    ->withThemes(),
            ])
        );
    }

protected function getHeaderComponent(): Header
    {
        return Header::make([
            Breadcrumbs::make($this->getPage()->getBreadcrumbs())->prepend($this->getHomeUrl(), icon: 'home'),
            Search::make(),
            ThemeSwitcher::make('Change theme'),
            When::make(
                fn(): bool => $this->isUseNotifications(),
                static fn(): array => [Notifications::make()]
            ),
            Locales::make(),
        ]);
    }
shell
php artisan vendor:publish --provider='AweUx\MoonshineTheme\Providers\ThemeServiceProvider'  
shell
php artisan optimize:clear