Styling
MealzUIKit UI is SSR HTML/CSS inside the WebView. Branding is applied through CSS manifests, not native theme protocols (those belonged to the Older MealzCore stack). Defaults already look fine — register manifests only when you need brand overrides.
Where to Put Your Files
Mealz already ships SSR + retailer default styles inside the WebView. You only add files for extra brand overrides, then register them. CustomStyle resolves those paths for you (Android assets / iOS main bundle).
- Put manifests and CSS in the app main bundle (same relative folder layout you will pass to
registerManifest). - Register with that bundle-relative path, e.g.
styles/base-manifest.json.
CSS (and other assets) listed in a manifest’s links array are resolved relative to the directory that contains that manifest. Keep overrides under that tree — files outside the registered manifest folders are not loaded.
Example layout:
styles/
base-manifest.json # links → ./override/base.css
catalog-manifest.json
override/
base.css
catalog.css
Register a Manifest
CustomStyle.companion.getInstance().registerManifest(
path: "styles/base-manifest.json",
type: .base
)
// Optionally per feature:
CustomStyle.companion.getInstance().registerManifest(
path: "styles/catalog-manifest.json",
type: .catalog
)
ManifestFeatureType values: BASE, CATALOG, PLANNER, RECIPE.
Example manifest:
{
"updated-at": "2026-01-09T11-26-00",
"layer": "retailer",
"links": [
"./override/base.css"
]
}