mirror of
https://github.com/usememos/memos.git
synced 2025-06-05 22:09:59 +02:00
40 lines
984 B
TypeScript
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();
|
|
};
|