"use client"; import React, { useState } from "react"; import styles from "./styles.module.css"; import { usePathname, useRouter, useParams } from "next/navigation"; import BackIcon from "../icons/back"; import SearchIcon from "../icons/search"; import EnviromentIcon from "../icons/env"; import AddIcon from "../icons/add"; import CheckIcon from "../icons/check"; import MenuIcon from "../icons/menu"; import CloneIcon from "../icons/clone"; import RobotIcon from "../icons/robot"; import KeyIcon from "../icons/key"; import ManageEnvIcon from "../icons/manageEnv"; import Alert from "../alerts/Alert"; import DownloadIcon from "../icons/download"; import OutlineDownloadIcon from "../icons/outlineDownload"; import RestartIcon from "../icons/restart"; import PrimaryButton from "../buttons/primarybutton/PrimaryButton"; import EditIcon from "../icons/edit"; import UpdateIcon from "../icons/update"; import SecondaryButton from "../buttons/secondaryButton/SecondaryButton"; import SearchBar from "../searchbar/SearchBar"; import ViewLogsIcon from "../icons/viewLogs"; import PublishIcon from "../icons/publish"; import useIsMobile from "@/app/hooks/useIsMobile"; const TopHeader = (props) => { const [triggerDropDownMenu, setTriggerDropDownMenu] = useState(false); const [triggerAlert, setTriggerAlert] = useState(false); const pathName = usePathname(); const router = useRouter(); const [editState, setEditState] = useState(false); const params = useParams(); const handleNavigateToAdd = () => { router.push(`${pathName}/add`); }; const isMobile = useIsMobile(); return ( <> {triggerAlert && ( )}
{props.requiredButtons.includes("back") && (
router.back()}>
)}

{props.topbarTitle}

{props?.requiredButtons.includes("search") && (
{!isMobile && }
)} {props?.requiredButtons.includes("env") && (
{!isMobile &&

Manage Env. Key

}
)} {props?.requiredButtons.includes("add-services") && ( } text={isMobile ? "" : props.buttonText} onClick={() => props?.trigger(!props?.triggerState)} /> )} {!editState && props?.requiredButtons.includes("edit") && ( } text="Edit" onClick={() => { setEditState(true); }} /> )} {props?.requiredButtons.includes("add") && ( } text={isMobile ? "" : props?.buttonText} onClick={handleNavigateToAdd} /> )} {editState || props?.requiredButtons?.includes("save") ? ( <> editState ? setTriggerAlert(!triggerAlert) : "" } icon={} /> setEditState(!editState) : () => router.back() } /> ) : null} {props?.requiredButtons.includes("update") && ( <> } text="Update" /> router.back()} /> )} {props?.requiredButtons?.includes("services-drop-down") && (
setTriggerDropDownMenu(!triggerDropDownMenu)} >
{triggerDropDownMenu && (

Clone Project

Robots

Init Key

Manage Env. Key

)}
)} {props?.requiredButtons.includes("download") && !editState && (
setTriggerDropDownMenu(!triggerDropDownMenu)} >
{triggerDropDownMenu && (
props?.setTriggerLogsModal?.(true)}>

View Logs

Publish Service

Download Compose

Download Config

Restart

)}
)}
); }; export default TopHeader;