Installation
composer require spykapps/theme-inverness
php artisan vendor:publish --provider="SpykApps\Inverness\InvernessServiceProvider" --tag="inverness-config"
php artisan inverness:install
inverness:install command publishes assets and sets up the theme.Enable the Theme
Add the theme to your Filament admin panel configuration in config/filament.php:
'themes' => [
'custom' => [
'path' => 'vendor/spykapps/theme-inverness',
'view' => 'inverness',
],
],
Then, in your AppServiceProvider or a dedicated service provider, bind the theme:
use SpykApps\Inverness\Inverness;
public function boot(): void
{
Inverness::make()->use();
}
First Use Case
/admin). The theme should now reflect the Inverness design (tight spacing, Laravel-red accents, refined aesthetics).Theme Customization
php artisan vendor:publish --provider="SpykApps\Inverness\InvernessServiceProvider" --tag="inverness-views"
Override files in resources/views/vendor/inverness/.resources/css/app.css or via tailwind.config.js:
module.exports = {
theme: {
extend: {
colors: {
'laravel-red': '#FF2D20',
},
},
},
};
Dark Mode Integration
config/filament.php:
'dark_mode' => true,
Sidebar and Navigation
sidebar.blade.php view. Use the active class to style active states:
<x-inverness::sidebar>
<x-slot name="logo">
<x-filament::logo />
</x-slot>
<x-inverness::sidebar.item
href="{{ route('filament.admin.pages.dashboard') }}"
icon="heroicon-o-home"
active
>
Dashboard
</x-inverness::sidebar.item>
</x-inverness::sidebar>
Form and Table Styling
php artisan vendor:publish --provider="SpykApps\Inverness\InvernessServiceProvider" --tag="inverness-forms"
php artisan vendor:publish --provider="SpykApps\Inverness\InvernessServiceProvider" --tag="inverness-tables"
Asset Management
npm run dev # or `npm run build` for production
php artisan vendor:publish --provider="SpykApps\Inverness\InvernessServiceProvider" --tag="inverness-assets"
resources/lang/en/filament.php).Asset Conflicts
View Override Mismatches
vendor/spykapps/theme-inverness/resources/views.artisan vendor:publish to get the latest view templates before customizing.Dark Mode Inconsistencies
dark:) in the browser’s dev tools and override as needed.Caching Issues
php artisan filament:cache:clear
php artisan view:clear
npm run dev
Laravel Mix/Inertia Conflicts
webpack.mix.js:
mix.disableSuccessMessages();
Inspect Elements
ti-spacing-tight, ti-shadow-subtle), so overrides should target these.Tailwind Conflicts
!important sparingly; instead, extend Tailwind’s theme in tailwind.config.js:
module.exports = {
important: true, // Force Tailwind styles to override others
};
Log Errors
config/filament.php:
'debug' => env('FILAMENT_DEBUG', false),
storage/logs/laravel.log) for theme-related errors.Custom Components
resources/views/vendor/inverness/components.Dynamic Theming
use method to conditionally apply Inverness:
public function boot(): void
{
if (auth()->user()->is_admin) {
Inverness::make()->use();
}
}
Plugin Support
<x-inverness::layout>).Configuration
php artisan vendor:publish --provider="SpykApps\Inverness\InvernessServiceProvider" --tag="inverness-config"
spacing, shadows, or colors in config/inverness.php.// tailwind.config.js
module.exports = {
purge: [
'./resources/**/*.blade.php',
'./vendor/spykapps/theme-inverness/**/*.blade.php',
],
};
How can I help you explore Laravel packages today?