ArticleEditTools.tsx 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import { Link } from "react-router-dom";
  2. import { useIntl } from "react-intl";
  3. import { TeamOutlined } from "@ant-design/icons";
  4. import { Button, Space } from "antd";
  5. import { ArticleTplModal } from "../template/Builder/ArticleTpl";
  6. import ShareModal from "../../components/share/ShareModal";
  7. import { EResType } from "../../components/share/Share";
  8. import AddToAnthology from "../../components/article/AddToAnthology";
  9. interface IWidget {
  10. studioName?: string;
  11. articleId?: string;
  12. title?: string;
  13. }
  14. const ArticleEditToolsWidget = ({
  15. studioName,
  16. articleId,
  17. title = "title",
  18. }: IWidget) => {
  19. const intl = useIntl();
  20. return (
  21. <Space>
  22. {articleId ? (
  23. <AddToAnthology
  24. trigger={<Button type="link">加入文集</Button>}
  25. studioName={studioName}
  26. articleIds={[articleId]}
  27. />
  28. ) : undefined}
  29. {articleId ? (
  30. <ShareModal
  31. trigger={
  32. <Button icon={<TeamOutlined />}>
  33. {intl.formatMessage({
  34. id: "buttons.share",
  35. })}
  36. </Button>
  37. }
  38. resId={articleId}
  39. resType={EResType.article}
  40. />
  41. ) : undefined}
  42. <Link to={`/article/article/${articleId}`} target="_blank">
  43. {intl.formatMessage({ id: "buttons.open.in.library" })}
  44. </Link>
  45. <ArticleTplModal
  46. title={title}
  47. type="article"
  48. id={articleId}
  49. trigger={<Button>获取模版</Button>}
  50. />
  51. </Space>
  52. );
  53. };
  54. export default ArticleEditToolsWidget;