Solution Building: theme and logo customization

Solution Building: theme and logo customization

🖼️ Logo Configuration (logo)

Add additional property under fe-core configuration in moduleConfiguration. Logos can also be configured via base64-encoded images. This allows the UI to show custom branding without bundling new static files.

{ "logo": { "value": "data:image/png;base64,iVBORw0KGgoAAAANSUhEU...", "disableTextLogo": true } }

Note: Supported formats: svg+xml, jpeg, png

Logo Fields:

Property

Description

Property

Description

value

Base64-encoded string of the main logo

disableTextLogo

(Optional) Do not show openIMIS text next to logo: true or false. By default false

Note: If logo.value is not provided, the default openIMIS logo will be used instead.🎨 Theme & Logo Configuration

To customize the appearance of your openIMIS frontend, you can define a theme and optionally a logo configuration in your module settings either on database level or django admin panel (table moduleConfiguration).

🧹 JSON Configuration Structure

Theme Configuration (theme)

To override the default theme colors, provide a theme object under the fe-core module configuration. Below is the full structure with all supported properties:

{ "theme": { "name": "defaultBlue", "primaryColor": "#004E96", "errorColor": "#801a00", "whiteColor": "#ffffff", "backgroundColor": "#e4f2ff", "headerColor": "#BCD4E6", "greyColor": "grey", "selectedTableRowColor": "rgba(0, 0, 0, 0.08)", "hoveredTableRowColor": "rgba(0, 0, 0, 0.12)", "toggledButtonColor": "#999999", "lockedBackgroundPattern": "repeating-linear-gradient(45deg, #D3D3D3 1px, #D3D3D3 1px, #fff 10px, #fff 10px)" } }
Description of Properties:

Property

Description

Property

Description

name

Optional name identifier for the theme

primaryColor

Main brand color used in headers, buttons, text, etc.

errorColor

Used to highlight errors or critical UI elements

whiteColor

Used for contrasting text and background elements

backgroundColor

General background color for the app

headerColor

Header background color

greyColor

Used for subdued UI elements (e.g., disabled text)

selectedTableRowColor

Background for selected table rows

hoveredTableRowColor

Background for hovered table rows

toggledButtonColor

Background for toggled/active state buttons

lockedBackgroundPattern

Background pattern used for locked (readonly) UI elements

Note: If theme is not provided, the default openIMIS theme will be used instead.


🖼️ Logo Configuration (logo)

Add additional property under fe-core configuration in moduleConfiguration. Logos can also be configured via base64-encoded images. This allows the UI to show custom branding without bundling new static files.

{ "logo": { "value": "data:image/png;base64,iVBORw0KGgoAAAANSUhEU...", "disableTextLogo": true } }

Note: Supported formats: svg+xml, jpeg, png

Logo Fields:

Property

Description

Property

Description

value

Base64-encoded string of the main logo

disableTextLogo

(Optional) Do not show openIMIS text next to logo: true or false. By default false

Note: If logo.value is not provided, the default openIMIS logo will be used instead.


✅ Example GraphQL Response from module configuration GQL

{ "moduleConfigurations": [ { "module": "fe-core", "config": "{\"theme\":{...}, \"logo\":{...}}" } ] }

✅ Example of possible configurations (theme):

Screenshot from 2025-05-07 13-19-16.png
Screenshot from 2025-05-06 11-23-16.png
Screenshot from 2025-05-07 13-07-28.png

 

Screenshot from 2025-05-07 13-08-50.png
Screenshot from 2025-05-06 11-31-39.png

✅ Example of possible configurations (logo):

Screenshot from 2025-05-08 12-26-55.png
Screenshot from 2025-05-08 12-41-20.png
Screenshot from 2025-05-08 12-25-48.png
Screenshot from 2025-05-08 12-26-09.png

 

 

Did you encounter a problem or do you have a suggestion?

Please contact our Service Desk



This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. https://creativecommons.org/licenses/by-sa/4.0/