export function truncate(value: string, length: number) { if (value.length > length) { return value.substring(0, length) + '...' } else { return value } } export function abbreviate(text: number) { return Intl.NumberFormat('en-US', { //@ts-ignore notation: 'compact', maximumFractionDigits: 1 }).format(text) } const https = (import.meta.env.SAFETWITCH_HTTPS.slice() === "true") const protocol = https ? 'https://' : 'http://' const rootBackendUrl = `${protocol}${import.meta.env.SAFETWITCH_BACKEND_DOMAIN}/` export async function getEndpoint(endpoint: string) { let data let language = localStorage.getItem("language") if (language === null) { language = "en" } try { const res = await fetch(rootBackendUrl + endpoint, { method: 'GET', headers: { "Accept-Language": language } }) const rawData = await res.json() if (!res.ok) { throw res } if (rawData.status !== 'ok') { throw rawData } data = rawData.data } catch (error) { throw error } return data }