> For the complete documentation index, see [llms.txt](https://docs.cloudio.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cloudio.io/building-your-first-application/building-your-first-application/creating-pages/designing-the-user-interface.md).

# Designing the user interface

You can build the user interface by placing various components on the page.

1. To design the user interface, on the menu bar, click the **Enable Developer mode** icon.\ <img src="/files/-MHuUB7aZ6Pb1gs7ABwQ" alt="" data-size="original">&#x20;
2. &#x20;To open the page designer, click <img src="/files/-MHuUFF9bBSuPk9tltnw" alt="" data-size="line">.
3. To add components, right click on the parent component. The list of all existing child components is displayed.

   <img src="/files/-MHuUKaMIjE_SLm7Q4Zy" alt="" data-size="original">&#x20;
4. Select the required component from the list.

{% hint style="info" %}
*To know how to add components to a page, visit the* [***Working with page components*** ](/creating-pages/working-with-pages/working-with-page-components.md)*section.*
{% endhint %}

## Adding components to the homepage

You can view that the page is already added as a component in the **Tree** tab.

1. In the page designer, right click on the **Page** component, add a **Vertical Layout Panel** component to arrange the page elements vertically in a single column.\
   \&#xNAN;*By default, the child component, **Vertical*** ***Section**, is added.*

2. Right-click on the first **Vertical** **Section** component, and add a **Card** **Wrapper** component to clearly define the sections of the page into header and body. \
   \&#xNAN;*By default, the child components, **Card Header** and **Card Body**, are added.*

   1. Right-click on the **Card Header** component, and click **Delete**. We can add the title to the page under the **Card** **Body** component.
   2. Right-click on the **Card** **Body** component and select a header component, namely **H1**.
   3. Double-click on the **H1** component, the properties tab is displayed.\
      Under **General** properties, in the **Text** field, type the required page title. For example: **Welcome to the Customer Portal!**

3. Right-click on the second **Vertical** **Section** component, and add a **Card** **Wrapper** component.

   1. In the **Properties** tab of the **Card Header** component, under **General** properties, in the **Title** field, type the required section title. For example: **Ticket Management.**\
      \&#xNAN;*The section title will be used as a placeholder to navigate to the ticket summary page.*

4. Right-click on the **Card** **Header** component, and add **Trigger On Click**.
   1. To define an action on click, right-click on the trigger and add the **Go To Page** action.
   2. In the **Properties** tab of the **Go To Page** action, under **General** properties, in the **Page State** field, type the **Page state** of the ticket summary page. \
      For example: **app.cptickets**

{% hint style="info" %}

* *To copy the **Page State** of a component:*
  * *In the **Navigation*** ***menu**, under the **Developer** role, in the **Developer** group, click **Pages**.*
  * *Under the Page column, double-click on the ticket summary page name, **cpticketmgmt.** The **Page Details** page is displayed.*
  * *Copy the value in the **Page*** ***State** field. You can use this value to navigate to the **cpticketmgmt** page canvas.*
    {% endhint %}

&#x20;   5\. To add an explanation to the section, right-click on the **Card**\
&#x20;        **Body** component, and add a **Paragraph** component.

&#x20;          1\. In the **Properties** tab of the **Paragraph** component, under\
&#x20;              **General** properties, in the **Text** field, type the required\
&#x20;              description.\
&#x20;              For example: **Create, Prioritize, and Monitor tickets**

{% hint style="info" %}
*You can change the font color and font type for the description under the **Text*** ***Style** properties.*\
&#x20;*You can also change the position of the description by changing the margin values under **Layout** properties.*
{% endhint %}

&#x20;   6\. Right-click on the **Card** **Body** component, and add a **Button**\
&#x20;       component.\
&#x20;       *By default, the **Trigger On Click** is added.*

&#x20;          &#x31;*.* In the **Properties** tab of the **Button** component, under **Label**\
&#x20;              properties, in the **Text** field, type **View Lookups**.

&#x20;          2\. Right-click on the trigger and add the **Go To Page** action.

&#x20;          3\. In the **Properties** tab of the **Go To Page** action, under\
&#x20;              **General** properties, in the **Page State** field, type the Page\
&#x20;              state of the lookup page. For example: **app.lookuppage**

![](/files/-MHuUTQ66yPyjnFSWT6S)

&#x20;   7\. On the menu bar, click <img src="/files/-MHuU_yWcPD9ju4jxYI6" alt="" data-size="line"> . The components added to the page\
&#x20;       are saved.

&#x20;   8\. To view the page functionalities, on the menu-bar, click <img src="/files/-MHuUcQOBeD-bY249rAB" alt="" data-size="line"> . You\
&#x20;        can now access the page with all the defined functionalities.
