Skip to main content
Tools

App Builder

App UI design, pages, theme and preview

13
Sections
2
Panels
Service Overview

The App Builder is a visual tool for designing your user portal and mobile app without writing code. Everything members see on the portal home, bottom tabs, side drawer, and in-app pages — sliders, banners, forms, wallet, services — is built here.

If you are new, follow this mental model: set theme and logo first, then compose home page sections (widgets), define forms and services, link them with click actions, publish pages, and test in the simulator or full preview. Changes are not visible to members until you save.

This guide covers section types, per-widget settings, link and action types, pages, theme, forms, services, navigation, and common errors — in full detail.

1
Club PanelSection 1 of 13

What is App Builder?

**Menu: Club Panel → Tools & Development → App Builder**

Wallet app operators may use the same tool from App Panel (/app-builder) — the UI is nearly identical.

Prerequisites

  1. The club must be linked to a wallet application (Club Panel → Operations → Application & Wallet).
  2. The App Builder feature must be active on the club subscription.
  3. Your role needs view / create / update permission on the App Builder module.
  4. On first visit, if an app is linked, an app project is usually created automatically; otherwise contact platform admin.

Page layout

AreaPurpose
**Left toolbar**Tabs: Sections, Theme, Pages, Forms, Services
**Phone simulator (center)**Live preview of what users see
**Right panel**Edit selected section, fields, and actions

Above the simulator: Onboarding, Login/Guest, Full preview, Refresh. An orange dot on a tab means unsaved changes.

Notes

  • Output renders the same on web portal and Flutter app (some advanced widgets may look simpler on one target).
  • When switching pages or tabs with unsaved changes, the system asks for confirmation.
Previous sectionNext section
2
Section 2 of 13

Common settings for every section

**App Builder → Sections tab → select a section → right panel**

Every section — regardless of type — has these base fields:

General fields

FieldDescription
**Title**Heading above the section (optional on some widgets)
**Subtitle**Short line under the title
**Visibility****Always** / **Authenticated only** / **Guest only** — e.g. “Please log in” vs wallet balance
**Padding**Top, right, bottom, left (pixels)
**Corner radius**Section card border radius
**Background color**Optional section background

Step-by-step — add a section

  1. Open the Sections tab.
  2. Check current page in the right panel (e.g. home).
  3. Click Add section.
  4. In the modal, search or filter by category (Images, Text, Wallet, …).
  5. Pick a widget type.
  6. Fill Section settings and Content settings.
  7. Set Click action if needed.
  8. Click Save changes (bottom of panel).

Reorder and delete

  1. Drag in the section list to reorder.
  2. Click a section in the simulator to select it.
  3. Delete section → removed from server after save.
3
Section 3 of 13

Complete section (widget) catalog

The Add section modal offers ~18 types; the advanced editor supports ~30. The table below lists common types with use cases and key settings.

Images

TypePanel labelUse caseKey settings
`static_image`Static imageSingle full-width or card imageUpload, alt text, **click action**
`image_slider`Image sliderMultiple bannersImage list, **interval (seconds)**, **per-slide action**
`gallery`GalleryAlbum with lightboxMultiple images, captions
`hero_banner`Hero bannerLarge intro + CTA buttonBackground image, title, subtitle, button text, **button action**

Tip: Each slider slide can open a page, form, service, or external URL — e.g. slide 1 “Shop”, slide 2 “Contact us”.

Text

TypePanel labelUse caseKey settings
`text_block`Text blockParagraph or HTMLContent, text size, optional **block click action**
`text_slider`Text sliderRotating messagesText items, interval, action per item
`alert_banner`Alert bannerInfo, success, warningType (info/success/warning/error), text, dismissible, action
`rich_text`Rich text (HTML)Formatted contentHTML editor
`html`HTMLLower-level HTML blockHTML code

Lists & grids

TypePanel labelUse caseKey settings
`item_list`Item listVertical/horizontal icon+text menuItems (title, icon, image), **scroll direction**, **item size** (small/medium/large), action per item
`service_grid`Service gridActive club servicesColumn count, optional group — services come from **Services** tab
`faq_accordion`FAQExpandable Q&AQuestion/answer list

Item sizes: small ≈ 1/3 width, medium ≈ 2/3, large = full width — useful for horizontal quick links.

Media

TypePanel labelUse caseKey settings
`video_embed`VideoEmbedded playbackURL (YouTube, Aparat, or direct file), title
`map_embed`MapLocation on mapLatitude, longitude, zoom, label

Wallet

TypePanel labelUse caseKey settings
`wallet_card`Wallet cardBalance and top-up/transferWallet selector, show/hide buttons
`transactions`TransactionsRecent user transactionsRow count, type filter

Prerequisite: user must be logged in; guests usually see nothing.

