# UI Color & Theme

### Color theme (light/dark)

Set a light or dark theme for the SDK UI:

{% code title="Kotlin" %}

```kotlin
LuciqKmp.setColorTheme(ColorTheme.Light)
LuciqKmp.setColorTheme(ColorTheme.Dark)
```

{% endcode %}

(If the native SDK supports “auto” based on system theme, it may be exposed in a future KMP version.)

### Custom theme (ThemeConfig)

For deeper customization, use `ThemeConfig` with platform-specific fields (e.g. primary color, background, text colors, fonts). Create a `ThemeConfig` in shared or platform code and set it:

{% code title="Kotlin" %}

```kotlin
val theme = ThemeConfig(
    primaryColor = 0xFF6200EE.toInt(),
    backgroundColor = 0xFFFFFFFF.toInt(),
    primaryTextColor = 0xFF000000.toInt()
    // ... other fields as per your platform
)
LuciqKmp.setTheme(theme)
```

{% endcode %}

`ThemeConfig` is an `expect` class; actual properties vary by platform (Android uses color Ints, iOS may use platform color/font types). See the library’s `ThemeConfig` definition for your target.

### Fullscreen (Android)

On Android you can enable or disable fullscreen mode for the Luciq UI:

{% code title="Kotlin" %}

```kotlin
LuciqKmp.setFullscreen(true)
```

{% endcode %}

No-op on iOS.

### Custom branding image

Replace the Luciq logo in the SDK UI with your own branding. These APIs are **platform-specific** (defined only on Android or iOS), so call them from `androidMain` or `iosMain` code.

**Android** – pass light and dark drawable resource IDs:

{% code title="Kotlin" %}

```kotlin
// In androidMain source set
LuciqKmp.setCustomBrandingImage(
    lightLogoVariant = R.drawable.ic_logo_light,
    darkLogoVariant = R.drawable.ic_logo_dark
)
```

{% endcode %}

**iOS** – pass a `UIImageAsset` (e.g. from an Asset Catalog):

{% code title="Kotlin" %}

```kotlin
// In iosMain source set
LuciqKmp.setCustomBrandingImage(image = myLogoImageAsset)
```

{% endcode %}

### Override strings

Replace any SDK string (e.g. button labels, hints) with your own:

{% code title="Kotlin" %}

```kotlin
LuciqKmp.setString(StringKey.ReportBug, "Report a problem")
LuciqKmp.setString(StringKey.ThankYouText, "Thanks! We’ll look into it.")
```

{% endcode %}

`StringKey` is an enum of all overridable string keys in the SDK.
