Changes
1 changed files (+14/-8)
-
-
@@ -3,7 +3,9 @@ // SPDX-License-Identifier: AGPL-3.0-onlyimport { CopyIcon } from "@radix-ui/react-icons"; import { Box, type BoxProps, IconButton, Text, Tooltip } from "@radix-ui/themes"; import { type FC, useMemo, useRef, useState } from "react"; import { type FC, useMemo, useRef } from "react"; import { useToast } from "../contexts/Toast.tsx"; import css from "./CopyableText.module.css";
-
@@ -18,12 +20,9 @@ children,mono = false, ...rest }) => { const ref = useRef<HTMLTextAreaElement>(null); const toast = useToast(); // TODO: 結果をユーザに通知する const [_clipboardWriteResult, setClipboardWriteResult] = useState< { ok: false; error: unknown } | { ok: true } | null >(); const ref = useRef<HTMLTextAreaElement>(null); const rows = useMemo(() => { const lines = children.split("\n");
-
@@ -60,9 +59,16 @@try { await navigator.clipboard.writeText(children); setClipboardWriteResult({ ok: true }); toast.open({ title: "クリップボードにコピーしました", severity: "info", }); } catch (error) { setClipboardWriteResult({ ok: false, error }); toast.open({ title: "クリップボードへのコピーに失敗しました", description: String(error), severity: "danger", }); } }} >
-