Skip to content
AI Building

Build an Atrium app with AI

One minimised file with everything an AI tool needs: how to work, the hard rules, the full app contract and the design system. Upload it to any LLM, then describe your app.

ATRIUM-AI-BUILD.mdMarkdown
  1. Upload the file to ChatGPT, Claude, Cursor or any AI tool (or paste its contents).
  2. Describe the app you want in plain English.
  3. Let the AI ask you for the API key when it needs one.
View the file
Auto

Component · Feedback

Empty state

View .md

Stable

Empty states fill the space where content will appear once there is some: no readings yet, no inspections booked. They say why it is empty and, where possible, offer the action that fills it.

An empty state is not an error. If something failed to load, use an error alert instead.

No meter reads yet

Reads appear here once tenants submit them.


Specifications

Anatomy

No meter reads yet

Reads appear here once tenants submit them.

1) Title
color: var(--at-text)
font-weight: var(--at-weight-bold)
margin-bottom: var(--at-space-2) /* 4px */
2) Message
color: var(--at-text-subtle)
one sentence on why it is empty
3) Action (optional)
usually one .at-button--primary
4) Container
border: 1px dashed var(--at-border)
border-radius: var(--at-radius-2) /* 10px */
text-align: center

Size and spacing

Nothing here yet

Padding
block: var(--at-space-7) /* 32px */
inline: var(--at-space-5) /* 16px */
Width
fills the space the content would take

With action

When the manager can fill it: book, request, connect.

Example

No inspections booked

Book one to remind the tenant automatically.

Message only

When content arrives on its own, or a search or filter found nothing.

Example

No results for "Ashby"

Check the spelling or clear the filter.


Usage

When to use

  • A list or table with no rows yet.
  • A search or filter with no results.

When not to use

  • Something failed to load: use an error alert.
  • While loading: use a spinner or skeleton.

Content

  • Title says what is missing: "No meter reads yet".
  • Message says why, or what will make content appear.
  • Keep it calm and short: no jokes or illustrations needed.

Do and don't

No meter reads yet

Reads appear here once tenants submit them.

DoSays what is missing and when it will appear.

Oops!

Nothing to see here.

Don'tSounds like an error and does not help.

Do

  • Explain why it is empty and offer the next step.

Don't

  • Show a blank table with headers only.

Implementation

HTML

<div class="at-empty">
  <p class="at-empty__title">No meter reads yet</p>
  <p>Reads appear here once tenants submit them.</p>
  <button type="button" class="at-button at-button--primary">Request reads</button>
</div>

Classes

ClassWhat it does
at-emptyDashed, centred box
at-empty__titleBold first line

Tokens used

--at-border, --at-text-subtle, --at-text


Accessibility

  • Plain text, no images needed.

Related