ra-core
Version:
Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React
46 lines • 2.27 kB
JavaScript
import * as React from 'react';
import { LinkBase } from "../routing/index.js";
import { useResourceDefinitions } from "../core/useResourceDefinitions.js";
import { useTranslate } from "../i18n/useTranslate.js";
import { useRefresh } from "../dataProvider/useRefresh.js";
import { Notification } from "./Notification.js";
export const Layout = ({ children }) => {
const resources = useResourceDefinitions();
const translate = useTranslate();
const refresh = useRefresh();
return (React.createElement("div", { style: { padding: '1em', border: '1px solid #ccc' } },
React.createElement("header", null,
React.createElement("nav", { style: {
display: 'flex',
gap: '1em',
listStyle: 'none',
marginBlockStart: 0,
marginBlockEnd: 0,
paddingInlineStart: 0,
justifyContent: 'space-between',
} },
React.createElement("ul", { style: {
display: 'flex',
gap: '1em',
listStyle: 'none',
marginBlockStart: 0,
marginBlockEnd: 0,
paddingInlineStart: 0,
} }, Object.values(resources).map(resource => resource.hasList ? (React.createElement("li", { key: resource.name },
React.createElement(LinkBase, { to: `/${resource.name}` }, `${resource.name
.substring(0, 1)
.toUpperCase()}${resource.name.substring(1)}`))) : null)),
React.createElement("div", { style: {
display: 'flex',
gap: '1em',
listStyle: 'none',
marginBlockStart: 0,
marginBlockEnd: 0,
paddingInlineStart: 0,
} },
React.createElement("button", { onClick: () => refresh() }, translate('ra.action.refresh'))))),
React.createElement("hr", null),
React.createElement("main", null, children),
React.createElement(Notification, null)));
};
//# sourceMappingURL=Layout.js.map