jameslkingsley/nova-stripe-theme
A Stripe-inspired theme for Laravel Nova that gives your admin panel a clean, modern look with refined typography, subtle borders, and a soft color palette. Installs via Composer in seconds with no configuration needed.
composer require jameslkingsley/nova-stripe-theme
vendor/jameslkingsley/nova-stripe-theme/composer.json → extra.laravel.providers (auto-discovery) and the require block for the laravel/nova version constraint.boot() method. Most Nova 1.x themes call Nova::theme('stripe') there; if the package doesn't auto-register, add that call to app/Providers/NovaServiceProvider.php inside boot() after parent::boot().vendor/jameslkingsley/nova-stripe-theme/resources/css/ (or dist/). This is the whole product — there is no runtime PHP behavior beyond registration.nova.css and that the Stripe-like palette (indigo accents, light gray surfaces, softer borders) is visible.php artisan config:clear and php artisan view:clear after touching the service provider.public function boot()
{
parent::boot();
if (app()->environment('local')) {
Nova::theme('stripe');
}
}
resources/css/nova-stripe-overrides.css, load it after the theme (via Nova::style() if available in your Nova version, or via your own service provider), and target Nova's selectors — .btn, .card, .sidebar, .resource-table, etc. If the theme exposes CSS custom properties, override those first; they're far more stable than class selectors.composer.json, pin the theme to a specific tag/commit and pin laravel/nova to a compatible major (this package was released Jan 2019 and targets Nova 1.x). Run composer why-not laravel/nova and composer prohibits before upgrading Nova.vendor/ into your app, commit it, and register it yourself. You keep the Stripe aesthetic without depending on a dead package.#635bff, neutral grays, subtle shadows) into your own overrides so brand changes don't require forking.extra.laravel.providers before adding a Nova::theme() call yourself. Double registration is usually harmless but makes debugging confusing.NovaServiceProvider::boot() after parent::boot(). Calling it in register() silently does nothing useful.<link> tags in the Nova layout — the theme must come after nova.css. Appending overrides to a stylesheet that loads earlier will lose the cascade.public/vendor/nova. Only run php artisan nova:publish if you've intentionally overridden Nova's own assets — it won't fix a theme registration problem.vendor/. Changes disappear on composer update / composer install. Fork, or copy the CSS into your app and register it yourself.Nova::theme() call execute? (3) is the stylesheet in the page source? (4) does it load after nova.css? (5) does the selector still exist in your Nova version? That last one is where archived themes usually fail.How can I help you explore Laravel packages today?