Files
memos/web/src/helpers/utils.ts
2024-03-30 08:26:28 +08:00

40 lines
984 B
TypeScript

export function absolutifyLink(rel: string): string {
const anchor = document.createElement("a");
anchor.setAttribute("href", rel);
return anchor.href;
}
export function getSystemColorScheme() {
if (window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches) {
return "dark";
} else {
return "light";
}
}
export function convertFileToBase64(file: File): Promise<string> {
return new Promise<string>((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => resolve(reader.result?.toString() || "");
reader.onerror = (error) => reject(error);
});
}
export const isValidUrl = (url: string): boolean => {
try {
new URL(url);
return true;
} catch (err) {
return false;
}
};
export const downloadFileFromUrl = (url: string, filename: string) => {
const a = document.createElement("a");
a.href = url;
a.download = filename;
a.click();
a.remove();
};