mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-05-08 09:53:25 +00:00
style(portal): clarify suspended overview posture
This commit is contained in:
parent
887c8d3168
commit
ac798ea2d8
4 changed files with 20 additions and 9 deletions
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"source_hash": "53ef52e68bc30e2c6f494ddab770cd1a0c307b7b7521a22db366b067e603235f",
|
||||
"source_hash": "fff9a599aa20c8a365424cb8744df17dde3d643784358165e71e9b3ab07d786c",
|
||||
"build_inputs": [
|
||||
"package.json",
|
||||
"tsconfig.json",
|
||||
|
|
|
|||
8
internal/cloudcp/portal/dist/portal_app.js
vendored
8
internal/cloudcp/portal/dist/portal_app.js
vendored
|
|
@ -1836,10 +1836,10 @@
|
|||
var checkingCount = countWorkspacesByHealth(workspaces, "checking");
|
||||
var unhealthyCount = countWorkspacesByHealth(workspaces, "unhealthy");
|
||||
var suspendedCount = countWorkspacesByState(workspaces, "suspended");
|
||||
var postureTitle = unhealthyCount > 0 ? "Hosted posture needs review" : checkingCount > 0 ? "Hosted posture is still settling" : "Hosted posture is stable";
|
||||
var postureCopy = unhealthyCount > 0 ? "One or more workspaces still need attention before the hosted fleet is trustworthy." : checkingCount > 0 ? "The hosted fleet is mostly healthy, but some workspaces are still waiting on a completed health check." : "The hosted fleet is healthy and ready for routine operator work.";
|
||||
var nextStepTitle = unhealthyCount > 0 ? "Start in Workspaces" : checkingCount > 0 ? "Review pending checks" : "Fleet is clear";
|
||||
var nextStepCopy = unhealthyCount > 0 ? "One or more workspaces need review before you treat the hosted fleet as trustworthy." : checkingCount > 0 ? "The fleet is mostly healthy, but there are still workspaces waiting on a completed health check." : "Hosted posture looks stable. Move into team or account services only if you need to change access or billing.";
|
||||
var postureTitle = unhealthyCount > 0 ? "Hosted posture needs review" : checkingCount > 0 ? "Hosted posture is still settling" : suspendedCount > 0 ? "Active fleet is stable" : "Hosted posture is stable";
|
||||
var postureCopy = unhealthyCount > 0 ? "One or more workspaces still need attention before the hosted fleet is trustworthy." : checkingCount > 0 ? "The hosted fleet is mostly healthy, but some workspaces are still waiting on a completed health check." : suspendedCount > 0 ? "Active hosted workspaces are healthy while suspended workspaces stay parked until you resume them." : "The hosted fleet is healthy and ready for routine operator work.";
|
||||
var nextStepTitle = unhealthyCount > 0 ? "Start in Workspaces" : checkingCount > 0 ? "Review pending checks" : suspendedCount > 0 ? "Active fleet is clear" : "Fleet is clear";
|
||||
var nextStepCopy = unhealthyCount > 0 ? "One or more workspaces need review before you treat the hosted fleet as trustworthy." : checkingCount > 0 ? "The fleet is mostly healthy, but there are still workspaces waiting on a completed health check." : suspendedCount > 0 ? "Active hosted workspaces look stable. Resume a suspended workspace only when you are ready to bring it back into the operator path." : "Hosted posture looks stable. Move into team or account services only if you need to change access or billing.";
|
||||
var nextStepChecklist = unhealthyCount > 0 ? '<div class="overview-next-checklist"><div class="overview-next-check"><strong>1. Review attention items</strong><span>Open the fleet and inspect any workspace marked as checking or needs attention.</span></div><div class="overview-next-check"><strong>2. Resolve operator blockers</strong><span>Use Team if the right people are not already attached to the hosted account.</span></div><div class="overview-next-check"><strong>3. Escalate billing separately</strong><span>Keep account billing or self-hosted license work out of the workspace review flow.</span></div></div>' : checkingCount > 0 ? '<div class="overview-next-checklist"><div class="overview-next-check"><strong>1. Verify pending health checks</strong><span>Open the workspaces still settling and confirm they are safe to operate.</span></div><div class="overview-next-check"><strong>2. Keep the roster lean</strong><span>Review Team only if a pending workspace needs a different operator mix.</span></div><div class="overview-next-check"><strong>3. Leave billing as a separate action</strong><span>Use account services or billing only when the hosted fleet is already understood.</span></div></div>' : '<div class="overview-next-checklist"><div class="overview-next-check"><strong>1. Use Workspaces for the next operational task</strong><span>Open a client workspace directly when you are ready to do hosted work.</span></div><div class="overview-next-check"><strong>2. Use Team for access changes only</strong><span>Keep roster changes explicit instead of mixing them into routine workspace work.</span></div><div class="overview-next-check"><strong>3. Use account services when the task is commercial</strong><span>Licenses, refunds, privacy, and self-hosted billing stay in their own section.</span></div></div>';
|
||||
var nextStepActions = '<div class="overview-next-actions"><button class="btn-primary btn-compact" type="button" data-shell-action="activate-section" data-shell-section="workspaces">Open workspaces</button><button class="btn-secondary btn-compact" type="button" data-shell-action="activate-section" data-shell-section="' + (account.can_manage ? "team" : "services") + '">' + (account.can_manage ? "Review team access" : "Open account services") + "</button></div>";
|
||||
return '<section class="account-content-panel account-content-panel-overview"><div class="account-stage-header account-stage-header-overview"><div><div class="account-panel-kicker">Overview</div><h3>Hosted posture</h3><p>Start here to judge fleet posture, pick the next operator action, and keep commercial account work separate from hosted operations.</p></div></div><div class="account-command-deck"><div class="account-overview-card"><div class="account-overview-lead"><div class="account-panel-kicker">Fleet posture</div><h3>' + escapeHTML(postureTitle) + "</h3><p>" + escapeHTML(postureCopy) + '</p><div class="account-overview-callout">' + escapeHTML(
|
||||
|
|
|
|||
|
|
@ -283,6 +283,9 @@ describe('shell view', function() {
|
|||
|
||||
expect(html).toContain('Suspended until you resume it');
|
||||
expect(html).toContain('Active fleet is stable');
|
||||
expect(html).toContain('Active hosted workspaces are healthy while suspended workspaces stay parked until you resume them.');
|
||||
expect(html).toContain('Active fleet is clear');
|
||||
expect(html).toContain('Active hosted workspaces look stable. Resume a suspended workspace only when you are ready to bring it back into the operator path.');
|
||||
expect(html).toContain('Active hosted workspaces are healthy. Suspended workspaces stay parked until you resume them.');
|
||||
expect(html).toContain('Suspended stays parked');
|
||||
});
|
||||
|
|
|
|||
|
|
@ -350,22 +350,30 @@ function renderAccountOverviewSection(account: PortalAccountSummary): string {
|
|||
? 'Hosted posture needs review'
|
||||
: checkingCount > 0
|
||||
? 'Hosted posture is still settling'
|
||||
: 'Hosted posture is stable';
|
||||
: suspendedCount > 0
|
||||
? 'Active fleet is stable'
|
||||
: 'Hosted posture is stable';
|
||||
var postureCopy = unhealthyCount > 0
|
||||
? 'One or more workspaces still need attention before the hosted fleet is trustworthy.'
|
||||
: checkingCount > 0
|
||||
? 'The hosted fleet is mostly healthy, but some workspaces are still waiting on a completed health check.'
|
||||
: 'The hosted fleet is healthy and ready for routine operator work.';
|
||||
: suspendedCount > 0
|
||||
? 'Active hosted workspaces are healthy while suspended workspaces stay parked until you resume them.'
|
||||
: 'The hosted fleet is healthy and ready for routine operator work.';
|
||||
var nextStepTitle = unhealthyCount > 0
|
||||
? 'Start in Workspaces'
|
||||
: checkingCount > 0
|
||||
? 'Review pending checks'
|
||||
: 'Fleet is clear';
|
||||
: suspendedCount > 0
|
||||
? 'Active fleet is clear'
|
||||
: 'Fleet is clear';
|
||||
var nextStepCopy = unhealthyCount > 0
|
||||
? 'One or more workspaces need review before you treat the hosted fleet as trustworthy.'
|
||||
: checkingCount > 0
|
||||
? 'The fleet is mostly healthy, but there are still workspaces waiting on a completed health check.'
|
||||
: 'Hosted posture looks stable. Move into team or account services only if you need to change access or billing.';
|
||||
: suspendedCount > 0
|
||||
? 'Active hosted workspaces look stable. Resume a suspended workspace only when you are ready to bring it back into the operator path.'
|
||||
: 'Hosted posture looks stable. Move into team or account services only if you need to change access or billing.';
|
||||
var nextStepChecklist = unhealthyCount > 0
|
||||
? (
|
||||
'<div class="overview-next-checklist">' +
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue