PromucFlow_constructor/app/client/src/pages/AppViewer/viewer/AppViewerHeader.tsx

49 lines
1.1 KiB
TypeScript
Raw Normal View History

import React from "react";
import styled from "styled-components";
2019-11-25 05:07:27 +00:00
import StyledHeader from "components/designSystems/appsmith/StyledHeader";
2020-05-14 06:06:20 +00:00
import Button from "components/editorComponents/Button";
import { EDIT_APP } from "constants/messages";
import { isPermitted } from "pages/Applications/permissionHelpers";
2019-11-05 05:09:50 +00:00
const HeaderWrapper = styled(StyledHeader)`
position: fixed;
top: 0;
left: 0;
background: white;
2020-05-14 06:06:20 +00:00
display: flex;
justify-content: flex-end;
`;
const StyledButton = styled(Button)`
max-width: 200px;
`;
2020-05-14 06:06:20 +00:00
type AppViewerHeaderProps = {
url?: string;
permissionRequired: string;
permissions: string[];
2020-05-14 06:06:20 +00:00
};
export const AppViewerHeader = (props: AppViewerHeaderProps) => {
const hasPermission = isPermitted(
props.permissions,
props.permissionRequired,
);
2020-05-14 06:06:20 +00:00
return (
<HeaderWrapper>
{props.url && hasPermission && (
<StyledButton
2020-06-03 10:50:10 +00:00
className="t--back-to-editor"
2020-05-14 06:06:20 +00:00
href={props.url}
intent="primary"
icon="chevron-left"
iconAlignment="left"
text={EDIT_APP}
2020-05-14 06:06:20 +00:00
filled
/>
)}
</HeaderWrapper>
);
};
export default AppViewerHeader;