Show SCIM error message

Signed-off-by: Bryan Frimin <bryan@probo.com>
This commit is contained in:
Bryan Frimin
2026-05-28 09:46:10 -07:00
parent c78a713adf
commit 80be22fe8a
2 changed files with 28 additions and 16 deletions

View File

@@ -91,17 +91,21 @@ export function GoogleWorkspaceConnector(props: {
const bridgeState = bridge?.state ?? null; const bridgeState = bridge?.state ?? null;
const latestBridgeError = bridge?.syncError ?? null; const latestBridgeError = bridge?.syncError ?? null;
const isBridgeFailed = bridgeState === "FAILED"; const isBridgeFailed = bridgeState === "FAILED";
const isBridgeDisabled = bridgeState === "DISABLED";
const hasBridgeError = isBridgeFailed || isBridgeDisabled;
const isBridgePending = bridgeState === "PENDING"; const isBridgePending = bridgeState === "PENDING";
const bridgeStatusBadgeVariant = isBridgeFailed const bridgeStatusBadgeVariant = hasBridgeError
? "danger" ? "danger"
: isBridgePending : isBridgePending
? "warning" ? "warning"
: "success"; : "success";
const bridgeStatusLabel = isBridgeFailed const bridgeStatusLabel = isBridgeDisabled
? __("Error") ? __("Disabled")
: isBridgePending : isBridgeFailed
? __("Syncing") ? __("Error")
: __("Connected"); : isBridgePending
? __("Syncing")
: __("Connected");
const bridgeErrorMessage = latestBridgeError const bridgeErrorMessage = latestBridgeError
?? __( ?? __(
"The bridge is currently failing to sync. Check the provisioning event history for more details.", "The bridge is currently failing to sync. Check the provisioning event history for more details.",
@@ -360,12 +364,14 @@ export function GoogleWorkspaceConnector(props: {
</Dialog> </Dialog>
</div> </div>
{isBridgeFailed && ( {hasBridgeError && (
<div className="flex items-start gap-2 rounded-lg bg-bg-warning/10 border border-border-warning p-3"> <div className="flex items-start gap-2 rounded-lg bg-bg-warning/10 border border-border-warning p-3">
<IconWarning size={16} className="text-txt-danger shrink-0 mt-0.5" /> <IconWarning size={16} className="text-txt-danger shrink-0 mt-0.5" />
<div className="space-y-1"> <div className="space-y-1">
<p className="text-sm font-medium text-txt-danger"> <p className="text-sm font-medium text-txt-danger">
{__("Bridge is in an error state")} {isBridgeDisabled
? __("Bridge is disabled")
: __("Bridge is in an error state")}
</p> </p>
<p className="text-sm text-txt-secondary whitespace-pre-wrap break-all"> <p className="text-sm text-txt-secondary whitespace-pre-wrap break-all">
{bridgeErrorMessage} {bridgeErrorMessage}

View File

@@ -91,17 +91,21 @@ export function Microsoft365Connector(props: {
const bridgeState = bridge?.state ?? null; const bridgeState = bridge?.state ?? null;
const latestBridgeError = bridge?.syncError ?? null; const latestBridgeError = bridge?.syncError ?? null;
const isBridgeFailed = bridgeState === "FAILED"; const isBridgeFailed = bridgeState === "FAILED";
const isBridgeDisabled = bridgeState === "DISABLED";
const hasBridgeError = isBridgeFailed || isBridgeDisabled;
const isBridgePending = bridgeState === "PENDING"; const isBridgePending = bridgeState === "PENDING";
const bridgeStatusBadgeVariant = isBridgeFailed const bridgeStatusBadgeVariant = hasBridgeError
? "danger" ? "danger"
: isBridgePending : isBridgePending
? "warning" ? "warning"
: "success"; : "success";
const bridgeStatusLabel = isBridgeFailed const bridgeStatusLabel = isBridgeDisabled
? __("Error") ? __("Disabled")
: isBridgePending : isBridgeFailed
? __("Syncing") ? __("Error")
: __("Connected"); : isBridgePending
? __("Syncing")
: __("Connected");
const bridgeErrorMessage = latestBridgeError const bridgeErrorMessage = latestBridgeError
?? __( ?? __(
"The bridge is currently failing to sync. Check the provisioning event history for more details.", "The bridge is currently failing to sync. Check the provisioning event history for more details.",
@@ -358,12 +362,14 @@ export function Microsoft365Connector(props: {
</Dialog> </Dialog>
</div> </div>
{isBridgeFailed && ( {hasBridgeError && (
<div className="flex items-start gap-2 rounded-lg bg-bg-warning/10 border border-border-warning p-3"> <div className="flex items-start gap-2 rounded-lg bg-bg-warning/10 border border-border-warning p-3">
<IconWarning size={16} className="text-txt-danger shrink-0 mt-0.5" /> <IconWarning size={16} className="text-txt-danger shrink-0 mt-0.5" />
<div className="space-y-1"> <div className="space-y-1">
<p className="text-sm font-medium text-txt-danger"> <p className="text-sm font-medium text-txt-danger">
{__("Bridge is in an error state")} {isBridgeDisabled
? __("Bridge is disabled")
: __("Bridge is in an error state")}
</p> </p>
<p className="text-sm text-txt-secondary whitespace-pre-wrap break-all"> <p className="text-sm text-txt-secondary whitespace-pre-wrap break-all">
{bridgeErrorMessage} {bridgeErrorMessage}