Overview
What This Plugin Adds
Section titled “What This Plugin Adds”Theme Switchboard is an Available, No schema impact Capell theme in the Capell Themes product group. It ships as capell-app/theme-switchboard and extends these surfaces: frontend, console.
Theme Switchboard provides a keyboard-first public theme with a command-bar header, prepared page index, optional package integrations, and progressive enhancement for navigation and filtering.
Use Preview Theme Switchboard on existing content before Apply Theme Switchboard, which changes the selected site’s public design; reapply its previous theme to restore that selection. Shared Theme Studio settings saves can affect public pages. For fictional demo content, name a disposable target with —sites and review —url and —languages; unscoped setup refuses existing sites, scoped repeats preserve site configuration unless —force deliberately replaces its theme, enabled state, requested site translations and domains, while demo pages, widgets and demo layouts are rewritten on scoped repeats.
Status details:
- Status: Available
- Tier: premium
- Bundle: themes
- Composer package:
capell-app/theme-switchboard - Namespace:
Capell\ThemeSwitchboard - Theme key:
switchboard
Why It Matters
Section titled “Why It Matters”For developers: Prepared-data Actions keep navigation, optional integrations, and public output out of Blade queries while the theme owns progressive enhancement.
For teams: Teams get a keyboard-first command bar, an index-card home, and a clear public reading path that can connect to optional content and enquiry packages.
Screens And Workflow
Section titled “Screens And Workflow”Screenshot contract: screenshots.json.
Desktop, tablet, and mobile variants remain defined in the screenshot contract; this list groups them by workflow.
- Switchboard Homepage (frontend, required evidence).
- Switchboard Recipe Library (frontend, required evidence).
- Switchboard Command Reference (frontend, required evidence).
- Switchboard Contact (frontend, required evidence).
- Switchboard Empty State (frontend, required evidence).
- Switchboard Not Found (frontend, required evidence).
- Switchboard Install CTA (frontend, required evidence).
Technical Shape
Section titled “Technical Shape”Service providers
Section titled “Service providers”Capell\ThemeSwitchboard\SwitchboardThemeServiceProviderCapell\ThemeSwitchboard\Providers\ConsoleServiceProvider
Extension contracts
Section titled “Extension contracts”PublicIndexProvider
Actions
Section titled “Actions”BuildSwitchboardChromeDataActionBuildSwitchboardIndexActionInstallSwitchboardThemeDemoActionResolveSwitchboardSectionAction
Data objects
Section titled “Data objects”SwitchboardChromeDataSwitchboardIndexItemDataSwitchboardSectionData
Command signatures
Section titled “Command signatures”capell:theme-switchboard-demo
Console command classes
Section titled “Console command classes”DemoCommand
Manifest contributions
Section titled “Manifest contributions”admin-page: Capell\ThemeSwitchboard\Manifest\ThemeManagementPageContribution
Health checks
Section titled “Health checks”Capell\ThemeSwitchboard\Health\ThemeSwitchboardHealthCheck
Blade views
Section titled “Blade views”packages/theme-switchboard/resources/views/components/contact-path.blade.phppackages/theme-switchboard/resources/views/components/newsletter-row.blade.phppackages/theme-switchboard/resources/views/footer.blade.phppackages/theme-switchboard/resources/views/header.blade.phppackages/theme-switchboard/resources/views/sections/cta--prompt.blade.phppackages/theme-switchboard/resources/views/sections/hero--man-page.blade.phppackages/theme-switchboard/resources/views/sections/listing--ledger.blade.phppackages/theme-switchboard/resources/views/widget/changelog-ticker.blade.phppackages/theme-switchboard/resources/views/widget/command-board-feature.blade.phppackages/theme-switchboard/resources/views/widget/command-reference-table.blade.phppackages/theme-switchboard/resources/views/widget/index-card-grid.blade.phppackages/theme-switchboard/resources/views/widget/keycap-legend.blade.phppackages/theme-switchboard/resources/views/widget/man-page-hero.blade.phppackages/theme-switchboard/resources/views/widget/prompt-cta.blade.phppackages/theme-switchboard/resources/views/widget/query-recipes.blade.phppackages/theme-switchboard/resources/views/widget/resolved-section.blade.phppackages/theme-switchboard/resources/views/widget/section.blade.phppackages/theme-switchboard/resources/views/widget/status-strip.blade.phppackages/theme-switchboard/resources/views/widget/transcript-faq.blade.php
Cache tags
Section titled “Cache tags”theme-switchboard
Data Model
Section titled “Data Model”This theme has no schema impact. It relies on core Capell site, page, locale, and theme records instead of declaring package-owned tables.
Install Impact
Section titled “Install Impact”- Required packages:
capell-app/core,capell-app/frontend,capell-app/layout-builder,capell-app/navigation,capell-app/theme-foundation. - Admin navigation: declares
admin-page: ThemeManagementPageContribution; each Filament page or resource controls its own navigation visibility. - Admin/editor extensions: none declared.
- Permissions: no package permission declarations or Shield gates detected; host access rules still apply.
- Public routes: none declared.
- Database changes: no package migrations declared.
- Config: no package config files.
- Settings: no package settings declared.
- Queues or schedules: none declared.
- Cache tags:
theme-switchboard. - Commands:
capell:theme-switchboard-demo.
Common Pitfalls
Section titled “Common Pitfalls”- Keep required Capell packages on compatible v4 releases:
capell-app/core,capell-app/frontend,capell-app/layout-builder,capell-app/navigation,capell-app/theme-foundation. - Keep public Blade and cached HTML free of authoring markers, model IDs, permissions, signed editor URLs, and lazy database queries.
- Custom write integrations must preserve invalidation for
theme-switchboardcache tags.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Likely cause | Check | Fix |
|---|---|---|---|
| Package surface is missing after install | Provider or manifest is not loaded | Confirm capell.json, package composer.json, and provider registration | Reinstall the package, refresh Composer autoload, and clear host caches |
| Public output leaks unexpected state | Render data, cache variation, or authoring boundary has regressed | Check public Blade, cache tags, and public-output safety tests | Move data loading out of Blade and rerun the package public-output tests |
Quick Start
Section titled “Quick Start”- Install the package:
composer require capell-app/theme-switchboard. - See it working on a disposable site: run
php artisan capell:theme-switchboard-demo --sites="Theme demo". Choose a new site name for your demo; keep customer sites for the Preview → Apply workflow above. - Run
php artisan listand verify the package command signatures are registered.
Next Steps
Section titled “Next Steps”- Package docs index
- Worked extension examples
- Developer troubleshooting
- Screenshot contract
- Marketplace assets
- Capell content language plan
- Capell documentation design system
- Capell and package ERD notes
- Related packages: Layout Builder, Navigation, Theme Foundation, Blog, Bookings, Form Builder, Newsletter, Search, Widget Countdown.