Download frontend/src/components/utils.ts from AUXteam/Maxun: direct link, hf CLI and curl.
- Browser
- Download file 3.78 kB
-
https://huggingface.co/spaces/AUXteam/Maxun/resolve/main/frontend/src/components/utils.ts
- Command line
-
hf download hf://spaces/AUXteam/Maxun/frontend/src/components/utils.ts
-
curl -L -o utils.ts https://huggingface.co/spaces/AUXteam/Maxun/resolve/main/frontend/src/components/utils.ts
3.78 kB
| import { RcFile } from "antd/es/upload"; | |
| import { IStatus } from "./types/app"; | |
| export const getServerUrl = () => { | |
| return process.env.GATSBY_API_URL || "/api"; | |
| }; | |
| export function setCookie(name: string, value: any, days: number) { | |
| let expires = ""; | |
| if (days) { | |
| const date = new Date(); | |
| date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000); | |
| expires = "; expires=" + date.toUTCString(); | |
| } | |
| document.cookie = name + "=" + (value || "") + expires + "; path=/"; | |
| } | |
| export function getCookie(name: string) { | |
| const nameEQ = name + "="; | |
| const ca = document.cookie.split(";"); | |
| for (let i = 0; i < ca.length; i++) { | |
| let c = ca[i]; | |
| while (c.charAt(0) == " ") c = c.substring(1, c.length); | |
| if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); | |
| } | |
| return null; | |
| } | |
| export function setLocalStorage( | |
| name: string, | |
| value: any, | |
| stringify: boolean = true | |
| ) { | |
| if (stringify) { | |
| localStorage.setItem(name, JSON.stringify(value)); | |
| } else { | |
| localStorage.setItem(name, value); | |
| } | |
| } | |
| export function getLocalStorage(name: string, stringify: boolean = true): any { | |
| if (typeof window !== "undefined") { | |
| const value = localStorage.getItem(name); | |
| try { | |
| if (stringify) { | |
| return JSON.parse(value!); | |
| } else { | |
| return value; | |
| } | |
| } catch (e) { | |
| return null; | |
| } | |
| } else { | |
| return null; | |
| } | |
| } | |
| export function fetchJSON( | |
| url: string | URL, | |
| payload: any = {}, | |
| onSuccess: (data: any) => void, | |
| onError: (error: IStatus) => void, | |
| onFinal: () => void = () => {} | |
| ) { | |
| return fetch(url, payload) | |
| .then(function (response) { | |
| if (response.status !== 200) { | |
| console.log( | |
| "Looks like there was a problem. Status Code: " + response.status, | |
| response | |
| ); | |
| response.json().then(function (data) { | |
| console.log("Error data", data); | |
| }); | |
| onError({ | |
| status: false, | |
| message: | |
| "Connection error " + response.status + " " + response.statusText, | |
| }); | |
| return; | |
| } | |
| return response.json().then(function (data) { | |
| onSuccess(data); | |
| }); | |
| }) | |
| .catch(function (err) { | |
| console.log("Fetch Error :-S", err); | |
| onError({ | |
| status: false, | |
| message: `There was an error connecting to server. (${err}) `, | |
| }); | |
| }) | |
| .finally(() => { | |
| onFinal(); | |
| }); | |
| } | |
| export function eraseCookie(name: string) { | |
| document.cookie = name + "=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;"; | |
| } | |
| export function truncateText(text: string, length = 50) { | |
| if (text.length > length) { | |
| return text.substring(0, length) + " ..."; | |
| } | |
| return text; | |
| } | |
| export const fetchVersion = () => { | |
| const versionUrl = getServerUrl() + "/version"; | |
| return fetch(versionUrl) | |
| .then((response) => response.json()) | |
| .then((data) => { | |
| return data; | |
| }) | |
| .catch((error) => { | |
| console.error("Error:", error); | |
| return null; | |
| }); | |
| }; | |
| export const convertFilesToBase64 = async (files: RcFile[] = []) => { | |
| return Promise.all( | |
| files.map(async (file) => { | |
| return new Promise<{ name: string; content: string; type: string }>( | |
| (resolve, reject) => { | |
| const reader = new FileReader(); | |
| reader.onload = () => { | |
| // Extract base64 content from reader result | |
| const base64Content = reader.result as string; | |
| // Remove the data URL prefix (e.g., "data:image/png;base64,") | |
| const base64Data = base64Content.split(",")[1] || base64Content; | |
| resolve({ name: file.name, content: base64Data, type: file.type }); | |
| }; | |
| reader.onerror = reject; | |
| reader.readAsDataURL(file); | |
| } | |
| ); | |
| }) | |
| ); | |
| }; | |