# Portal/Dashboard Page

## Overview

Responsive layout for a dashboard / portal page. Includes a slidable side menu and tab-like UI component for showing and hiding modules. The sidebar menu is hidden by default on mobile but users can click on the hamburger menu in the upper left to open the sidebar.

![](/files/-Lp4THQBzSkLIh4mNnjJ)

## Structure

* When this page is added to your app, it will come with two main groups:
  * `Group page860Group` - This group contains the responsive settings for all modules. All modules should be placed into this group.
  * `Group tabItems` - This group contains all the portal tab menu items
* This page will come with a `Popup Hidden Variables`. For more information on how to use the `Popup Hidden Variables`, [click here](https://app.gitbook.com/@airdev1/s/canvas/~/drafts/-M3h22ftTUg2MDpeUedQ/using-the-template/setup/features/hidden-variables-popup).
  * `var - Website object` - This group stores the website object (e.g., app name, primary color, and etc.)
  * `var - tab url parameter` - This group stores the tab name of which tab the current user is viewing
  * `var - sub url parameter` - This group stores the subtab name of which subtab the current user is viewing
  * `var - dummy` - This is a placeholder group. You can store any data here by updating the type of content and data source of the group.
* This page will come with one reusable element:&#x20;
  * [header](https://docs.airdev.co/canvas/using-the-template/reference/reusable-elements/header)

## How to set up

* Within `Group tabItems`, you will find various groups called `Group Nav 1`, `Group Nav 2`, `Group Nav 3`, and etc. To customize the tabs, simply update the text data source in these groups to the names of your tabs. Feel free to hide or unhide any of these groups depending on how many tabs you would need in your portal.

![](/files/-Lp4TUAhT3qzWNUn_LJs)

{% hint style="info" %}
If you add more Group Nav tabs, please resize `Group sidebar PLACEHOLDER` so that it is not overlapping with any other elements (for responsiveness).
{% endhint %}

* Resize `Group page860Group` and add other modules inside of it

{% hint style="info" %}
If you add more modules, please resize `Group PLACEHOLDER` so that it is not overlapping with any other elements (for responsiveness).
{% endhint %}

## **Show or hide a module**

* For each module in `Group page860Group`, uncheck the box for `This element is visible on page load` and check the box for `Collapse this element's height when hidden`

![](/files/-LchN-ZVHwxc-C3MZ7Ds)

* For each module, go to the Conditional tab and add a conditional statement for when to show the module:\
  `var - tab url parameter's text is Group Nav 7/8/9/10 or 11's tab's text` then `This group is visible`

![](/files/-LchNSDOdGVQtq3b5_Cr)

## Update sidebar styles

As an App Owner, you can update the sidebar styles from the Owner's Portal under the Settings tab.

![](/files/-LclZ_hy9YodUz2t104e)

## Why is my sidebar not showing?

{% hint style="info" %}
**Floatinggroup Sidebar\_website** is set to float to both so that the sidebar is anchored to both the top and bottom of the page and allows for scrolling within the floating group. When a floating group is set to both, the floating group height needs to be the same height as the page height (i.e., the bottom of the floating group is aligned with the bottom of the page). If not, then the floating group will "disappear" when you preview the page.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.airdev.co/canvas-pages-and-modules/2.0.0/pages/portal-dashboard.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
