Skip to main content
If you don’t need custom UI, the prebuilt screens get you a working support experience in minutes. They render inside a self-owned modal with a private nested navigator — your router (GoRouter, Navigator 2.0) is never touched.

Open a screen

The host pushes one route; the SDK owns everything inside it.
ClarioDesk.openInbox(context);
From there, the SDK handles inbox → ticket detail → compose → image viewer internally. Control returns to your app when the user dismisses the modal.

The four screens

ScreenWhat it does
Support inboxThe user’s list of tickets.
Ticket detailThe message thread, with a reply composer.
New ticketSubject + body form.
Bug reportTitle + description + optional screenshot.

Theming

The prebuilt UI takes a single typed theme passed at init. Customization is deliberately small — colors and the app bar only. Anything beyond this means building your own UI with the headless methods.
await ClarioDesk.init(
  apiKey: 'pk_live_…',
  theme: ClarioDeskTheme(
    primaryColor: const Color(0xFFD4FF00),
    backgroundColor: const Color(0xFF0D0E0C),
    surfaceColor: const Color(0xFF1A1A1A),
    textColor: const Color(0xFFFAFAF7),
    mutedTextColor: const Color(0xFF8B8B82),
    appBar: ClarioDeskAppBarTheme(
      backgroundColor: const Color(0xFF0D0E0C),
      foregroundColor: const Color(0xFFFAFAF7),
      title: 'Support',
    ),
  ),
);
PropertyNotes
primaryColorButtons, links, accents.
backgroundColorScreen background.
surfaceColorCards, message bubbles, input fields.
textColorPrimary text.
mutedTextColorSecondary text, timestamps.
appBar.backgroundColorApp bar background.
appBar.foregroundColorApp bar title + icons.
appBar.titleOverride the default “Support” title.
No font, layout, spacing, or radius customization in v1 — that’s “build your own UI” territory. The point of the theme is to keep the prebuilt screens from looking out of place, not to be a full design system.