TraceItXConfig(
appId: "txx_live_…",
theme: ReporterThemeOptions(
accent: "#3b82f6",
accentForeground: "#ffffff",
surface: "#0b0f14"
)
)
The eight roles
| Role | Paints |
|---|---|
background | The reporter surface behind everything. |
surface | Cards, fields and raised areas. |
border | Hairlines between them. |
text | Primary copy. |
textMuted | Secondary copy, hints, counters. |
accent | Buttons, focus rings, the active tool. |
accentForeground | Text ON the accent — set it whenever you set accent. |
destructive | Delete and discard actions. |
Values are #rrggbb strings, not UIColor. A string crosses the config
boundary unambiguously and serialises into the server-side theme as the same
value — a UIColor would have to be resolved against a trait collection first,
and the reporter’s traits are not necessarily your app’s.
Plan gating
Theming applies only once the server confirms a paid plan. On a free plan
GET /api/config returns { "watermark": true }, the theme is suppressed, and
the reporter renders in default colours with a TraceItX mark.
That is a 200, not an error. An inline theme on a free plan is silently
ignored rather than failing your build — so upgrading a plan themes the reporter
with no code change and no App Store release.
Precedence
Per field, highest wins:
- Server theme — set in the dashboard, applies to every client
- Inline
theme— this config struct - Default
Per field, not per object: setting only accent in the dashboard and only
surface here gives you both. On iOS that split earns its keep — the dashboard
can change brand colour without waiting on review.
Dark by default
The reporter does not follow the system appearance: its default palette is dark,
and stays dark in a light-mode app. If you set background or surface to a
light colour, set text and textMuted too, or you will get your surface with
the default light text on it. An invalid value is ignored per field, not per
theme.
The reporter is iOS and iPadOS only; on tvOS reports are filed from the companion, so there is nothing to theme on the television.