import { error } from '@sveltejs/kit'; import ago from 's-ago'; import { browser } from '$app/environment'; export type Comment = { author: string; timestamp: number; id: string; content: string; content_html: string; }; export const server = browser ? import.meta.env.VITE_SERVER : import.meta.env.VITE_LOCAL_SERVER; export const ui_server = import.meta.env.VITE_UI_SERVER; export function timefmt(t_: number | null): string { if (!t_) { return ''; } let t = new Date(t_); if (new Date().getTime() - t.getTime() < 48 * 3600000) { return ago(t); } else { let f = new Intl.DateTimeFormat('en-US', { dateStyle: 'medium', timeStyle: 'short' }); return 'on ' + f.format(t); } } export function errorMsg(status: number, y: Object) { if ('notFound' in y) { throw error(404); } if ('suspended' in y && y.suspended) { throw error(403, 'This account is suspended.'); } if ('canRead' in y && !y.canRead) { throw error(403, 'Insufficient permissions.'); } if ('canWrite' in y && !y.canWrite) { throw error(403, 'Insufficient permissions.'); } throw error(status); }