Sorry it's taken a moment was messing around with things.
Not sure what other code would be relevant. Here's more of what I have that's actually working - though not as separate service providers - just separate route files.
class AmosProvider extends ServiceProvider
{
public function register()
{
// Hosts images
$this->loadRoutesFrom(__DIR__.'/routes-link.php');
$this->loadRoutesFrom(__DIR__.'/routes-pro.php');
$this->loadRoutesFrom(__DIR__.'/routes-dev.php');
$this->loadRoutesFrom(__DIR__.'/routes-media.php');
$this->loadViewsFrom(__DIR__.'/', "amos");
}
Route::domain(env('DOMAIN_PRO'))->group(function () {
Route::get('/', function () {
return view("amos::default")
->with("view",
UIKit::webView(
"",
UIKit::featuredPractitioners()->noBottomBorder(),
UIKit::appearanceLinks()->noTopBorder()
)
);
})->middleware("web")->name("pro::index");
Route::prefix('practitioners')->group(function() {
Route::get("/", function() {
return UIKit::practitionersPage();
})->middleware("web");
Route::get("{username}", function($username) {
return UIKit::practitionerPage($username);
})->middleware("web");
});
Route::post('/', function (Request $request) {
return ProProvider::processNewsletterSignUp($request);
})->middleware("web");
Route::post('request-invite', function (Request $request) {
return ProProvider::processInitationRequest($request);
})->middleware("web");
});
The shortest routes file but pretty much the canonical pattern for all of them.
Not much has changed compared to when I was trying to do each as a separate service provider. The routes would get loaded separately with separate service providers though.