metacubexd/src/constants/index.ts

135 lines
2.5 KiB
TypeScript

import { ApexOptions } from 'apexcharts'
import byteSize from 'byte-size'
export const themes = [
'light',
'dark',
'cupcake',
'bumblebee',
'emerald',
'corporate',
'synthwave',
'retro',
'cyberpunk',
'valentine',
'halloween',
'garden',
'forest',
'aqua',
'lofi',
'pastel',
'fantasy',
'wireframe',
'black',
'luxury',
'dracula',
'cmyk',
'autumn',
'business',
'acid',
'lemonade',
'night',
'coffee',
'winter',
]
export enum ROUTES {
Overview = '/overview',
Proxies = '/proxies',
Proxyprovider = '/proxyprovider',
Rules = '/rules',
Conns = '/conns',
Log = '/logs',
Config = '/config',
}
export const CHART_MAX_XAXIS = 10
export const DEFAULT_CHART_OPTIONS: ApexOptions = {
title: { align: 'center', style: { color: 'gray' } },
chart: {
toolbar: { show: false },
zoom: { enabled: false },
animations: { easing: 'linear' },
},
noData: { text: 'Loading...' },
legend: {
fontSize: '14px',
labels: { colors: 'gray' },
itemMargin: { horizontal: 64 },
},
dataLabels: { enabled: false },
grid: { yaxis: { lines: { show: false } } },
stroke: { curve: 'smooth' },
tooltip: { enabled: false },
xaxis: {
range: CHART_MAX_XAXIS,
labels: { show: false },
axisTicks: { show: false },
},
yaxis: {
labels: {
style: { colors: 'gray' },
formatter: (val) => byteSize(val).toString(),
},
},
}
export enum LATENCY_QUALITY_MAP_HTTP {
NOT_CONNECTED = -1,
MEDIUM = 200,
HIGH = 500,
}
export enum LATENCY_QUALITY_MAP_HTTPS {
NOT_CONNECTED = -1,
MEDIUM = 800,
HIGH = 1500,
}
export enum PROXIES_PREVIEW_TYPE {
OFF = 'off',
DOTS = 'dots',
BAR = 'bar',
Auto = 'auto',
}
export enum PROXIES_ORDERING_TYPE {
NATURAL = 'orderNatural',
LATENCY_ASC = 'orderLatency_asc',
LATENCY_DESC = 'orderLatency_desc',
NAME_ASC = 'orderName_asc',
NAME_DESC = 'orderName_desc',
}
export enum LANG {
EN = 'en-US',
ZH = 'zh-CN',
}
export enum CONNECTIONS_TABLE_ACCESSOR_KEY {
Close = 'close',
ID = 'ID',
Type = 'type',
Process = 'process',
Host = 'host',
Rule = 'rules',
Chains = 'chains',
DlSpeed = 'dlSpeed',
ULSpeed = 'ulSpeed',
Download = 'dl',
Upload = 'ul',
Source = 'source',
Destination = 'destination',
}
export const CONNECTIONS_TABLE_INITIAL_COLUMN_ORDER = Object.values(
CONNECTIONS_TABLE_ACCESSOR_KEY,
)
export const CONNECTIONS_TABLE_INITIAL_COLUMN_VISIBILITY = {
...Object.fromEntries(
CONNECTIONS_TABLE_INITIAL_COLUMN_ORDER.map((i) => [i, true]),
),
[CONNECTIONS_TABLE_ACCESSOR_KEY.ID]: false,
}