fix: adds tooltip to env

This commit is contained in:
Piyush Gupta
2025-11-25 03:17:39 +05:30
parent 7d5d88ac2b
commit 38b0ba5857
@@ -10,6 +10,8 @@ import {
faArrowRight, faArrowRight,
faArrowRightToBracket, faArrowRightToBracket,
faArrowUp, faArrowUp,
faCheck,
faCopy,
faFilter, faFilter,
faFingerprint, faFingerprint,
faFolder, faFolder,
@@ -79,6 +81,7 @@ import {
usePopUp, usePopUp,
useResetPageHelper, useResetPageHelper,
useResizableHeaderHeight, useResizableHeaderHeight,
useTimedReset,
useToggle useToggle
} from "@app/hooks"; } from "@app/hooks";
import { import {
@@ -194,6 +197,15 @@ export const OverviewPage = () => {
} }
}; };
const [isCopied, , setIsCopied] = useTimedReset<boolean>({
initialState: false
});
const copyToClipboard = (value: string) => {
navigator.clipboard.writeText(value);
setIsCopied(true);
};
const [filter, setFilter] = useState<Filter>(DEFAULT_FILTER_STATE); const [filter, setFilter] = useState<Filter>(DEFAULT_FILTER_STATE);
const [filterHistory, setFilterHistory] = useState< const [filterHistory, setFilterHistory] = useState<
Map<string, { filter: Filter; searchFilter: string }> Map<string, { filter: Filter; searchFilter: string }>
@@ -1324,18 +1336,31 @@ export const OverviewPage = () => {
> >
<Tooltip <Tooltip
content={ content={
collapseEnvironments ? ( <div className="flex flex-col gap-2">
<p className="whitespace-break-spaces">{name}</p> {collapseEnvironments ? (
) : ( <p className="whitespace-break-spaces text-mineshaft-300">{name}</p>
"" ) : (
) ""
)}
<div className="flex items-center gap-2">
<p className="text-xs text-mineshaft-300">{slug}</p>
<IconButton
variant="plain"
colorSchema="secondary"
ariaLabel="Copy environment slug"
onClick={() => copyToClipboard(slug)}
>
<FontAwesomeIcon icon={isCopied ? faCheck : faCopy} />
</IconButton>
</div>
</div>
} }
side="bottom" side="bottom"
sideOffset={-1} sideOffset={5}
align="end" align="center"
className="max-w-xl text-xs normal-case" className="max-w-xl text-xs normal-case"
rootProps={{ rootProps={{
disableHoverableContent: true disableHoverableContent: false
}} }}
> >
<div <div