Skip to content

Commit 238de83

Browse files
fix: BROS-378: Fix text copying (#8339)
1 parent c5ffeab commit 238de83

File tree

8 files changed

+20
-20
lines changed

8 files changed

+20
-20
lines changed

web/apps/labelstudio/src/pages/Settings/StorageSettings/StorageSummary.jsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ import { DescriptionList } from "../../../components/DescriptionList/Description
44
import { modal } from "../../../components/Modal/Modal";
55
import { Oneof } from "../../../components/Oneof/Oneof";
66
import { getLastTraceback } from "../../../utils/helpers";
7-
import { useCopyText } from "@humansignal/core/lib/hooks/useCopyText";
7+
import { useCopyText } from "@humansignal/core";
88

99
// Component to handle copy functionality within the modal
1010
const CopyButton = ({ msg }) => {
11-
const [copyText, copied] = useCopyText(msg);
11+
const [copyText, copied] = useCopyText({ defaultText: msg });
1212

1313
return (
14-
<Button variant="neutral" icon={<IconFileCopy />} onClick={copyText} disabled={copied} className="w-[7rem]">
14+
<Button variant="neutral" icon={<IconFileCopy />} onClick={() => copyText()} disabled={copied} className="w-[7rem]">
1515
{copied ? "Copied!" : "Copy"}
1616
</Button>
1717
);

web/libs/app-common/src/pages/AccountSettings/sections/PersonalAccessToken.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useCopyText } from "@humansignal/core/lib/hooks/useCopyText";
1+
import { useCopyText } from "@humansignal/core";
22
import { Button, IconFileCopy, IconLaunch, Label, Typography } from "@humansignal/ui";
33
/**
44
* FIXME: This is legacy imports. We're not supposed to use such statements
@@ -44,8 +44,8 @@ export const PersonalAccessToken = () => {
4444
const token = useAtomValue(currentTokenAtom);
4545
const reset = useAtomValue(resetTokenAtom);
4646
const curl = useAtomValue(curlStringAtom);
47-
const [copyToken, tokenCopied] = useCopyText(token);
48-
const [copyCurl, curlCopied] = useCopyText(curl);
47+
const [copyToken, tokenCopied] = useCopyText({ defaultText: token });
48+
const [copyCurl, curlCopied] = useCopyText({ defaultText: curl });
4949

5050
return (
5151
<div id="personal-access-token">
@@ -56,7 +56,7 @@ export const PersonalAccessToken = () => {
5656
<Input name="token" className={styles.input} readOnly value={token} />
5757
<Button
5858
leading={<IconFileCopy />}
59-
onClick={copyToken}
59+
onClick={() => copyToken()}
6060
disabled={tokenCopied}
6161
variant="primary"
6262
look="outlined"
@@ -81,7 +81,7 @@ export const PersonalAccessToken = () => {
8181
/>
8282
<Button
8383
leading={<IconFileCopy />}
84-
onClick={copyCurl}
84+
onClick={() => copyCurl()}
8585
disabled={curlCopied}
8686
variant="primary"
8787
look="outlined"

web/libs/app-common/src/pages/AccountSettings/sections/PersonalJWTToken.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { useAtomValue } from "jotai";
55
import clsx from "clsx";
66
import { useCallback, useEffect, useMemo, useState } from "react";
77
import { format } from "date-fns";
8-
import { useCopyText } from "@humansignal/core/lib/hooks/useCopyText";
8+
import { useCopyText } from "@humansignal/core";
99
import styles from "./PersonalJWTToken.module.scss";
1010
import { Button } from "@humansignal/ui";
1111

@@ -188,7 +188,7 @@ export function PersonalJWTToken() {
188188

189189
function CreateTokenForm() {
190190
const { data, mutate: createToken } = useAtomValue(refreshTokenAtom);
191-
const [copy, copied] = useCopyText(data ?? "");
191+
const [copy, copied] = useCopyText({ defaultText: data ?? "" });
192192

193193
useEffect(() => {
194194
createToken();
@@ -206,7 +206,7 @@ function CreateTokenForm() {
206206
readOnly
207207
value={data}
208208
/>
209-
<Button onClick={copy} disabled={copied} variant="neutral" look="outlined">
209+
<Button onClick={() => copy()} disabled={copied} variant="neutral" look="outlined">
210210
{copied ? "Copied!" : "Copy"}
211211
</Button>
212212
</div>

web/libs/core/src/lib/hooks/useCopyText.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ export const useCopyText = ({ defaultText = "", timeout = 1200 }: { defaultText?
1313
[defaultText, timeout],
1414
);
1515

16-
return [copied, copyTextCallback] as const;
16+
return [copyTextCallback, copied] as const;
1717
};

web/libs/datamanager/src/components/Common/Table/Table.jsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { Icon } from "../Icon/Icon";
66
import { modal } from "../Modal/Modal";
77
import { IconCode, IconGear, IconGearNewUI, IconCopyOutline } from "@humansignal/icons";
88
import { AutoSizerTable, Tooltip, Button } from "@humansignal/ui";
9-
import { useCopyText } from "@humansignal/core/lib/hooks/useCopyText";
9+
import { useCopyText } from "@humansignal/core";
1010
import "./Table.scss";
1111
import { TableCheckboxCell } from "./TableCheckbox";
1212
import { tableCN, TableContext } from "./TableContext";
@@ -448,7 +448,7 @@ const TaskSourceView = ({ content, onTaskLoad, sdkType }) => {
448448
return source ? JSON.stringify(source, null, 2) : "";
449449
}, [source]);
450450

451-
const [handleCopy, copied] = useCopyText(jsonString);
451+
const [handleCopy, copied] = useCopyText({ defaultText: jsonString });
452452

453453
return (
454454
<div
@@ -470,7 +470,7 @@ const TaskSourceView = ({ content, onTaskLoad, sdkType }) => {
470470
zIndex: 10,
471471
color: "var(--color-neutral-content-subtle)",
472472
}}
473-
onClick={handleCopy}
473+
onClick={() => handleCopy()}
474474
leading={<Icon icon={IconCopyOutline} style={{ color: "var(--color-neutral-content-subtle)" }} />}
475475
/>
476476
</Tooltip>

web/libs/editor/src/components/AnnotationsCarousel/AnnotationButton.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { useCallback, useEffect, useMemo, useState } from "react";
22
import { inject, observer } from "mobx-react";
3-
import { useCopyText } from "@humansignal/core/lib/hooks/useCopyText";
3+
import { useCopyText } from "@humansignal/core";
44
import { isDefined, userDisplayName } from "@humansignal/core/lib/utils/helpers";
55
import { Block, cn, Elem } from "../../utils/bem";
66
import {
@@ -114,7 +114,7 @@ export const AnnotationButton = observer(
114114
url.searchParams.delete("region");
115115
return url.toString();
116116
}, [entity.pk]);
117-
const [copyLink] = useCopyText(annotationLink);
117+
const [copyLink] = useCopyText({ defaultText: annotationLink });
118118
const toast = useToast();
119119
const dropdown = useDropdown();
120120
const clickHandler = () => {

web/libs/editor/src/components/SidePanels/Components/RegionContextMenu.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useCopyText } from "@humansignal/core/lib/hooks/useCopyText";
1+
import { useCopyText } from "@humansignal/core";
22
import { IconEllipsis, IconLink } from "@humansignal/icons";
33
import { Button, ToastType, useToast } from "@humansignal/ui";
44
import { observer } from "mobx-react";
@@ -18,7 +18,7 @@ export const RegionContextMenu: FC<{ item: any }> = observer(({ item }: { item:
1818
}
1919
return url.toString();
2020
}, [item]);
21-
const [copyLink] = useCopyText(regionLink);
21+
const [copyLink] = useCopyText({ defaultText: regionLink });
2222
const toast = useToast();
2323

2424
const onCopyLink = useCallback<MenuActionOnClick>(

web/libs/ui/src/lib/code-block/code-block.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export function CodeBlock({
2121
negative: "bg-negative-background border-negative-border-subtle",
2222
};
2323

24-
const [isCopied, copyCode] = useCopyText();
24+
const [copyCode, isCopied] = useCopyText();
2525

2626
return (
2727
<div

0 commit comments

Comments
 (0)