Skip to content
Fleetline

Result panel

Usage

Use a result panel to show the outcome of a finished process when the outcome is the main content: after closing a work order, after a vehicle import, when a page can't be shown because of permissions. Confirmation, error and create-resource pages are built from it.

Anatomy

  1. Status icon — .result__icon, decorative, shape per tone
  2. Title — .result__title; h1 on a full page, h2 in a region
  3. Description — .result__description, with a copyable code.result__reference
  4. Actions — .result__actions: primary button + secondary link
  5. Details (optional) — details.result__details with error ID, time, logs

Examples

Result panel

Work order WO-1042 closed

Brake inspection on KX-24 is logged and the invoice was sent to Northside Depot. Reference INV-2026-0918.

Back to dispatch board

We couldn't import the vehicle list

The file has no VIN column. Add a column named “VIN” and upload it again. Nothing was changed.

Download CSV template

38 of 42 vehicles imported

4 rows were skipped because their VINs already exist. Review them before dispatching.

Go to vehicles

Report is being generated

The September cost report covers 42 vehicles. We'll email it to you in about 5 minutes.

You don't have access to billing

Only fleet admins can view invoices. Ask Priya Shah (fleet admin) to give you access.

Back to dispatch board

We couldn't save work order WO-1042

Something went wrong on our side. Your changes are kept on this device — try again in a minute. If it keeps happening, contact support with reference ERR-7F3A-21.

Contact support
Technical details
Error ID
ERR-7F3A-21
Time
Request
PATCH /work-orders/WO-1042 → 503
<section class="result result--success" aria-labelledby="r-title">
  <span class="result__icon" aria-hidden="true"><svg focusable="false"><use href="#icon-circle-check"></use></svg></span>
  <h2 class="result__title" id="r-title" tabindex="-1">Work order WO-1042 closed</h2>
  <p class="result__description">… Reference <code class="result__reference">INV-2026-0918</code>.</p>
  <div class="result__actions">
    <button type="button" class="btn btn--primary">Open next work order</button>
    <a class="btn btn--ghost" href="/dispatch">Back to dispatch board</a>
  </div>
  <details class="result__details"><summary>Technical details</summary><dl>…</dl></details>
</section>
<!-- Inserted after an async action: move focus to the title (tabindex="-1") -->
<!-- Tones: result--success | --error | --warning | --info | --no-permission. Full page: .result--page + h1 -->

API

HookValuesPurpose
.resultblockCentered outcome panel, one measure wide
.result--success | --error | --warning | --info | --no-permissionmodifierIcon tone
.result--pagemodifierFull-page spacing; title is the h1 and matches <title>
.result__icon | __title | __description | __reference | __actions | __detailspartsSee anatomy
tabindex="-1" on the titleattributeLets script move focus to the outcome after an async action

Do and don't

"We couldn't import the vehicle list. The file has no VIN column. Add a column named “VIN” and upload it again."

Do say what happened, why, and the next step.

"Oops! Something went wrong."

Don't leave people without a cause, a next step or a reference ID.

Accessibility

Tokens

Custom propertyPurpose
--color-feedback-{success|danger|warning|info}-bg | -iconIcon disc and glyph
--color-bg-muted, --color-text-mutedNo-permission tone, description text
--typography-h3-*, --typography-code-*Title, reference
--size-measureMax width
--space-8 | -16Icon size, block padding