Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Defaultadmin Theme Laravel Package

visiosoft/defaultadmin-theme

A theme package for Visiosoft DefaultAdmin, providing the default admin panel styling and views for Laravel-based Streams applications. It packages the admin layout, assets, and templates needed to render a consistent backend interface.

View on GitHub
Deep Wiki
Context7

Getting Started

visiosoft/defaultadmin-theme is not a general-purpose Laravel package — it is a Streams Platform addon theme (the admin control-panel skin used by Visiosoft/PyroCMS installations). That single fact should drive how you evaluate it: it plugs into an addon runtime, not into a stock Laravel app.

Minimal steps:

composer require visiosoft/defaultadmin-theme

Then, because Streams addons are auto-discovered from the vendor path via their addon.php manifest, you normally only need to clear caches and confirm the theme is registered:

php artisan addon:list          # confirm the theme appears
php artisan view:clear && php artisan cache:clear

Point the admin at it (Streams reads the admin theme from config/env, commonly ADMIN_THEME in .env):

ADMIN_THEME=defaultadmin

First use case: log into /admin and confirm the control panel renders with this skin before you change anything. Treat that as your baseline smoke test — if the login screen, dashboard, and one CRUD module (e.g. users or a stream) all render correctly, the theme is wired properly and you can start customising.

Where to look first, in this order:

  1. composer.json — required php/laravel/streams versions and any asset-build scripts.
  2. addon.php (or theme.php) — the addon manifest: namespace, slug, providers, version.
  3. src/*ServiceProvider.php — view namespaces, asset registration, publish paths.
  4. resources/views/ — the Blade layout chain (layouts/, partials/, components/).
  5. resources/assets/ or resources/scss|js/ plus webpack.mix.js/vite.config.js — how CSS/JS are compiled.

Implementation Patterns

Treat it as a scaffold, not a dependency. With zero dependents and no documentation, the highest-leverage pattern is to fork/copy it into your own addon namespace (acme/customadmin-theme) so upgrades don't stomp your customisations. Streams themes are small enough that forking is cheaper than fighting upstream.

View override pattern. Keep the vendor theme untouched and override individual views from your app. Streams resolves views through namespaced hints, so mirror the vendor path in your app's namespace (or use your own addon's resources/views with the same relative structure). Override surgical files — layouts/app.blade.php, partials/sidebar.blade.php — rather than copying the whole tree, so future vendor updates merge cleanly.

Asset pipeline pattern. The theme almost certainly ships un-compiled SCSS/JS. Wire a build step:

"scripts": {
  "admin:build": "npm --prefix vendor/visiosoft/defaultadmin-theme ci && npm --prefix vendor/visiosoft/defaultadmin-theme run production"
}

Better for long-lived projects: publish the assets into your own pipeline (vendor:publish --tag=assets if available, otherwise copy resources/assets into resources/ of your app) and compile from there. Never rely on node_modules inside vendor/ in CI or production images.

Integration pattern for multi-theme apps. If your project has a public frontend theme plus this admin theme, keep them as separate addons and switch by context — Streams normally resolves the admin theme for admin/* routes and the site theme elsewhere. Verify with php artisan route:list that admin routes carry the admin middleware group, otherwise you'll see the wrong skin on custom admin routes you add.

Workflow for iterative customisation:

  1. Enable only this theme plus the core addons.
  2. Screenshot baseline of dashboard + a representative form + a representative table.
  3. Change one thing (brand colour variable, logo partial, nav item).
  4. Rebuild assets, view:clear, hard-reload.
  5. Repeat — small steps matter because asset cache + view cache combine to make changes look "not applied".

Extension points to prefer: Blade stacks (@push('styles'), @push('scripts')) if the layout defines them; CSS custom properties if the SCSS uses them; view composers in your own service provider rather than editing vendor views. Keep a ThemeServiceProvider in your app that registers overrides — one place to audit.

Gotchas and Tips

Zero stars, zero dependents is the headline risk. There is effectively no community knowledge base: no issues to search, no tutorials, no Stack Overflow answers. Budget time to read the source. Pin the version explicitly in composer.json ("visiosoft/defaultadmin-theme": "1.x" or the exact tag) and commit composer.lock — the last release is 2024-06-27, so movement is slow, but an unpinned minor bump can still break layouts.

The theme is only as good as the Streams version it targets. Check the manifest's required addon versions against your installed streams/core version. A mismatch usually surfaces as a blank or unstyled admin, not a clean error — Streams will silently fall back or throw a view-not-found deep in a middleware.

Caching is the #1 debugging trap. When a change doesn't appear, run this sequence before touching code:

php artisan view:clear
php artisan cache:clear
php artisan config:clear     # if you edited ADMIN_THEME in .env
php artisan route:clear

If config:cache was run with a stale ADMIN_THEME, no amount of asset rebuilding will help. Also check storage/framework/views for stale compiled Blade.

Assets: compiled vs. served from public/. Themes often reference public/addons/{namespace}/{slug}/.... If you deploy with --no-dev or copy only tracked files, those published asset directories may be missing from your release artifact. Add an explicit publish/copy step to your deploy script and verify a cache-busted CSS URL returns 200 in staging.

Don't edit inside vendor/. Changes vanish on composer update and are invisible in code review. If you must hot-patch, do it in a fork or via a path repository during development.

Licence hygiene on bundled assets. The package is MIT, but admin themes frequently vendor in third-party fonts, icon sets, or plugin CSS under different licences. Grep resources/assets for licence headers if you're shipping a commercial product.

Debugging technique when the admin breaks: temporarily switch ADMIN_THEME back to the stock theme. If the admin recovers, the fault is in the theme (view or asset); if it doesn't, the fault is in a core addon or your override provider. This bisects the problem in one step.

Extension point to use sparingly: service-provider bindings that swap theme classes. They're powerful but create invisible coupling — document any binding you add, because the next developer will assume the vendor theme's behaviour and be wrong.

Upgrade strategy given the maintenance risk: keep a small, versioned diff between your fork and upstream (git remote add upstream …), and rebase rather than merge. With a low-activity package, you may go a year between upstream changes — a clean diff makes that trivial; a tangled one makes it a rewrite.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource