Merge pull request #782 from CREDO23/sur-107-comment-reply-notifications

[Feat] Comment reply notifications and chat page &  sharing improvements
This commit is contained in:
Rohan Verma 2026-02-05 10:48:01 -08:00 committed by GitHub
commit 1ef3fd4ce9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 888 additions and 651 deletions

View file

@ -12,3 +12,44 @@ export const formatDate = (date: Date): string => {
day: "numeric",
});
};
/**
* Copy text to clipboard with fallback for older browsers and non-secure contexts.
* Returns true if successful, false otherwise.
*/
export async function copyToClipboard(text: string): Promise<boolean> {
// Use modern Clipboard API if available and in secure context
if (navigator.clipboard && window.isSecureContext) {
try {
await navigator.clipboard.writeText(text);
return true;
} catch (err) {
console.error("Clipboard API failed:", err);
return false;
}
}
// Fallback for non-secure contexts or browsers without Clipboard API
const textArea = document.createElement("textarea");
textArea.value = text;
// Avoid scrolling to bottom
textArea.style.top = "0";
textArea.style.left = "0";
textArea.style.position = "fixed";
textArea.style.opacity = "0";
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
try {
const successful = document.execCommand("copy");
document.body.removeChild(textArea);
return successful;
} catch (err) {
console.error("Fallback copy failed:", err);
document.body.removeChild(textArea);
return false;
}
}