Forms

TypePanel labelUse caseKey settings
`form_embed`FormSingle-page inline form**Select form** from Forms tab
`form_flow`Multi-step formWizard**Select flow** from Forms → Flows

Data & stats

TypePanel labelUse caseKey settings
`countdown_timer`CountdownEvent or campaignTarget date/time, before/after text
`stats`StatsNumeric cardsStat items (value, label, icon)
`features_grid`Features gridBenefit highlightsCards: icon, title, description, action
`testimonials`TestimonialsQuote sliderName, text, photo
`team_grid`Our teamTeam membersName, role, photo, link
`user_profile`User profileName and membership tierLogged-in users only

Actions & contact

TypePanel labelUse caseKey settings
`quick_actions`Quick actionsShortcut buttons/iconsButton list + action each
`button`ButtonSingle buttonLabel, style, **action**
`button_group`Button groupMultiple buttonsButton list
`social_links`Social linksInstagram, Telegram, …Network list + URL
`contact_info`Contact infoPhone, email, address, hoursEach row can **call / SMS / email / map**
`cta_banner`CTA bannerCall-to-action with buttonTitle, text, button, action

System

TypePanel labelUse case
`divider`DividerHorizontal line between sections
`spacer`SpacerEmpty vertical space
4
Section 4 of 13

Click actions — link types and behavior

**Wherever you see “Click action”:** on the section, each slide, each list item, each button

An action defines what happens when the user taps/clicks. The panel uses ActionSelector, grouped as follows:

1. Internal navigation

Panel typeUser experienceWhat you configure
**Native app page**Go to a built-in app area (wallet, shop, …)Pick a native page (table below)
**Dynamic page**Open a page you built with sectionsSelect **page code** (e.g. `about-us`) — page must be **published**
**Form**Open a form (modal or full screen)Select **form code**
**Multi-step form**WizardSelect **flow code**
**Service**Run a club service (request, payment, …)Select **service** from active project list

2. External links

TypeUser experienceConfiguration
**Web link**Open URL in in-app WebView or browserFull URL (`https://...`)

Tip: Non-HTTPS links may be blocked in the app — prefer https.

3. Communication

TypeBehaviorFields
**Phone call**Opens dialerPhone number
**Send SMS**SMS app with prefilled textNumber + optional message
**Send email**Email clientAddress, subject, body

4. Tools

TypeBehaviorFields
**Share**System share sheetText/link to share
**Copy text**Clipboard + confirmationText
**Show message**Toast or short dialogMessage text
**Native action**Device capabilityOne of: **QR scanner**, **Camera**, **Settings**, **Profile**, **Home**
**No action**Click does nothing

Native app pages (for “Native app page”)

These are system-built — you link to them, not design them with sections:

CodeTitle
`wallet`Wallet
`fund`Fund
`equity`Project equity
`club`Customer club
`credit`Credit / loans
`services`Services
`shop`Shop
`discounts`Discounts
`contacts`Messages / chat
`desk`Calendar / desk
`notifications`Notifications
`transactions`Transactions
`profile`Profile
`settings`Settings

Practical action examples

Home slider:

  • Slide 1 → dynamic page promo-summer
  • Slide 2 → service “Submit request”
  • Slide 3 → web link https://example.com

Quick actions:

  • “Wallet” icon → native page wallet
  • “Support” icon → phone call +98-21-xxxx
  • “Terms” icon → dynamic page terms

Alert banner:

  • “Up to 30% off” → native page shop
  • Close button → no action

Contact info:

  • Phone row → call
  • Email row → email
  • Address row → map link

Action notes

  • Item-level actions (list/slider) take priority over section-level actions.
  • Draft dynamic pages do not appear in “Dynamic page” picker — publish first.
  • Services must be active in the Services tab for this project.
5
Section 5 of 13

Pages tab

**App Builder → Pages icon**

Page types

TypeMeaningUse case
**Dynamic**Editable sectionsHome, about, campaigns
**Static**Fixed system contentTerms, privacy (often seeded)
**WebView**Full-screen URLExternal website
**Native**Built-in app screenWallet, settings — do not delete

Layouts

LayoutMeaning
**Default**AppBar + menu
**Full screen**No AppBar
**No header**Content only
**Tab**Inside bottom navigation
**Modal**Bottom sheet

Step-by-step — new page

  1. Click New page.
  2. Page title and unique code (English, e.g. about-us) — used in actions later.
  3. Slug — portal URL path.
  4. Page type and layout.
  5. Optional: AppBar title, background type (color/image).
  6. Toggles: Home page (only one), Authenticated only, Show AppBar.
  7. Save — initial status: Draft.

