Appearance
Portal Detail Page ​
File Information ​
- Path:
pages/_workspace_id/dam/portals/_id.vue - Route:
/:workspace_id/dam/portals/:id - Middleware:
authCheck,check-workspace-access,checkWorkspace,check-if-suspended,can-access-dam-module,can-access-dam-settings - Layout:
damLayout
Purpose ​
Configuration hub for a single brand portal. Tabs cover branding (logo, favicon, colors, URL/custom domain), user management, banners, and tiles. Uses asyncData for SSR-safe portal data fetch; white-label status is resolved server-side to avoid stale store state on hard refresh.
Key Features ​
- Portal Branding — edit via
CollageSettings(brand name, description, URL slug, custom domain, primary color, logo, favicon viaPortalLogoEditDialog/PortalFaviconEditDialog) - User Management tab —
wpAdminsTablelisting portal users with roles;CollageUserDialogto invite/edit - Banners tab —
BannerItemlist;AddEditBannerDialogto create/edit banners - Tiles tab —
TileItemlist;AddEditTileDialogto create/edit tiles - Delete flows —
ConfirmationDialogfor destructive actions (delete banner, delete tile) - External link — header button opens the live portal URL in a new tab
- White-label —
whiteLabelEnabledcontrols whether Collage branding is shown for this portal
asyncData ​
Fetches via GET digital-assets/instance/detail?workspace_id=&id= and resolves white-label status via POST get-branding. Returns instance, brand, brandOriginal (frozen for dirty-check), and whiteLabelEnabled.
Components Used ​
CollageSettings— branding form (~/components/dam/Settings/CollageSettings.vue)wpAdminsTable— user table (~/components/dam/table/wpAdminsTable.vue)BannerItem— banner row (~/components/dam/BannerItem/index.vue)TileItem— tile row (~/components/dam/TileItem/index.vue)AddEditBannerDialog(~/components/dam/Dialogs/Org-Settings/AddEditBannerDialog.vue)AddEditTileDialog(~/components/dam/Dialogs/Org-Settings/AddEditTileDialog.vue)ConfirmationDialog— delete confirm (~/components/theme/global/Dialog/ConfirmationDialog.vue)CollageUserDialog— invite/edit user (~/components/dam/Dialogs/Org-Settings/CollageUserDialog.vue)
Data Properties ​
Key data shape (partial):
javascript
{
instance: {}, // Raw portal object from API
brand: {
brand_name: '',
description: '',
brandUrl: '', // Slug-based URL (when is_domain === 0)
domainUrl: '', // Custom domain (when is_domain === 1)
logo: '',
favicon: '',
is_domain: 0 | 1,
is_pointed: 0 | 1,
cname: '',
settings: {
is_trading: false,
is_recent_upload: false,
is_public_portal: false,
},
},
whiteLabelEnabled: false,
banners: [],
tiles: [],
users: [],
}API Endpoints ​
GET digital-assets/instance/detail?workspace_id=&id=— fetch portal detailPOST get-branding— resolve white-label statusPUT digital-assets/instance/update— save portal settingsGET digital-assets/instance/banner/all— fetch bannersGET digital-assets/instance/tile/all— fetch tilesGET digital-assets/instance/user/all— fetch portal users
Related Documentation ​
- Portals Page — portal listing
- Portal Users Settings — workspace-level portal user management
- Portals Feature — full portals feature overview