mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
d0f6ca3bac
* chore: Updated Setup Script for Splitting Env File * chore: updated dockerfile for using inproject env varaibles * chore: removed husky replacement script * chore: updated shell script using sed * chore: updated dockerfiles with removed cp statement * chore: added example env for apiserver * chore: refactored secret generation for backend * chore: removed replacement script * chore: updated docker-compose with removed env variables * chore: resolved comments in setup.sh and docker-compose * chore: removed secret key placeholder in apiserver example env * chore: updated root env for project less env variables * chore: removed project level env update from root env logic * chore: updated API_BASE_URL in .env.example * chore: restored docker argument as env NEXT_PUBLIC_API_BASE_URL * chore: added pg missing env variables * [chore] Updated web and deploy backend configuration for reverse proxy & decoupled Plane Deploy URL generation for web (#2135) * chore: removed api url build arg from compose * chore: set public api default argument to black string for self hosted * chore: updated web services to accept blank string as API URL * chore: added env variables for pg compose service * chore: modified space app services to use accept empty string as api base * chore: conditionally trigger web url value based on argument * fix: made web to use identical host with spaces suffix on absense of Deploy URL for deploy * chore: added example env for PUBLIC_DEPLOY Env * chore: updated web dockerfile with addition as PLANE_DEPLOY Argument * API BASE URL global update * API BASE URL replace with api server * api base url fixes * typo fixes --------- Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com> * dev: remove API_BASE_URL from environment variable --------- Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com> Co-authored-by: pablohashescobar <nikhilschacko@gmail.com>
81 lines
2.9 KiB
TypeScript
81 lines
2.9 KiB
TypeScript
// next imports
|
|
import { useRouter } from "next/router";
|
|
import Link from "next/link";
|
|
// icons
|
|
import { Bars3Icon } from "@heroicons/react/24/outline";
|
|
// ui components
|
|
import { Tooltip } from "components/ui";
|
|
// hooks
|
|
import useProjectDetails from "hooks/use-project-details";
|
|
|
|
type Props = {
|
|
breadcrumbs?: JSX.Element;
|
|
left?: JSX.Element;
|
|
right?: JSX.Element;
|
|
setToggleSidebar: React.Dispatch<React.SetStateAction<boolean>>;
|
|
noHeader: boolean;
|
|
};
|
|
|
|
const { NEXT_PUBLIC_DEPLOY_URL } = process.env;
|
|
let plane_deploy_url = NEXT_PUBLIC_DEPLOY_URL
|
|
|
|
if (typeof window !== 'undefined' && !plane_deploy_url) {
|
|
plane_deploy_url= window.location.protocol + "//" + window.location.host + "/spaces";
|
|
}
|
|
|
|
const Header: React.FC<Props> = ({ breadcrumbs, left, right, setToggleSidebar, noHeader }) => {
|
|
const { projectDetails } = useProjectDetails();
|
|
|
|
const router = useRouter();
|
|
const { workspaceSlug, projectId } = router.query;
|
|
|
|
return (
|
|
<div
|
|
className={`relative flex w-full flex-shrink-0 flex-row z-10 items-center justify-between gap-x-2 gap-y-4 border-b border-custom-border-200 bg-custom-sidebar-background-100 px-5 py-4 ${
|
|
noHeader ? "md:hidden" : ""
|
|
}`}
|
|
>
|
|
<div className="flex items-center gap-2 flex-grow w-full whitespace-nowrap overflow-ellipsis">
|
|
<div className="block md:hidden">
|
|
<button
|
|
type="button"
|
|
className="grid h-8 w-8 place-items-center rounded border border-custom-border-200"
|
|
onClick={() => setToggleSidebar((prevData) => !prevData)}
|
|
>
|
|
<Bars3Icon className="h-5 w-5" />
|
|
</button>
|
|
</div>
|
|
<div>{breadcrumbs}</div>
|
|
|
|
{projectDetails && projectDetails?.is_deployed && (
|
|
<Link href={`${plane_deploy_url}/${workspaceSlug}/${projectId}`}>
|
|
<a target="_blank" rel="noreferrer">
|
|
<Tooltip
|
|
tooltipContent="This project is public, and live on web."
|
|
position="bottom-left"
|
|
>
|
|
<div className="transition-all flex-shrink-0 bg-custom-primary-100/20 text-custom-primary-100 p-1 rounded overflow-hidden relative flex items-center gap-1 cursor-pointer group">
|
|
<div className="w-[14px] h-[14px] flex justify-center items-center">
|
|
<span className="material-symbols-rounded text-[14px]">
|
|
radio_button_checked
|
|
</span>
|
|
</div>
|
|
<div className="text-xs font-medium">Public</div>
|
|
<div className="w-[14px] h-[14px] hidden group-hover:flex justify-center items-center">
|
|
<span className="material-symbols-rounded text-[14px]">open_in_new</span>
|
|
</div>
|
|
</div>
|
|
</Tooltip>
|
|
</a>
|
|
</Link>
|
|
)}
|
|
|
|
<div className="flex-shrink-0">{left}</div>
|
|
</div>
|
|
<div className="flex-shrink-0">{right}</div>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default Header;
|