Publish and drawer menu

  1. Click Publish page → status Published.
  2. For dynamic pages: Show in portal drawer — link appears in the hamburger menu.
  3. Native pages (wallet, settings, …) are always in the menu; no manual drawer entry needed.

Edit page sections

  1. Click Edit sections in the list → jumps to Sections tab with that page loaded.

Notes

  • Do not delete home page.
  • Archived pages are hidden from users.
  • English title (titleEn) helps EN app/portal when supported.
6
Section 6 of 13

Theme tab

**App Builder → Theme icon**

Theme sets colors, fonts, and logo separately for light and dark mode.

Color groups

  • Brand: primary, secondary, accent
  • Surfaces: background, card, border
  • Text: primary, secondary, muted
  • Status: success, warning, error

Typography & sizing

  • Persian / English font
  • Base font size
  • Card radius, button height, input height

Assets

  • Logo (light and dark)
  • Splash image

Behavior

  • Default theme mode: system / light / dark
  • Show theme toggle on portal

Steps

  1. Open Theme tab → toggle light/dark on simulator.
  2. Adjust colors with color picker.
  3. Upload logo and splash.
  4. Save themeReset reverts unsaved local changes only.
7
Section 7 of 13

Forms tab

**App Builder → Forms icon**

Three sub-views: Forms, Flows, Submissions.

Form field types

TypeUse case
Short / long textName, description
NumberQuantity, age
Email / phoneContact
PasswordSecure input
Select / radio / checkboxOptions
SwitchYes/no
Date / time / Jalali dateScheduling
File / imageUpload
Rating / sliderSurveys
URLWeb address
National ID / IBANIran banking fields
HiddenFixed value, not shown

Per field: label, placeholder, required, min/max, error message.

After submit

ActionMeaning
**Store in database**View in **Submissions**
**Send to external API**Webhook to your URL
**Show message**Success text
**Redirect to page**Go to dynamic page
**Close modal**Dismiss form
**Next step**Used in flows

Multi-step flow

  1. New flow → code and title.
  2. Add steps — each step links an existing form.
  3. In a form_flow section, select that flow.

Submissions

  1. Open Submissions sub-tab.
  2. Filter by form, date, user.
  3. Use for support follow-up or export.

Embed form on a page

  1. Create form and fields.
  2. Sections tab → form_embedselect form.
  3. Save → test in preview with a real user.
8
Section 8 of 13

Services tab

**App Builder → Services icon**

Services defined in Club Panel → Services are attached to the app project here. Only active services appear in service grid and “Service” actions.

In-app pricing

  • Fixed price — set amount
  • Margin percent — markup on base price

Also display title and icon for the app.

Steps

  1. Create a service group (e.g. “Requests”).
  2. Add from catalog and activate.
  3. Set price and sort order.
  4. Test via service_grid or quick_actions → service.
10
Section 10 of 13

Simulator & preview

**Center of App Builder page**

Simulator controls

ControlPurpose
**Onboarding**Preview welcome slides
**Login / Guest**Test authenticated vs guest-only sections
**Preview (Play)**Full-screen like a real user
**Refresh**Reload from server

Full preview

  1. Click Preview.
  2. Navigate tabs and drawer.
  3. Log in with mobile + OTP.
  4. Submit forms, open services, test links.
  5. Close → back to editor.

Notes

  • No section editing in preview mode.
  • After save, click Refresh to sync the simulator.
11
Section 11 of 13

Recommended setup order

  1. Theme — brand colors, logo, fonts
  2. Home page — slider + quick actions + wallet (if needed)
  3. Subpages — about, FAQ, contact
  4. Forms — surveys, requests
  5. Services — activate and group
  6. Publish all dynamic pages
  7. Drawer — add important pages to menu
  8. Preview with real login
  9. Test on a real device (PWA or app)
12
Section 12 of 13

Common errors

IssueLikely causeFix
“Project not found”App not linked to club**Application & Wallet** → link; contact admin
Section missing on portalNot saved or page is draft**Save changes** + **Publish page**
Click does nothingWrong action or unpublished pageCheck page/form/service code
Empty service gridService inactive**Services** tab → activate
Form won’t submitRequired fieldTest in preview as real user
Theme won’t savePermissionApp Builder **update** role
Page missing in action pickerDraft status**Publish**
Web link won’t openhttp or blocked domainUse valid **https**
Empty wallet for guestExpectedSet visibility to **authenticated only**
13
Section 13 of 13

Summary for support

  • Section = UI block on a page; Action = click behavior.
  • Five main tabs: Sections, Theme, Pages, Forms, Services.
  • Publishing pages is required for portal visibility.
  • Actions: native, dynamic page, form, flow, service, URL, phone, SMS, email, share, copy, toast, device native.
  • Fixed app navigation details: see User Portal Navigation (user-portal-navigation).
Previous sectionNext section