Files
daedalOS/utils/constants.ts

236 lines
4.9 KiB
TypeScript
Raw Normal View History

import type { Size } from "components/system/Window/RndWindow/useResizable";
2022-03-13 13:32:44 -07:00
import type { AsyncZipOptions } from "fflate";
2021-03-27 21:28:13 -07:00
export const BASE_2D_CONTEXT_OPTIONS: CanvasRenderingContext2DSettings = {
alpha: false,
desynchronized: true,
};
export const DEFAULT_LOCALE = "en";
2021-04-10 22:31:47 -07:00
2021-08-14 22:13:55 -07:00
export const DEFAULT_THEME = "defaultTheme";
2022-03-13 13:58:05 -07:00
export const THIN_SCROLLBAR_WIDTH = 13;
2021-03-27 21:28:13 -07:00
export const DEFAULT_WINDOW_SIZE: Size = {
2022-01-13 22:49:54 -08:00
height: 300,
width: 405,
2021-03-27 21:28:13 -07:00
};
export const FOCUSABLE_ELEMENT = { tabIndex: -1 };
2022-02-15 12:53:07 -08:00
export const FS_HANDLES = "FileSystemAccessHandles";
2021-11-13 22:26:22 -08:00
export const HOME = "/Users/Public";
2022-04-22 13:32:38 -07:00
export const ICON_GIF_SECONDS = 2;
export const ICON_GIF_FPS = 24;
export const IMAGE_FILE_EXTENSIONS = new Set([
2022-04-25 22:10:30 -07:00
".ani",
".apng",
".avif",
".bmp",
".cur",
".gif",
".ico",
".jfif",
".jif",
".jpe",
".jpeg",
".jpg",
".pjp",
".pjpeg",
".png",
2022-04-10 09:58:42 -07:00
".svg",
".webp",
".xbm",
]);
2021-03-27 21:28:13 -07:00
2021-10-02 22:13:09 -07:00
export const INVALID_FILE_CHARACTERS = /["*/:<>?\\|]/g;
2021-10-09 22:25:51 -07:00
export const MAX_FILE_NAME_LENGTH = 223;
2021-07-31 21:17:00 -07:00
export const MENU_SEPERATOR = { seperator: true };
2021-03-27 21:28:13 -07:00
export const MILLISECONDS_IN_SECOND = 1000;
2021-04-24 21:35:04 -07:00
2022-05-12 21:40:07 -07:00
export const MILLISECONDS_IN_DAY = 86400000;
2022-04-30 22:40:21 -07:00
export const EXTRACTABLE_EXTENSIONS = new Set([
".001",
".7z",
".ace",
".apk",
".appx",
".arj",
".bz2",
".bzip2",
".cab",
".chm",
".chw",
".cpio",
".deb",
".dll",
".dmg",
".doc",
".docx",
".epub",
".esd",
".exe",
".flv",
".gz",
".gzip",
".hfs",
".hxs",
".img",
".ipa",
".jar",
".lha",
".lit",
".lzh",
".lzma",
".mbr",
".msi",
".ntfs",
".ods",
".odt",
".ova",
".pkg",
".ppt",
".qcow",
".qcow2",
".r00",
".rar",
".rpm",
".squashfs",
".swf",
".swm",
".sys",
".tar",
".taz",
".tgz",
".txz",
".udf",
".vdi",
".vhd",
".vhdx",
".vmdk",
".wim",
".xar",
".xip",
".xls",
".xlsx",
".xpi",
".xz",
".z",
".zipx",
]);
2021-06-12 22:03:04 -07:00
export const MOUNTABLE_EXTENSIONS = new Set([".iso", ".jsdos", ".wsz", ".zip"]);
2021-07-03 23:08:32 -07:00
export const MP3_MIME_TYPE = "audio/mpeg";
export const NON_BREAKING_HYPHEN = "\u2011";
2021-07-10 21:32:14 -07:00
export const ONE_TIME_PASSIVE_EVENT = {
once: true,
passive: true,
} as AddEventListenerOptions;
2021-08-14 23:14:46 -07:00
export const PREVENT_SCROLL = { preventScroll: true };
export const PROCESS_DELIMITER = "__";
2021-05-01 23:17:13 -07:00
2022-01-02 00:58:12 -08:00
export const SAVE_PATH = `${HOME}/Snapshots`;
2021-08-14 22:34:02 -07:00
2021-09-11 22:11:58 -07:00
export const SHORTCUT_APPEND = " - Shortcut";
export const SHORTCUT_EXTENSION = ".url";
2021-09-25 21:44:16 -07:00
export const SYSTEM_FILES = new Set(["desktop.ini"]);
export const SYSTEM_PATHS = new Set(["/.deletedFiles.log"]);
2021-07-17 22:46:03 -07:00
2021-12-25 22:42:40 -08:00
export const DESKTOP_PATH = `${HOME}/Desktop`;
2021-09-11 21:39:50 -07:00
2021-07-10 23:31:45 -07:00
export const TRANSITIONS_IN_MILLISECONDS = {
DOUBLE_CLICK: 500,
LONG_PRESS: 500,
2021-10-09 22:45:53 -07:00
START_MENU: 450,
2021-07-10 23:31:45 -07:00
WINDOW: 250,
};
2021-09-25 22:51:56 -07:00
2021-11-13 22:26:22 -08:00
export const ONE_DAY_IN_MILLISECONDS = 86400000;
2022-05-14 19:47:10 -07:00
export const AUDIO_FILE_EXTENSIONS = new Set([".oga", ".wav"]);
2021-09-25 22:51:56 -07:00
export const VIDEO_FILE_EXTENSIONS = new Set([
2022-04-26 22:27:25 -07:00
".m4v",
2021-09-25 22:51:56 -07:00
".mkv",
".mp4",
".ogg",
".ogm",
".ogv",
".webm",
]);
2021-11-20 23:15:26 -08:00
2022-05-14 19:47:10 -07:00
export const MEDIA_FILE_EXTENSIONS = new Set([
...AUDIO_FILE_EXTENSIONS,
...VIDEO_FILE_EXTENSIONS,
]);
2022-03-13 13:46:47 -07:00
export const ROOT_NAME = "My PC";
export const ROOT_SHORTCUT = `${ROOT_NAME}.url`;
2021-12-25 22:24:18 -08:00
export const ICON_PATH = "/System/Icons";
2022-03-27 01:10:25 -07:00
export const USER_ICON_PATH = `${HOME}/Icons`;
2021-12-25 22:24:18 -08:00
export const ICON_CACHE = `${USER_ICON_PATH}/Cache`;
2022-04-05 20:19:51 -07:00
export const SHORTCUT_ICON = `${ICON_PATH}/shortcut.webp`;
2021-12-25 22:24:18 -08:00
2022-04-05 20:19:51 -07:00
export const FOLDER_ICON = `${ICON_PATH}/folder.webp`;
2021-11-20 23:15:26 -08:00
2022-04-05 20:19:51 -07:00
export const FOLDER_BACK_ICON = `${ICON_PATH}/folder_back.webp`;
2022-03-26 21:06:24 -07:00
2022-04-05 20:19:51 -07:00
export const FOLDER_FRONT_ICON = `${ICON_PATH}/folder_front.webp`;
2022-03-26 21:06:24 -07:00
2022-04-16 22:44:27 -07:00
export const COMPRESSED_FOLDER_ICON = `${ICON_PATH}/compressed.webp`;
2022-04-05 20:19:51 -07:00
export const MOUNTED_FOLDER_ICON = `${ICON_PATH}/mounted.webp`;
2021-12-11 21:53:42 -08:00
2022-04-05 20:19:51 -07:00
export const NEW_FOLDER_ICON = `${ICON_PATH}/new_folder.webp`;
2021-11-20 23:15:26 -08:00
2022-03-17 19:59:46 -07:00
export const UNKNOWN_ICON =
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAB0ElEQVR42u2ZVWLbQBiEp/K6DOpb+LF4ip47oCuULpAYH3uAlcbMNOZpm0lsizWz+/3CgEc9aiuFHz9/YYVIcjAAkODcYYDoTyPQHZse7m0E49tLkid/8rz4BuD7RgFIYpW+fvmMXStJEvz+/RuvXr1KG41mVhT5RiECRMUYsUuF0Nv18+fPcXp6ktbrjSzPhRBCDxxUpVKpG+Ls7DSt1eprhwjYWwAdJQD9EGftELV2iCiHCAQMAvT04sVznJ+fpdVqNcuj1hOBJj0wCvECFxcXaeWhIuEUYFADAGZCXF5dpg/3DxmA99YIZVmGRXr58lVqi1CMER8+fOh+pkUS5XIZd7d3ylEIViI5M7wCITqa1wOAtDVPKD1A45andC1ES/N6DZCuzKsIWZr3RoikMK4jZGleD2BsntDOA74tT0gIOZrXEfJmXiti24KleBi1M09SThBIU/P6mZiW5qEXMW3NUzuMGrc8NYRssSE0hFyZVxFyLVgdIcOW51oIWZqHfj9ga15+rOLb8lIRg47m9RoQ/R+eeb0GaGleR8i15XWEqL5VFIIJ87V5u70nvrm+AUF0/8nx4ZlxgOj+9KeTk+Oz8/rrYnIYBAoWeNSj9qwWS/T9vUU9j2EAAAAASUVORK5CYII=";
export const UNKNOWN_ICON_PATH = `${ICON_PATH}/unknown.png`;
export const DEFAULT_SCROLLBAR_WIDTH = 17;
export const TASKBAR_HEIGHT = 30;
2022-02-25 20:05:25 -08:00
export const PACKAGE_DATA = {
alias: "daedalOS",
author: "Dustin Brett",
description: "Desktop environment in the browser",
license: "MIT",
version: "2.0.0",
};
2022-03-13 13:32:44 -07:00
export const BASE_ZIP_CONFIG: AsyncZipOptions = {
consume: true,
level: 0,
mem: 8,
};
2022-04-15 21:24:58 -07:00
export const HIGH_PRIORITY_REQUEST = { priority: "high" } as RequestInit;
export const HIGH_PRIORITY_ELEMENT = {
fetchpriority: "high",
} as React.HTMLAttributes<HTMLElement>;