> For the complete documentation index, see [llms.txt](https://devmosaic.gitbook.io/devmosaic/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://devmosaic.gitbook.io/devmosaic/resources/devmosaic-connect-ui/configuration.md).

# Configuration

You can customize almost every layout value, wording, and action using config.lua.

***

### 1. Card Settings (`Config.Card`)

Defines card physics, dimensions, and entry behaviors:

```lua
Config.Card = {
    width = 1200,                  -- Card base rendering width (px)
    height = 980,                 -- Card base rendering height (px)
    fallbackText = 'Boarding Pass', -- Title text if SVG rendering fails
    minimumDisplaySeconds = 2,     -- Minimum time card is shown (seconds)
    requireConfirmation = true,    -- Force player to click 'enter' to join
    enterButtonLabel = 'enter',    -- Primary join button label text
}
```

***

### 2. Branding Wording (`Config.Brand`)

Adjust headers and text elements on the card:

```lua
Config.Brand = {
    airline = 'DM AIR',                 -- Left header logo text
    serverName = 'DM ROLEPLAY',         -- Ticket destination wording
    slogan = 'YOUR STORY. YOUR DESTINATION.', -- Sub-header slogan
    documentTitle = 'BOARDING PASS',    -- Sub-label
    status = 'READY TO BOARD',          -- Boarding status
    titleLine1 = 'SERVER NAME',         -- Large backdrop text line 1
    titleLine2 = 'Roleplay',            -- Large backdrop script text line 2
}
```

***

### 3. Flight Ticket Details (`Config.Ticket`)

Modify details on the boarding ticket graphic:

```lua
Config.Ticket = {
    originCode = 'LSIA',          -- Starting airport code
    originName = 'LOS SANTOS',    -- Starting airport name
    destinationCode = 'DMRP',     -- Server airport code
    destinationName = 'ROLEPLAY', -- Server airport name
    flight = 'DM 001',            -- Flight number
    gate = 'A12',                 -- Boarding Gate
    seat = '1A',                  -- Passenger Seat
    boardingTime = 'NOW',         -- Boarding schedule indicator
    travelClass = 'ROLEPLAY',     -- Class tier
    terminal = 'T1',              -- Terminal
}
```

***

### 4. Custom Colors (`Config.Colors`)

Fallback theme colors applied when `Config.Theme` is set to `nil`:

```lua
Config.Colors = {
    primary = '#84cc16',          -- Primary borders, highlights
    primaryLight = '#a3e635',     -- Glowing borders, headers
    primaryDark = '#65a30d',      -- Shadow overlays
    background = '#000000',       -- Background core tint
    text = '#ffffff',             -- Primary text labels
    muted = '#A6A7AB',            -- Dark/muted subtitles
}
```

***

### 5. Custom Action Buttons (`Config.Actions`)

Add, edit, or remove buttons generated dynamically along the bottom row:

```lua
Config.Actions = {
    -- Submit button: triggers connection entry
    { title = 'enter', type = 'submit', action = 'enter_server', icon = 'play', primary = true },
    -- URL buttons: open external links on click
    { title = 'tebex', type = 'url', url = 'https://example.com/tebex', icon = 'bag' },
    { title = 'discord', type = 'url', url = 'https://discord.gg/qbox', icon = 'discord' },
    { title = 'rules', type = 'url', url = 'https://example.com/rules', icon = 'hammer' },
}
```

Each button item accepts:

* `title`: The text label displayed.
* `type`: Either `'submit'` (finishes queue/enters server) or `'url'` (opens browser links).
* `url`: Target redirect link (required for `'url'`).
* `icon`: Icon key (see Icons page).
* `primary`: If set to `true`, applies primary glowing glass aesthetics.
