fix: use clipboard copy helper library

This commit is contained in:
HouYunFei
2026-05-20 13:29:12 +08:00
parent c20faa665b
commit fd533dd261
8 changed files with 16 additions and 5 deletions
+2 -1
View File
@@ -4,6 +4,7 @@ import { CopyOutlined, DeleteOutlined, EditOutlined, EyeOutlined, PlusOutlined,
import { ProTable, type ProColumns } from "@ant-design/pro-components";
import { App, Button, Card, Col, Flex, Form, Image, Input, Modal, Row, Select, Space, Tag, Tooltip, Typography } from "antd";
import { useEffect, useState } from "react";
import copy from "copy-to-clipboard";
import type { AdminAsset } from "@/services/api/admin";
import { useAdminAssets } from "../hooks/use-admin-assets";
@@ -33,7 +34,7 @@ export default function AdminAssetsPage() {
}, [editingAsset, form]);
const copyValue = async (value: string) => {
await navigator.clipboard.writeText(value);
copy(value);
message.success("已复制");
};
+2 -1
View File
@@ -4,6 +4,7 @@ import { CopyOutlined, DeleteOutlined, EditOutlined, ExportOutlined, EyeOutlined
import { ProTable, type ProColumns } from "@ant-design/pro-components";
import { App, Button, Card, Col, Flex, Form, Image, Input, Modal, Row, Select, Space, Table, Tag, Tooltip, Typography } from "antd";
import { useEffect, useState } from "react";
import copy from "copy-to-clipboard";
import type { Prompt } from "@/services/api/prompts";
import { useAdminPrompts } from "../hooks/use-admin-prompts";
@@ -26,7 +27,7 @@ export default function AdminPromptsPage() {
}, [editingPrompt, form]);
const copyPrompt = async (value: string) => {
await navigator.clipboard.writeText(value);
copy(value);
message.success("已复制");
};
+2 -1
View File
@@ -5,6 +5,7 @@ import { useEffect, useState } from "react";
import { useQuery } from "@tanstack/react-query";
import { App, Button, Card, Drawer, Empty, Image, Input, Pagination, Spin, Tag, Typography } from "antd";
import axios from "axios";
import copy from "copy-to-clipboard";
import { cn } from "@/lib/utils";
import { useAssetStore } from "@/stores/use-asset-store";
@@ -77,7 +78,7 @@ export default function AssetLibraryPage() {
};
const copyText = async (value: string) => {
await navigator.clipboard.writeText(value);
copy(value);
message.success("已复制");
};
+2 -1
View File
@@ -3,6 +3,7 @@
import { Copy, Download, PencilLine, Search, Trash2, Upload } from "lucide-react";
import { useEffect, useMemo, useRef, useState } from "react";
import { App, Button, Card, Drawer, Empty, Form, Image, Input, Modal, Pagination, Select, Space, Tag, Typography } from "antd";
import copy from "copy-to-clipboard";
import { formatBytes, readFileAsDataUrl } from "@/lib/image-utils";
import { uploadImage } from "@/services/image-storage";
@@ -139,7 +140,7 @@ export default function AssetsPage() {
const copyText = async (asset: Asset) => {
if (asset.kind !== "text") return;
await navigator.clipboard.writeText(asset.data.content);
copy(asset.data.content);
message.success("文本已复制");
};
+2 -1
View File
@@ -3,6 +3,7 @@
import { FolderPlus, Search } from "lucide-react";
import { type UIEvent, useEffect, useState } from "react";
import { App, Button, Empty, Input, Spin, Tag } from "antd";
import copy from "copy-to-clipboard";
import { PromptCard } from "@/components/prompts/prompt-card";
import { PromptDetailDialog } from "@/components/prompts/prompt-detail-dialog";
@@ -32,7 +33,7 @@ export default function PromptsPage() {
};
const copyPrompt = async (prompt: string) => {
await navigator.clipboard.writeText(prompt);
copy(prompt);
message.success("提示词已复制");
};