@shopify/polaris
Version:
Shopify’s product component library
27 lines (26 loc) • 893 B
JavaScript
import React from 'react';
import { useFrame } from '../../utilities/frame';
// This does have a display name, but the linting has a bug in it
// https://github.com/yannickcr/eslint-plugin-react/issues/2324
// eslint-disable-next-line react/display-name
export const ContextualSaveBar = React.memo(function ContextualSaveBar({ message, saveAction, discardAction, alignContentFlush, }) {
const { setContextualSaveBar, removeContextualSaveBar } = useFrame();
React.useEffect(() => {
setContextualSaveBar({
message,
saveAction,
discardAction,
alignContentFlush,
});
}, [
message,
saveAction,
discardAction,
alignContentFlush,
setContextualSaveBar,
]);
React.useEffect(() => {
return removeContextualSaveBar;
}, [removeContextualSaveBar]);
return null;
});