2023-11-17 20:51:13 +03:00
|
|
|
/**
|
|
|
|
* Module: Global constants.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Variable constants depending on build type.
|
|
|
|
*/
|
2023-12-13 15:24:10 +03:00
|
|
|
export const buildConstants = {
|
2023-08-29 00:34:56 +03:00
|
|
|
backend: import.meta.env.VITE_PORTAL_BACKEND as string
|
2023-07-15 17:46:19 +03:00
|
|
|
};
|
2023-11-17 20:51:13 +03:00
|
|
|
|
|
|
|
/**
|
|
|
|
* General UI timeout [in ms] for waiting for render.
|
|
|
|
*/
|
2023-08-02 18:24:17 +03:00
|
|
|
export const TIMEOUT_UI_REFRESH = 100;
|
2023-11-17 20:51:13 +03:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Timeout [in ms] for graph refresh.
|
|
|
|
*/
|
2023-09-08 02:15:20 +03:00
|
|
|
export const TIMEOUT_GRAPH_REFRESH = 200;
|
2023-07-31 22:38:58 +03:00
|
|
|
|
2023-11-17 20:51:13 +03:00
|
|
|
/**
|
|
|
|
* Exteor file extension for RSForm.
|
|
|
|
*/
|
2023-09-08 13:46:45 +03:00
|
|
|
export const EXTEOR_TRS_FILE = '.trs';
|
|
|
|
|
2023-11-17 20:51:13 +03:00
|
|
|
/**
|
|
|
|
* Resource relative URIs.
|
|
|
|
*/
|
|
|
|
export const resources = {
|
2023-12-07 23:08:49 +03:00
|
|
|
graph_font: '/DejaVu.ttf',
|
2023-12-08 00:33:47 +03:00
|
|
|
privacy_policy: '/privacy.pdf',
|
|
|
|
logo: '/logo_full.svg'
|
2023-12-07 23:08:49 +03:00
|
|
|
};
|
2023-11-17 20:51:13 +03:00
|
|
|
|
2023-12-13 15:24:10 +03:00
|
|
|
/**
|
|
|
|
* Numeric limitations.
|
|
|
|
*/
|
|
|
|
export const limits = {
|
|
|
|
alias_len: 12,
|
|
|
|
}
|
|
|
|
|
2023-12-08 19:58:16 +03:00
|
|
|
/**
|
|
|
|
* Regex patterns for data validation.
|
|
|
|
*/
|
|
|
|
export const patterns = {
|
2023-12-13 15:24:10 +03:00
|
|
|
login: '^[a-zA-Z][a-zA-Z0-9_\\-]{1,}[a-zA-Z0-9]$',
|
|
|
|
alias: `.{1,${limits.alias_len}}`
|
2023-12-08 19:58:16 +03:00
|
|
|
}
|
|
|
|
|
2023-11-17 20:51:13 +03:00
|
|
|
/**
|
|
|
|
* Youtube IDs for embedding.
|
|
|
|
*/
|
2023-08-27 23:04:57 +03:00
|
|
|
export const youtube = {
|
|
|
|
intro: '0Ty9mu9sOJo'
|
|
|
|
};
|
|
|
|
|
2023-12-18 19:42:27 +03:00
|
|
|
/**
|
2023-12-26 14:23:51 +03:00
|
|
|
* Tailwind CSS combinations.
|
2023-12-18 19:42:27 +03:00
|
|
|
* Note: using clsx in conjunction with tailwindCss is preferred to creating custom CSS
|
|
|
|
*/
|
|
|
|
export const classnames = {
|
|
|
|
flex_col: 'flex flex-col gap-3'
|
|
|
|
};
|
|
|
|
|
2023-11-17 20:51:13 +03:00
|
|
|
/**
|
|
|
|
* Constant URLs.
|
|
|
|
*/
|
2023-07-15 17:46:19 +03:00
|
|
|
export const urls = {
|
2023-07-25 20:27:29 +03:00
|
|
|
concept: 'https://www.acconcept.ru/',
|
|
|
|
exteor32: 'https://drive.google.com/open?id=1IHlMMwaYlAUBRSxU1RU_hXM5mFU9-oyK&usp=drive_fs',
|
|
|
|
exteor64: 'https://drive.google.com/open?id=1IJt25ZRQ-ZMA6t7hOqmo5cv05WJCQKMv&usp=drive_fs',
|
|
|
|
ponomarev: 'https://inponomarev.ru/textbook',
|
|
|
|
intro_video: 'https://www.youtube.com/watch?v=0Ty9mu9sOJo',
|
2023-08-03 17:57:58 +03:00
|
|
|
full_course: 'https://www.youtube.com/playlist?list=PLGe_JiAwpqu1C70ruQmCm_OWTWU3KJwDo',
|
2023-08-23 18:50:49 +03:00
|
|
|
|
2023-12-26 14:23:51 +03:00
|
|
|
git_repo: 'https://github.com/IRBorisov/ConceptPortal',
|
|
|
|
mail_portal: 'mailto:portal@acconcept.ru',
|
|
|
|
restAPI: 'https://api.portal.acconcept.ru'
|
2023-07-15 17:46:19 +03:00
|
|
|
};
|
|
|
|
|
2023-11-17 20:51:13 +03:00
|
|
|
/**
|
|
|
|
* Global unique IDs.
|
|
|
|
*/
|
2023-09-05 00:23:53 +03:00
|
|
|
export const globalIDs = {
|
2023-12-21 00:12:24 +03:00
|
|
|
tooltip: 'global-tooltip',
|
2023-12-08 00:33:47 +03:00
|
|
|
password_tooltip: 'password-tooltip',
|
2023-11-30 02:14:24 +03:00
|
|
|
main_scroll: 'main-scroll',
|
|
|
|
library_item_editor: 'library-item-editor',
|
|
|
|
constituenta_editor: 'constituenta-editor'
|
2023-12-07 23:08:49 +03:00
|
|
|
};
|
2023-09-05 00:23:53 +03:00
|
|
|
|
2023-11-17 20:51:13 +03:00
|
|
|
/**
|
|
|
|
* Prefixes for generating unique keys for lists.
|
|
|
|
*/
|
2023-07-31 22:38:58 +03:00
|
|
|
export const prefixes = {
|
2023-11-27 11:33:34 +03:00
|
|
|
page_size: 'page-size-',
|
2023-08-15 21:43:15 +03:00
|
|
|
cst_list: 'cst-list-',
|
2023-12-26 14:23:51 +03:00
|
|
|
cst_side_table: 'cst-side-table-',
|
2023-11-07 18:59:00 +03:00
|
|
|
cst_hidden_list: 'cst-hidden-list-',
|
2023-11-06 18:03:23 +03:00
|
|
|
cst_modal_list: 'cst-modal-list-',
|
2023-11-04 01:29:21 +03:00
|
|
|
cst_template_ist: 'cst-template-list-',
|
2023-09-30 12:47:27 +03:00
|
|
|
cst_wordform_list: 'cst-wordform-list-',
|
2023-08-23 18:11:42 +03:00
|
|
|
cst_status_list: 'cst-status-list-',
|
2023-10-06 14:39:32 +03:00
|
|
|
cst_match_mode_list: 'cst-match-mode-list-',
|
|
|
|
cst_source_list: 'cst-source-list-',
|
2023-11-23 19:34:37 +03:00
|
|
|
cst_delete_list: 'cst-delete-list-',
|
|
|
|
cst_dependant_list: 'cst-dependant-list-',
|
|
|
|
csttype_list: 'csttype-',
|
2023-10-23 18:22:55 +03:00
|
|
|
library_filters_list: 'library-filters-list-',
|
2023-08-23 18:11:42 +03:00
|
|
|
topic_list: 'topic-list-',
|
2023-09-29 15:33:32 +03:00
|
|
|
library_list: 'library-list-',
|
2023-10-23 18:22:55 +03:00
|
|
|
wordform_list: 'wordform-list-',
|
|
|
|
rsedit_btn: 'rsedit-btn-'
|
2023-12-13 14:32:57 +03:00
|
|
|
};
|