diff --git a/src/applications/almanac/query/AlmanacDeviceSearchEngine.php b/src/applications/almanac/query/AlmanacDeviceSearchEngine.php --- a/src/applications/almanac/query/AlmanacDeviceSearchEngine.php +++ b/src/applications/almanac/query/AlmanacDeviceSearchEngine.php @@ -137,4 +137,30 @@ return $result; } + protected function getNewUserBody() { + $see_network = id(new PHUIButtonView()) + ->setTag('a') + ->setText(pht('See Networks')) + ->setHref('/almanac/network/'); + + $create_button = id(new PHUIButtonView()) + ->setTag('a') + ->setText(pht('Create a Device')) + ->setHref('/almanac/device/edit/') + ->setIcon('fa-plus') + ->setColor(PHUIButtonView::GREEN); + + $app_name = pht('Devices'); + $view = id(new PHUIBigInfoView()) + ->setIcon('fa-server') + ->setTitle(pht('Welcome to %s', $app_name)) + ->setDescription( + pht( + 'Use Almanac devices to catalogue your build hosts '. + 'and their SSH ports your network, and more.')) + ->addAction($see_network) + ->addAction($create_button); + + return $view; + } } diff --git a/src/applications/almanac/query/AlmanacNetworkSearchEngine.php b/src/applications/almanac/query/AlmanacNetworkSearchEngine.php --- a/src/applications/almanac/query/AlmanacNetworkSearchEngine.php +++ b/src/applications/almanac/query/AlmanacNetworkSearchEngine.php @@ -87,4 +87,25 @@ return $result; } + + protected function getNewUserBody() { + $create_button = id(new PHUIButtonView()) + ->setTag('a') + ->setText(pht('Create a Network')) + ->setHref('/almanac/network/edit/') + ->setIcon('fa-plus') + ->setColor(PHUIButtonView::GREEN); + + $app_name = pht('Networks'); + $view = id(new PHUIBigInfoView()) + ->setIcon('fa-globe') + ->setTitle(pht('Welcome to %s', $app_name)) + ->setDescription( + pht( + 'Use Almanac networks to catalogue private and public '. + 'computer networks.')) + ->addAction($create_button); + + return $view; + } } diff --git a/src/applications/almanac/query/AlmanacServiceSearchEngine.php b/src/applications/almanac/query/AlmanacServiceSearchEngine.php --- a/src/applications/almanac/query/AlmanacServiceSearchEngine.php +++ b/src/applications/almanac/query/AlmanacServiceSearchEngine.php @@ -115,4 +115,32 @@ return $result; } + + protected function getNewUserBody() { + $see_devices = id(new PHUIButtonView()) + ->setTag('a') + ->setText(pht('See Devices')) + ->setHref('/almanac/device/'); + + $create_button = id(new PHUIButtonView()) + ->setTag('a') + ->setText(pht('Create a Service')) + ->setHref('/almanac/service/edit/') + ->setIcon('fa-plus') + ->setColor(PHUIButtonView::GREEN); + + + $app_name = pht('Services'); + $view = id(new PHUIBigInfoView()) + ->setIcon('fa-plug') + ->setTitle(pht('Welcome to %s', $app_name)) + ->setDescription( + pht( + 'Services describe pools of devices, and '. + 'they are available to Drydock for CI/CD, and more.')) + ->addAction($see_devices) + ->addAction($create_button); + + return $view; + } } diff --git a/src/applications/drydock/query/DrydockBlueprintSearchEngine.php b/src/applications/drydock/query/DrydockBlueprintSearchEngine.php --- a/src/applications/drydock/query/DrydockBlueprintSearchEngine.php +++ b/src/applications/drydock/query/DrydockBlueprintSearchEngine.php @@ -138,4 +138,32 @@ return $result; } + protected function getNewUserBody() { + $see_almanac_button = id(new PHUIButtonView()) + ->setTag('a') + ->setText(pht('See Almanac services')) + ->setHref('/almanac/service/'); + + $create_button = id(new PHUIButtonView()) + ->setTag('a') + ->setText(pht('Create a Blueprint')) + ->setHref('/drydock/blueprint/edit/') + ->setIcon('fa-plus') + ->setColor(PHUIButtonView::GREEN); + + $app_name = pht('Blueprints'); + $view = id(new PHUIBigInfoView()) + ->setIcon('fa-map-o') + ->setTitle(pht('Welcome to %s', $app_name)) + ->setDescription( + pht( + 'Blueprints allow to lease fresh working copies of repositories, '. + 'on your Drydock devices, when needed by CI/CD workflows, and more. '. + 'Blueprints lease services defined in your Almanac.')) + ->addAction($see_almanac_button) + ->addAction($create_button); + + return $view; + } + }