@ W-21164311 Mobile sample app (#39)

* Add native-mobile-rental-tenant-app sample

Made-with: Cursor

* Add digitalExperiences metadata to native-mobile-rental-tenant-app

- Vibes app metadata (rental_app_metadata): tabs, theme, toolbar
- Vibes screens: Home, Tenants, Properties with MCF/SharedUI components
- Update README and samples docs

Made-with: Cursor

* Update digitalExperiences to CAMA format from cama-mcp-server

- Replace Vibes format (rental_app, vibesAppMetadata, vibesScreen) with CAMA format (rentalApp, camaAppMetadata, camaScreen)
- Add camaBuildMetadata, camaECDefinition
- Add rentalApp.digitalExperience-meta.xml
- Source: khawkins/cama-mcp-server branch apply_metadata_updates
- Update README and samples docs

Made-with: Cursor

* update readme
This commit is contained in:
Justin Horst 2026-03-12 11:46:22 -04:00 committed by GitHub
parent 95be7a36fb
commit eb5662a707
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
20 changed files with 1710 additions and 0 deletions

View File

@ -41,3 +41,14 @@ Source is synced from the npm package [@salesforce/webapp-template-app-react-sam
### Version tracking
The file `samples/webapp-template-app-react-sample-b2x-experimental/.version` stores the last-synced npm version. The Action compares it to the latest on npm and only creates a PR when they differ.
## native-mobile-rental-tenant-app
A sample Custom Agentic Mobile App (CAMA) for rental property tenants. This sample is maintained directly in this repository (not synced from npm). It includes:
- **digitalExperiences** metadata: CAMA app config (`experience__camaAppMetadata`), build metadata (`experience__camaBuildMetadata`), EC definition (`experience__camaECDefinition`), and screens (`experience__camaScreen`) with tabs (Home, Tenants, Properties), theme, and toolbar settings
- **Source**: Synced from [cama-mcp-server](https://git.soma.salesforce.com/khawkins/cama-mcp-server) (branch `apply_metadata_updates`)
### How it's used
The sample appears on the Agentforce Vibes welcome page under the **Mobile** app type. Users can clone it via the welcome page wizard or directly from this repo.

View File

@ -0,0 +1,15 @@
# List files or directories below to ignore them when running force:source:push, force:source:pull, and force:source:status
# More information: https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_exclude_source.htm
#
package.xml
# LWC configuration files
**/jsconfig.json
**/.eslintrc.json
# LWC Jest
**/__tests__/**
node_modules/
.DS_Store

View File

@ -0,0 +1,20 @@
# Dependencies
node_modules/
# Salesforce
.sfdx/
.localdevserver/
# IDE
.idea/
.vscode/
*.swp
*.swo
# OS
.DS_Store
Thumbs.db
# Logs
*.log
npm-debug.log*

View File

@ -0,0 +1,9 @@
# Native Mobile Rental Tenant App
A sample Custom Agentic Mobile App (CAMA) for property managers and tenants. Use this as a starting point for building native mobile apps with Salesforce Mobile Publisher, MCF (Mobile Component Framework), and SharedUI.
## Overview
This sample demonstrates a rental tenant experience—browse properties, submit maintenance requests, pay rent, and communicate with property management—all from a native iOS or Android app.

View File

@ -0,0 +1,10 @@
{
"orgName": "Rental Tenant Dev",
"edition": "Developer",
"features": [],
"settings": {
"mobileSettings": {
"enableS1EncryptedStoragePref2": false
}
}
}

View File

@ -0,0 +1,5 @@
{
"apiName": "appMetadata",
"type": "experience__camaAppMetadata",
"path": "appMetadata"
}

View File

@ -0,0 +1,41 @@
{
"type": "experience__camaAppMetadata",
"title": "App Metadata",
"contentBody": {
"name": "Homestead",
"description": "Mobile application for managing property rentals, tenant information, lease agreements, and maintenance requests.",
"version": "1.0.0",
"url": "http://login.test1.pc-rnd.salesforce.com/",
"templateID": "1",
"tabs": [
{
"id": "home",
"label": "Home",
"icon": "house.fill",
"screen": "homeScreen"
},
{
"id": "tenants",
"label": "Tenants",
"icon": "person.2.fill",
"screen": "tenantsScreen"
},
{
"id": "properties",
"label": "Properties",
"icon": "building.2.fill",
"screen": "propertiesScreen"
}
],
"toolbarActions": {
"notifications": false,
"search": false,
"agentforce": false
},
"theme": {
"accentColor": "#9400D3",
"primaryColor": "#000000",
"secondaryColor": "#B3B3B3"
}
}
}

View File

@ -0,0 +1,5 @@
{
"apiName": "buildMetadata",
"type": "experience__camaBuildMetadata",
"path": "buildMetadata"
}

View File

@ -0,0 +1,8 @@
{
"type": "experience__camaBuildMetadata",
"title": "Build Metadata",
"contentBody": {
"BiometricOptIn": false,
"NotificationOptIn": false
}
}

View File

@ -0,0 +1,5 @@
{
"apiName": "rentalApp",
"type": "experience__camaECDefinition",
"path": "rentalApp"
}

View File

@ -0,0 +1,5 @@
{
"type": "experience__camaECDefinition",
"title": "CAMA EC Definition",
"contentBody": {}
}

View File

@ -0,0 +1,5 @@
{
"apiName": "homeScreen",
"type": "experience__camaScreen",
"path": "homeScreen"
}

View File

@ -0,0 +1,489 @@
{
"type": "experience__camaScreen",
"title": "Home Screen",
"contentBody": {
"view": {
"definition": "homestead/HomeScreen",
"properties": {
"pullToRefresh": true
},
"regions": {
"components": {
"components": [
{
"definition": "ui/container",
"properties": {
"padding": "$spacing.spacing4",
"backgroundColor": "$colors.surface2"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/card",
"properties": {},
"regions": {
"components": {
"components": [
{
"definition": "ui/column",
"properties": {
"width": "fill",
"height": "fill",
"alignment": "start",
"gap": "$spacing.spacing4",
"padding": "$spacing.spacing4"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/text",
"properties": {
"text": "Today",
"style": "titlesFontScale4Semibold",
"color": "$colors.onSurface1"
},
"regions": {}
},
{
"definition": "ui/text",
"properties": {
"text": "You have no event.",
"color": "$colors.onSuccess1",
"style": "bodyFontScale2Regular"
},
"regions": {}
}
]
}
}
}
]
}
}
},
{
"definition": "ui/card",
"properties": {},
"regions": {
"components": {
"components": [
{
"definition": "ui/column",
"properties": {
"width": "fill",
"height": "fill",
"alignment": "start",
"gap": "$spacing.spacing4",
"padding": "$spacing.spacing4"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/text",
"properties": {
"text": "Upcoming",
"style": "titlesFontScale4Semibold",
"color": "$colors.onSurface1"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "123 Oak Street",
"subtitle": "Inspection on 01/08/2026"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/nothing"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Scheduled",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "456 Maple Avenue",
"subtitle": "Lease Signing on 01/10/2026"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/nothing"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Scheduled",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "789 Pine Road",
"subtitle": "Maintenance on 01/15/2026"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/nothing"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Requested",
"variant": "error"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "321 Elm Street",
"subtitle": "Rent Collection on 01/20/2026"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/nothing"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Scheduled",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Community Center",
"subtitle": "HOA Meeting on 01/22/2026"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/nothing"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Proposed",
"variant": "warning"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "555 Cedar Lane",
"subtitle": "Background Check"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/nothing"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "In Progress",
"variant": "warning"
},
"regions": {}
}
]
}
}
}
]
}
}
},
{
"definition": "ui/card",
"properties": {},
"regions": {
"components": {
"components": [
{
"definition": "ui/column",
"properties": {
"width": "fill",
"height": "fill",
"alignment": "start",
"gap": "$spacing.spacing4",
"padding": "$spacing.spacing4"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/text",
"properties": {
"text": "Tenants",
"style": "titlesFontScale4Semibold",
"color": "$colors.onSurface1"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Sarah Johnson",
"subtitle": "456 Maple Avenue, Apt 5"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Paid",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Michael Chen",
"subtitle": "789 Pine Road"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Overdue",
"variant": "error"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Emily Davis",
"subtitle": "321 Elm Street, Unit 5B"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Paid",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Robert Williams",
"subtitle": "555 Cedar Lane"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Paid",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Jessica Martinez",
"subtitle": "123 Oak Street, Unit 3C"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Moved Out",
"variant": "warning"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "David Lee",
"subtitle": "456 Maple Avenue, Apt 2"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Signed",
"variant": "lightest"
},
"regions": {}
}
]
}
}
}
]
}
}
}
]
}
}
}
]
}
}
},
"target": "native__homesteadHome",
"apiName": "uem_homesteadHome"
}
}

View File

@ -0,0 +1,5 @@
{
"apiName": "propertiesScreen",
"type": "experience__camaScreen",
"path": "propertiesScreen"
}

View File

@ -0,0 +1,565 @@
{
"type": "experience__camaScreen",
"title": "Properties Screen",
"contentBody": {
"view": {
"definition": "homestead/PropertiesScreen",
"properties": {
"pullToRefresh": true
},
"regions": {
"components": {
"components": [
{
"definition": "ui/container",
"properties": {
"padding": "$spacing.spacing4",
"backgroundColor": "$colors.surface2"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/card",
"properties": {},
"regions": {
"components": {
"components": [
{
"definition": "ui/baseRow",
"properties": {
"title": "Oak Street Apartments",
"subtitle": "123 Oak Street"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Full",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Maple Avenue Complex",
"subtitle": "456 Maple Avenue"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Partial",
"variant": "warning"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Pine Road House",
"subtitle": "789 Pine Road"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Vacant",
"variant": "lightest"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Cedar Lane Condos",
"subtitle": "555 Cedar Lane"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Full",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Elm Street Tower",
"subtitle": "321 Elm Street"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Partial",
"variant": "warning"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Birch Boulevard Villa",
"subtitle": "234 Birch Boulevard"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Full",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Willow Way Estates",
"subtitle": "890 Willow Way"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Vacant",
"variant": "lightest"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Sunset Plaza",
"subtitle": "567 Sunset Drive"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Full",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Riverside Apartments",
"subtitle": "678 River Road"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Partial",
"variant": "warning"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Lakeside Manor",
"subtitle": "901 Lake Avenue"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Full",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Mountain View Heights",
"subtitle": "112 Mountain Road"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Maintenance",
"variant": "error"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Harbor Point Lofts",
"subtitle": "445 Harbor Street"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Partial",
"variant": "warning"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Garden Terrace",
"subtitle": "223 Garden Lane"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Full",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Park Place Residences",
"subtitle": "334 Park Avenue"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Vacant",
"variant": "lightest"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Hillside Court",
"subtitle": "778 Hill Street"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Full",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Downtown Tower",
"subtitle": "990 Main Street"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Partial",
"variant": "warning"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Bayside Commons",
"subtitle": "101 Bay Road"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Full",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Meadow Brook Village",
"subtitle": "212 Meadow Lane"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/home",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Maintenance",
"variant": "error"
},
"regions": {}
}
]
}
}
}
]
}
}
}
]
}
}
}
]
}
}
},
"target": "native__homesteadProperties",
"apiName": "uem_homesteadProperties"
}
}

View File

@ -0,0 +1,5 @@
{
"apiName": "tenantsScreen",
"type": "experience__camaScreen",
"path": "tenantsScreen"
}

View File

@ -0,0 +1,478 @@
{
"type": "experience__camaScreen",
"title": "Tenants Screen",
"contentBody": {
"view": {
"definition": "homestead/TenantsScreen",
"properties": {
"pullToRefresh": true
},
"regions": {
"components": {
"components": [
{
"definition": "ui/container",
"properties": {
"padding": "$spacing.spacing4",
"backgroundColor": "$colors.surface2"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/card",
"properties": {},
"regions": {
"components": {
"components": [
{
"definition": "ui/baseRow",
"properties": {
"title": "Sarah Johnson",
"subtitle": "456 Maple Avenue, Apt 5"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Paid",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Michael Chen",
"subtitle": "789 Pine Road"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Overdue",
"variant": "error"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Emily Davis",
"subtitle": "321 Elm Street, Unit 5B"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Paid",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Robert Williams",
"subtitle": "555 Cedar Lane"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Paid",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Jessica Martinez",
"subtitle": "123 Oak Street, Unit 3C"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Moved Out",
"variant": "warning"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "David Lee",
"subtitle": "456 Maple Avenue, Apt 2"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Signed",
"variant": "lightest"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Amanda Thompson",
"subtitle": "789 Pine Road, Unit 7A"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Paid",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Christopher Garcia",
"subtitle": "321 Elm Street, Apt 8"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Overdue",
"variant": "error"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Nicole Anderson",
"subtitle": "555 Cedar Lane, Unit 12B"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Paid",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "James Wilson",
"subtitle": "123 Oak Street, Apt 1A"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Pending",
"variant": "warning"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Rachel Brown",
"subtitle": "456 Maple Avenue, Unit 9C"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Paid",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Kevin Taylor",
"subtitle": "789 Pine Road, Apt 4B"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Signed",
"variant": "lightest"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Stephanie Miller",
"subtitle": "321 Elm Street, Unit 6D"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Paid",
"variant": "success"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Brian Martinez",
"subtitle": "555 Cedar Lane, Apt 10A"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Overdue",
"variant": "error"
},
"regions": {}
}
]
}
}
},
{
"definition": "ui/baseRow",
"properties": {
"title": "Laura Rodriguez",
"subtitle": "123 Oak Street, Unit 11B"
},
"regions": {
"components": {
"components": [
{
"definition": "ui/utilityIcon",
"properties": {
"iconName": "utility/user",
"size": "small"
},
"regions": {}
},
{
"definition": "ui/badge",
"properties": {
"label": "Paid",
"variant": "success"
},
"regions": {}
}
]
}
}
}
]
}
}
}
]
}
}
}
]
}
}
},
"target": "native__homesteadTenants",
"apiName": "uem_homesteadTenants"
}
}

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<DigitalExperienceBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<label>CAMA Rental App</label>
</DigitalExperienceBundle>

View File

@ -0,0 +1,13 @@
{
"name": "native-mobile-rental-tenant-app",
"version": "1.0.0",
"description": "Sample CAMA app for rental property tenants",
"private": true,
"scripts": {
"build": "echo 'No build required for base project'",
"clean": "echo 'No clean required'",
"lint": "eslint **/{aura,lwc}/**/*.js 2>/dev/null || true",
"test": "echo 'Add tests when ready'"
},
"devDependencies": {}
}

View File

@ -0,0 +1,12 @@
{
"packageDirectories": [
{
"path": "force-app",
"default": true
}
],
"name": "RentalTenantApp",
"namespace": "",
"sfdcLoginUrl": "https://login.salesforce.com",
"sourceApiVersion": "66.0"
}