ваше сообщение коммита

This commit is contained in:
2025-04-21 18:03:43 +03:00
parent 9482443e2d
commit d47bba1d1b
39 changed files with 7814 additions and 1425 deletions

4936
frontend/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -9,6 +9,8 @@
"preview": "vite preview",
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --ignore-pattern 'node_modules/'",
"lint:fix": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-pattern 'node_modules/'",
"lint:style": "stylelint \"**/*.{vue,css}\"",
"lint:style:fix": "stylelint \"**/*.{vue,css}\" --fix",
"format": "prettier --write \"**/*.{js,vue,json,md}\"",
"format:check": "prettier --check \"**/*.{js,vue,json,md}\""
},
@@ -34,9 +36,13 @@
"eslint-plugin-prettier": "^5.2.3",
"eslint-plugin-vue": "^9.32.0",
"globals": "^16.0.0",
"postcss-html": "^1.8.0",
"prettier": "^3.5.3",
"rollup": "^3.29.4",
"rollup-plugin-polyfill-node": "^0.12.0",
"stylelint": "^14.16.1",
"stylelint-config-prettier": "^9.0.5",
"stylelint-config-standard-vue": "^1.0.0",
"vite": "^6.2.3"
}
}

View File

@@ -634,11 +634,17 @@
const loadMessages = async (options = {}) => {
const { silent = false, initial = false, authType = null } = options;
// Усиленная проверка для предотвращения параллельного выполнения
if (messageLoading.value.isInProgress) {
console.warn('[loadMessages] Выполнение уже идет, пропуск вызова.');
return;
}
messageLoading.value.isInProgress = true; // Устанавливаем флаг НЕМЕДЛЕННО
if (messageLoading.value.isLoadingMore && !initial) return;
try {
messageLoading.value.isLoadingMore = true;
messageLoading.value.isInProgress = true;
if (!silent) isLoading.value = true;
console.log(
@@ -732,8 +738,8 @@
removeFromStorage('guestId');
}
} else if (response.data.messages && response.data.messages.length) {
// Иначе добавляем к существующим
messages.value = [...messages.value, ...response.data.messages];
// Иначе добавляем к существующим (В НАЧАЛО МАССИВА)
messages.value = [...response.data.messages, ...messages.value];
}
console.log(`Загружено ${messages.value.length} сообщений из истории`);

View File

@@ -0,0 +1,15 @@
module.exports = {
extends: [
// Используем стандартную конфигурацию для Vue (включает CSS и <style> в .vue)
'stylelint-config-standard-vue',
// Отключает правила Stylelint, конфликтующие с Prettier
'stylelint-config-prettier',
],
// Здесь можно добавить или переопределить правила
rules: {
// Пример: можно отключить правило о пустой строке перед комментариями
// 'comment-empty-line-before': null,
// Пример: требовать нижний регистр для имен анимаций
// 'keyframes-name-pattern': '^[a-z][a-z0-9-]*$',
},
};

File diff suppressed because it is too large Load Diff