aboutsummaryrefslogtreecommitdiff
path: root/src/utils/misc.tsx
diff options
context:
space:
mode:
author12944qwerty <qwerty12944qwerty@gmail.com>2022-12-02 09:38:52 -0600
committerGitHub <noreply@github.com>2022-12-02 16:38:52 +0100
commit4760af7f0ee275caa1eee440f4945032057d2b56 (patch)
tree7da3e052dd96ecb4988ba22f964f3ff5b8f97b51 /src/utils/misc.tsx
parent06d32ae414bbd160d355fe62c643a20976193d49 (diff)
downloadVencord-4760af7f0ee275caa1eee440f4945032057d2b56.tar.gz
Vencord-4760af7f0ee275caa1eee440f4945032057d2b56.tar.bz2
Vencord-4760af7f0ee275caa1eee440f4945032057d2b56.zip
add ViewRaw plugin & MiniPopover API (#275)
Co-authored-by: Vendicated <vendicated@riseup.net>
Diffstat (limited to 'src/utils/misc.tsx')
-rw-r--r--src/utils/misc.tsx24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/utils/misc.tsx b/src/utils/misc.tsx
index 4ae3fd5..d9164a0 100644
--- a/src/utils/misc.tsx
+++ b/src/utils/misc.tsx
@@ -16,7 +16,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import { React } from "@webpack/common";
+import { Clipboard, React, Toasts } from "@webpack/common";
/**
* Makes a lazy function. On first call, the value is computed.
@@ -175,5 +175,25 @@ export function suppressErrors<F extends Function>(name: string, func: F, thisOb
*/
export function makeCodeblock(text: string, language?: string) {
const chars = "```";
- return `${chars}${language || ""}\n${text}\n${chars}`;
+ return `${chars}${language || ""}\n${text.replaceAll("```", "\\`\\`\\`")}\n${chars}`;
+}
+
+export function copyWithToast(text: string, toastMessage = "Copied to clipboard!") {
+ if (Clipboard.SUPPORTS_COPY) {
+ Clipboard.copy(text);
+ } else {
+ toastMessage = "Your browser does not support copying to clipboard";
+ }
+ Toasts.show({
+ message: toastMessage,
+ id: Toasts.genId(),
+ type: Toasts.Type.SUCCESS
+ });
+}
+
+/**
+ * Check if obj is a true object: of type "object" and not null or array
+ */
+export function isObject(obj: unknown): obj is object {
+ return typeof obj === "object" && obj !== null && !Array.isArray(obj);
}