- refactor state structure to include app, layout, navigation, owner, program, session, and user - add slices for managing program, session, owner, user, layout, navigation, and app states - create context provider for global state with automatic fetching and throttling - implement persistence using IndexedDB with localStorage fallback - add comprehensive README documentation for usage and API
25 lines
748 B
TypeScript
25 lines
748 B
TypeScript
import { useFormerStore } from './Former.store';
|
|
import { FormerButtonArea } from './FormerButtonArea';
|
|
|
|
export const FormerLayoutBottom = () => {
|
|
const { buttonArea, getState, opened, renderBottom ,setState} = useFormerStore((state) => ({
|
|
buttonArea: state.layout?.buttonArea,
|
|
getState: state.getState,
|
|
opened: state.opened,
|
|
renderBottom: state.layout?.renderBottom,
|
|
setState: state.setState,
|
|
}));
|
|
|
|
if (renderBottom) {
|
|
return renderBottom(
|
|
<FormerButtonArea />,
|
|
opened ?? false,
|
|
getState('onClose') ?? (() => {setState('opened', false)}),
|
|
getState('onOpen') ?? (() => {setState('opened', true)}),
|
|
getState
|
|
);
|
|
}
|
|
|
|
return buttonArea === "bottom" ? <FormerButtonArea /> : <></>;
|
|
};
|