Homepage widgets are built using React components. These components are responsible for fetching data from the API and rendering the widget UI. Homepage provides a set of hooks and utilities to help you build your widget component.
We'll cover two sections of the widget component: hooks and components.
Hooks
useTranslation
This hook is used to translate text and numerical content in widgets. Homepage provides a set of helpers to help you localize your widgets. You can learn more about translations in the Translations Guide.
useWidgetAPI
This hook is used to fetch data from the API. We cover this hook in more detail in the API Guide.
Components
Homepage provides a set of components to help you build your widget UI. These components are designed to provide a consistent layout, and all widgets are expected to use these components.
<Container>
This component is a wrapper for the widget. It provides a consistent layout for all widgets.
<Containerservice={service}></Container>
service is a prop that is passed to the widget component. It contains information about the service that the widget is displaying.
If there is an error fetching data from the API, the error prop can be passed to the Container component.
The label prop is used to look up the translation key in the translation files. The value prop is used to display the value of the block. To learn more about translations, please refer to the Translations Guide.
If there is no data available, the Block component can be used to display a placeholder layout.