mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-10 05:27:03 +03:00
Fix popup copy to clipboard
This commit is contained in:
@@ -220,6 +220,9 @@ function messageListener(request: Message, sender: unknown, sendResponse: (respo
|
|||||||
case "closePopup":
|
case "closePopup":
|
||||||
closeInfoMenu();
|
closeInfoMenu();
|
||||||
break;
|
break;
|
||||||
|
case "copyToClipboard":
|
||||||
|
navigator.clipboard.writeText(request.text);
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,12 @@ interface HideSegmentMessage {
|
|||||||
UUID: SegmentUUID;
|
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 {
|
export interface IsInfoFoundMessageResponse {
|
||||||
found: boolean;
|
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.optionsButton.addEventListener("click", openOptions);
|
||||||
PageElements.helpButton.addEventListener("click", openHelp);
|
PageElements.helpButton.addEventListener("click", openHelp);
|
||||||
PageElements.refreshSegmentsButton.addEventListener("click", refreshSegments);
|
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
|
//show proper disable skipping button
|
||||||
const disableSkipping = Config.config.disableSkipping;
|
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.src = chrome.runtime.getURL("icons/clipboard.svg");
|
||||||
uuidButton.title = chrome.i18n.getMessage("copySegmentID");
|
uuidButton.title = chrome.i18n.getMessage("copySegmentID");
|
||||||
uuidButton.addEventListener("click", () => {
|
uuidButton.addEventListener("click", () => {
|
||||||
navigator.clipboard.writeText(UUID);
|
copyToClipboard(UUID);
|
||||||
const stopAnimation = AnimationUtils.applyLoadingAnimation(uuidButton, 0.3);
|
const stopAnimation = AnimationUtils.applyLoadingAnimation(uuidButton, 0.3);
|
||||||
stopAnimation();
|
stopAnimation();
|
||||||
});
|
});
|
||||||
@@ -850,6 +850,17 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
|||||||
hiddenButton.style.display = "none";
|
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
|
* Converts time in minutes to 2d 5h 25.1
|
||||||
* If less than 1 hour, just returns minutes
|
* If less than 1 hour, just returns minutes
|
||||||
|
|||||||
Reference in New Issue
Block a user