Portal Blocks
The vocabulary a customer portal page is built from — built-in ECP blocks and custom Spark blocks, side by side.
A customer portal page is composed of blocks, arranged in the ECP Portal Builder (the visual page-composition tool in ECP Settings). Two kinds of block render side by side on the same page:
- Block (built-in) — developed inside the ECP codebase (
end-customer-portal), configured in ECP Settings. Not built from this repo. - Custom block (also "Spark block") — an external web app embedded via iframe, built anywhere with
@epilot/spark-ui+@epilot/spark-sdk. This is what this repo enables.
Building the app that fills a custom block's slot is a separate topic — see Build a block.
A few built-in blocks are reconstructed from spark-ui below, as a reference for what an equivalent custom block could look like:
Quick Actions
The Quick action and Quick actions blocks, rebuilt from Card, Icon, Button, and ScrollArea.
Teaser & Campaign
The Teaser and Campaign blocks, rebuilt from Card, Thumbnail, and Button.
Portal Page Example
One assembled screen combining a device list with the Quick Actions and Campaign reconstructions.