mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 20:34:37 +03:00
fix link menu issues (#5310)
This commit is contained in:
@@ -5,6 +5,7 @@ import { Icon } from "./Icon";
|
|||||||
import { IconDefinition, faLink } from "@fortawesome/free-solid-svg-icons";
|
import { IconDefinition, faLink } from "@fortawesome/free-solid-svg-icons";
|
||||||
import { useMemo } from "react";
|
import { useMemo } from "react";
|
||||||
import { faInstagram, faTwitter } from "@fortawesome/free-brands-svg-icons";
|
import { faInstagram, faTwitter } from "@fortawesome/free-brands-svg-icons";
|
||||||
|
import ReactDOM from "react-dom";
|
||||||
|
|
||||||
export const ExternalLinksButton: React.FC<{
|
export const ExternalLinksButton: React.FC<{
|
||||||
icon?: IconDefinition;
|
icon?: IconDefinition;
|
||||||
@@ -15,25 +16,8 @@ export const ExternalLinksButton: React.FC<{
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (urls.length === 1) {
|
const Menu = () =>
|
||||||
return (
|
ReactDOM.createPortal(
|
||||||
<Button
|
|
||||||
as={ExternalLink}
|
|
||||||
href={TextUtils.sanitiseURL(urls[0])}
|
|
||||||
className={`minimal link external-links-button ${className}`}
|
|
||||||
title={urls[0]}
|
|
||||||
>
|
|
||||||
<Icon icon={icon} />
|
|
||||||
</Button>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<Dropdown className="external-links-button">
|
|
||||||
<Dropdown.Toggle as={Button} className={`minimal link ${className}`}>
|
|
||||||
<Icon icon={icon} />
|
|
||||||
</Dropdown.Toggle>
|
|
||||||
|
|
||||||
<Dropdown.Menu>
|
<Dropdown.Menu>
|
||||||
{urls.map((url) => (
|
{urls.map((url) => (
|
||||||
<Dropdown.Item
|
<Dropdown.Item
|
||||||
@@ -45,7 +29,16 @@ export const ExternalLinksButton: React.FC<{
|
|||||||
{url}
|
{url}
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
))}
|
))}
|
||||||
</Dropdown.Menu>
|
</Dropdown.Menu>,
|
||||||
|
document.body
|
||||||
|
);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Dropdown className="external-links-button">
|
||||||
|
<Dropdown.Toggle as={Button} className={`minimal link ${className}`}>
|
||||||
|
<Icon icon={icon} />
|
||||||
|
</Dropdown.Toggle>
|
||||||
|
<Menu />
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user