3x1io / filament-themes

FrontEnd Themes Manager For Filament Admin
https://github.com/3x1io/filament-themes
MIT License
34 stars 9 forks source link
filament laravel php tailwind theme

Screenshot of Login

Filament Theme Manager

FrontEnd Themes Manager For Filament Admin

Installation

You can install the package via composer:

composer require 3x1io/filament-themes

Run migration:

php artisan vendor:publish --provider="Spatie\LaravelSettings\LaravelSettingsServiceProvider" --tag="migrations"
php artisan vendor:publish --tag="filament-themes-assets"
php artisan vendor:publish --tag="filament-themes-migrations"

Run migration:

php artisan migrate

Remove default route from routes/web.php

php artisan optimize

add to your composer.json

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "Database\\Factories\\": "database/factories/",
        "Database\\Seeders\\": "database/seeders/",
        "Themes\\": "resources/views/themes/"
    }
},
composer dump-autoload

Create New Theme

to create a new theme just this this command

php artisan filament-themes:generate

it will ask you for the theme name and the theme description

and you will get your new theme folder on path resources/views/themes/THEME_NAME

and your assets folder on path public/themes/THEME_NAME


Theme Helpers

our theme feature has some helpers to make it easy to make a frontend theme like theme assets url

theme_assets()

this function take a url and make it easy to access your theme path public/themes/THEME_NAME/

theme_namespace()

this function get the namespace for the controller folder of the current theme

show_menu()

this function take a key and get this key from settings table and decode it to array so you can use it when you make a menu inside a json setting.

dollar()

this function take a number and convert it to money style with a currency symbol


Generate a Theme Controller

our themes feature support artisan command to generate a new theme controller you can use this command like

php artisan filament-themes:controller

i will ask you about Theme Name and Controller Name

Note: the controller name must be in PascalCase without Controller word on the end because we attach it automatically

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.