// export const API_BASE_ADDR = import.meta.env.PROD ? "/api" : "http://localhost:8080/api" export const API_BASE_ADDR = "/api" // Lifetimes of *in-memory* authentication tokens in milliseconds export const AT_EXP_MS = 15 * 60 * 1000 // 15 min. export const CSRF_EXP_MS = 12 * 60 * 60 * 1000 // 12 h. export const REFRESH_BUF = 30 * 1000 // 30 s. // User registration password restrictions export const MIN_PASSWORD_LENGTH = 12 export const MAX_PASSWORD_LENGTH = 72 export const MIN_PASSWORD_ENTROPY = 60.0 export const ENTROPY_CLASSES: Array<[RegExp, number]> = [ [/[a-z]/, 24], // 26 [/[A-Z]/, 24], // 26 [/\d/, 10], [/[!@#$%^&*()\-_+=\[\]{}|;:'",.<>\/?`~\\]/, 32] // 40 ] export const TITLE_MAX_LENGTH = 150 export const UUID_REGEX = new RegExp( "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", "i" ) // View cookie configuration (holds UNIX timestamp value of the actual refresh token cookie's expiration date) export const VIEW_COOKIE_PATH = import.meta.env.VITE_VIEW_COOKIE_PATH || "/" export const VIEW_COOKIE_DOMAIN = import.meta.env.VITE_VIEW_COOKIE_DOMAIN || "localhost" export const COOKIE_SAME_SITE = import.meta.env.VITE_COOKIE_SAME_SITE || "strict" export const COOKIE_SECURE = import.meta.env.PROD ? true : false // Error/success notification display durations export const ERR_NOTIFICATION_DUR = 8 * 1000 // 8 s. export const SUC_NOTIFICATION_DUR = 8 * 1000 // 8 s.