mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2024-11-10 09:07:45 +01:00
Fix popup copy to clipboard
This commit is contained in:
parent
e4855f7427
commit
466152ed42
3 changed files with 22 additions and 3 deletions
|
@ -220,6 +220,9 @@ function messageListener(request: Message, sender: unknown, sendResponse: (respo
|
|||
case "closePopup":
|
||||
closeInfoMenu();
|
||||
break;
|
||||
case "copyToClipboard":
|
||||
navigator.clipboard.writeText(request.text);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,7 +42,12 @@ interface HideSegmentMessage {
|
|||
UUID: SegmentUUID;
|
||||
}
|
||||
|
||||
export type Message = BaseMessage & (DefaultMessage | BoolValueMessage | IsInfoFoundMessage | SubmitVoteMessage | HideSegmentMessage);
|
||||
interface CopyToClipboardMessage {
|
||||
message: "copyToClipboard";
|
||||
text: string;
|
||||
}
|
||||
|
||||
export type Message = BaseMessage & (DefaultMessage | BoolValueMessage | IsInfoFoundMessage | SubmitVoteMessage | HideSegmentMessage | CopyToClipboardMessage);
|
||||
|
||||
export interface IsInfoFoundMessageResponse {
|
||||
found: boolean;
|
||||
|
|
15
src/popup.ts
15
src/popup.ts
|
@ -178,7 +178,7 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
|||
PageElements.optionsButton.addEventListener("click", openOptions);
|
||||
PageElements.helpButton.addEventListener("click", openHelp);
|
||||
PageElements.refreshSegmentsButton.addEventListener("click", refreshSegments);
|
||||
PageElements.sbPopupIconCopyUserID.addEventListener("click", async () => navigator.clipboard.writeText(await utils.getHash(Config.config.userID)));
|
||||
PageElements.sbPopupIconCopyUserID.addEventListener("click", async () => copyToClipboard(await utils.getHash(Config.config.userID)));
|
||||
|
||||
//show proper disable skipping button
|
||||
const disableSkipping = Config.config.disableSkipping;
|
||||
|
@ -496,7 +496,7 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
|||
uuidButton.src = chrome.runtime.getURL("icons/clipboard.svg");
|
||||
uuidButton.title = chrome.i18n.getMessage("copySegmentID");
|
||||
uuidButton.addEventListener("click", () => {
|
||||
navigator.clipboard.writeText(UUID);
|
||||
copyToClipboard(UUID);
|
||||
const stopAnimation = AnimationUtils.applyLoadingAnimation(uuidButton, 0.3);
|
||||
stopAnimation();
|
||||
});
|
||||
|
@ -850,6 +850,17 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
|||
hiddenButton.style.display = "none";
|
||||
}
|
||||
|
||||
function copyToClipboard(text: string): void {
|
||||
if (window === window.top) {
|
||||
window.navigator.clipboard.writeText(text);
|
||||
} else {
|
||||
sendTabMessage({
|
||||
message: "copyToClipboard",
|
||||
text
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts time in minutes to 2d 5h 25.1
|
||||
* If less than 1 hour, just returns minutes
|
||||
|
|
Loading…
Reference in a new issue