
* create Apps view * create more app components, generate types and messages * apps refactor, update snapshots * show error message in tooltip when app installation fail * update apps components and view, add apps list to storybook * update defaultMessages * create app details view * update AppListPage with Skeleton component * create app activate/deactivate dialogs, create app details stories * add AppHeader to AppDetailsPage * update defaultMessages * update AppDetails view and components after review * create custom app details view * refactor webhooks * update webhooks fixtures * update WebhookDetailsPage story * update strings * create CustomAppCreate view and components * update AppListPage story * create AppInstall view and page * handle errors in AppInstall view * update defaultMessages * add AppInstallPage to storybook * add status prop to MessageManager * update defaultMessages * remove service account section * remove service account routes * remove as operator from notify status * add notifications for app installations * update styles for deactivated app * update app installations with local storage * update defaultMessages * AppInstall update * dd delete button to ongoin installations table * fix active installations condition * fix error messages in AppsList * update defaultMessages * add iframe to AppDetailsPage * create AppDetailsSettingsPage * install macaw-ui * apps styles clean up * update schema, fixtures * few apps updates * WebhookCreate - fix onBack button name * WebhookCreatePage story update * rename apps table from external to thirdparty * update defaultMessages * fix test, update snapshots * AppDetailsSettings - add token to headers * fix first number in local apps query * app details settings - use shop domain host * add onSettingsRowClick to InstalledApps * resolve conflicts * update changelog and messages * add noopener noreferrer do app privacy link * update snapshots * update snapshots * updates after review * update defaultMessages * CustomAppDetails - add missing notify status
38 lines
1,021 B
TypeScript
38 lines
1,021 B
TypeScript
import {
|
|
Breadcrumb,
|
|
BreadcrumbChangeMessage,
|
|
BreadcrumbClickMessage,
|
|
ExtensionMessageEvent,
|
|
ExtensionMessageType,
|
|
sendMessageToExtension,
|
|
useExtensionMessage
|
|
} from "@saleor/macaw-ui/extensions";
|
|
import { useState } from "react";
|
|
|
|
type UseSettingsBreadcrumbs = [Breadcrumb[], (value: string) => void];
|
|
function useSettingsBreadcrumbs(): UseSettingsBreadcrumbs {
|
|
const [breadcrumbs, setBreadcrumbs] = useState<Breadcrumb[]>([]);
|
|
|
|
const handleBreadcrumbSet = (
|
|
event: ExtensionMessageEvent<BreadcrumbChangeMessage>
|
|
) => {
|
|
if (event.data.type === ExtensionMessageType.BREADCRUMB_SET) {
|
|
setBreadcrumbs(event.data.breadcrumbs);
|
|
}
|
|
};
|
|
|
|
useExtensionMessage(handleBreadcrumbSet);
|
|
|
|
const handleBreadcrumbClick = (value: string) =>
|
|
sendMessageToExtension<BreadcrumbClickMessage>(
|
|
{
|
|
breadcrumb: value,
|
|
type: ExtensionMessageType.BREADCRUMB_CLICK
|
|
},
|
|
"*"
|
|
);
|
|
|
|
return [breadcrumbs, handleBreadcrumbClick];
|
|
}
|
|
|
|
export default useSettingsBreadcrumbs;
|