A SmartTarget is actually a react component with a unique target id that renders a remote bundle when the id matches.
Smart targets are also responsible for passing props to the remote components. These props are divided into two different categories: common props and target-specific props.
Common props are passed to all remote components within the smart target component. They include but are not limited to strings, icons, generateId function, renderFields function to generate forms, store values, edit and config context. You can always check the latest available common props for remote components by checking the SmartTarget component code.
Target-specific props are passed to the smart target component from its parent component and may be different for each target. To get the latest available target-specific props, you can check the parent component of each SmartTarget component. We can use these props using the kit context. See the kit context section for more details.
There are two types of views in terms of the target field, static target view and dynamic target view.
Static targets are hard-coded in the Hollaex web kit and views are injected based on these targets. See the web_view array section for more information.
- Verification Page Bank Tab
- Verification Page KYC Tab
Dynamic targets are generated on the Hollaex web kit before the injection. They are created based on the meta object values.
- New Page
- New verification tab
- Fiat wallet deposit and withdrawal page
Web_view is an array of objects. Each object in the web_view array corresponds to a view of the plugin. The basic view structure is in the form of a JSON object.
Let's go over each key in this JSON object.
The src is the address of the view bundle file.
Target is the id of the view in static target views. The target is used to inject the view into the corresponding SmartTarget.
The is_default value specifies if a view is the default view.
Holds HTML strings for the head and the body. These values will be injected into the DOM. This field can be used to add script tags.
The meta object holds strings, icons, and some essential fields to define each plugin type for dynamic target views.
Below you can see essential fields to define each dynamic plugin type. These values should be added to the meta object under the view.json file to define the type of the plugin. These valuse are already set when you are using plugin starter templates.
"type": "home" or "verification",
"type": "deposit" or "withdraw",
"currency": "USD" /* currency symbol /*