2023-05-22 06:35:35 +00:00
|
|
|
import { AppUrls } from "@dashboard/apps/urls";
|
2023-03-01 14:04:53 +00:00
|
|
|
import { TopNav } from "@dashboard/components/AppLayout/TopNav";
|
|
|
|
import { AppQuery } from "@dashboard/graphql";
|
|
|
|
import React from "react";
|
|
|
|
|
|
|
|
import DeactivatedText from "../DeactivatedText";
|
|
|
|
import HeaderOptions from "./HeaderOptions";
|
|
|
|
|
|
|
|
interface HeaderProps {
|
|
|
|
data: AppQuery["app"];
|
|
|
|
onAppActivateOpen: () => void;
|
|
|
|
onAppDeactivateOpen: () => void;
|
|
|
|
onAppDeleteOpen: () => void;
|
|
|
|
}
|
|
|
|
|
|
|
|
const Header: React.FC<HeaderProps> = ({
|
|
|
|
data,
|
|
|
|
onAppActivateOpen,
|
|
|
|
onAppDeactivateOpen,
|
|
|
|
onAppDeleteOpen,
|
2023-05-22 06:35:35 +00:00
|
|
|
}) => {
|
|
|
|
/**
|
|
|
|
* App is null with first render so fallback with HTML-safe fallback
|
|
|
|
*/
|
|
|
|
const backButtonTarget = data?.id ? AppUrls.resolveAppUrl(data.id) : "#";
|
|
|
|
|
|
|
|
return (
|
|
|
|
<>
|
|
|
|
<TopNav
|
|
|
|
href={backButtonTarget}
|
|
|
|
title={
|
|
|
|
<>
|
|
|
|
{data?.name} {!data?.isActive && <DeactivatedText />}
|
|
|
|
</>
|
|
|
|
}
|
|
|
|
/>
|
|
|
|
<HeaderOptions
|
|
|
|
data={data}
|
|
|
|
onAppActivateOpen={onAppActivateOpen}
|
|
|
|
onAppDeactivateOpen={onAppDeactivateOpen}
|
|
|
|
onAppDeleteOpen={onAppDeleteOpen}
|
|
|
|
/>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
};
|
2023-03-01 14:04:53 +00:00
|
|
|
export default Header;
|