ваше сообщение коммита
This commit is contained in:
@@ -145,7 +145,7 @@ const handleWalletAuth = async () => {
|
||||
const disconnectWallet = async () => {
|
||||
console.log('[BaseLayout] Выполняется выход из системы...');
|
||||
try {
|
||||
await api.post('/api/auth/logout');
|
||||
await api.post('/auth/logout');
|
||||
showSuccessMessage('Вы успешно вышли из системы');
|
||||
removeFromStorage('guestMessages');
|
||||
removeFromStorage('hasUserSentMessage');
|
||||
|
||||
@@ -488,6 +488,33 @@ async function handleAiReply() {
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.chat-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100vh;
|
||||
max-height: 100vh;
|
||||
min-height: 0;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.chat-messages {
|
||||
flex: 1 1 auto;
|
||||
overflow-y: auto;
|
||||
position: relative;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.chat-input {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
margin-bottom: 12px;
|
||||
margin-top: 8px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
border-radius: 12px 12px 0 0;
|
||||
box-shadow: 0 -2px 8px rgba(0,0,0,0.04);
|
||||
}
|
||||
|
||||
.chat-container {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
@@ -714,33 +741,61 @@ async function handleAiReply() {
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.chat-container {
|
||||
margin: var(--spacing-xs) auto;
|
||||
.chat-input {
|
||||
position: fixed !important;
|
||||
left: 0 !important;
|
||||
right: 0 !important;
|
||||
bottom: 0 !important;
|
||||
width: 100vw !important;
|
||||
z-index: 1000 !important;
|
||||
margin: 0 !important;
|
||||
border-radius: 12px 12px 0 0 !important;
|
||||
}
|
||||
|
||||
.chat-messages {
|
||||
padding: var(--spacing-sm);
|
||||
padding-bottom: 70px !important; /* чтобы сообщения не перекрывались input */
|
||||
max-height: calc(100vh - 70px) !important;
|
||||
overflow-y: auto !important;
|
||||
}
|
||||
|
||||
.input-area {
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chat-input {
|
||||
position: fixed !important;
|
||||
left: 0 !important;
|
||||
right: 0 !important;
|
||||
bottom: 0 !important;
|
||||
width: 100vw !important;
|
||||
z-index: 1000 !important;
|
||||
margin: 0 !important;
|
||||
border-radius: 12px 12px 0 0 !important;
|
||||
padding: 8px 12px !important;
|
||||
background: #f8f8f8 !important;
|
||||
border-top: 1px solid #eee !important;
|
||||
box-sizing: border-box !important;
|
||||
}
|
||||
|
||||
.chat-icon-btn {
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
.chat-messages {
|
||||
padding-bottom: 70px !important; /* чтобы сообщения не перекрывались input */
|
||||
max-height: calc(100vh - 70px) !important;
|
||||
overflow-y: auto !important;
|
||||
box-sizing: border-box !important;
|
||||
}
|
||||
|
||||
.chat-icon-btn svg {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.preview-item {
|
||||
font-size: var(--font-size-xs);
|
||||
.chat-container {
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
height: 100vh !important;
|
||||
max-height: 100vh !important;
|
||||
min-height: 0 !important;
|
||||
box-sizing: border-box !important;
|
||||
}
|
||||
}
|
||||
|
||||
.input-area textarea {
|
||||
flex: 1 1 0%;
|
||||
min-width: 0;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.ai-spinner {
|
||||
animation: ai-spin 1s linear infinite;
|
||||
}
|
||||
|
||||
@@ -182,11 +182,25 @@ onBeforeUnmount(() => {
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.header-text {
|
||||
display: none; /* Hide text on very small screens */
|
||||
.title {
|
||||
font-size: 1em;
|
||||
text-align: left;
|
||||
word-break: break-word;
|
||||
}
|
||||
.subtitle {
|
||||
font-size: 0.7em;
|
||||
text-align: left;
|
||||
word-break: break-word;
|
||||
}
|
||||
.header-content {
|
||||
justify-content: flex-end; /* Align button to the right */
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.header-text {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
text-align: left;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -127,7 +127,7 @@ async function submitImport() {
|
||||
return obj;
|
||||
});
|
||||
try {
|
||||
const resp = await fetch('/api/users/import', {
|
||||
const resp = await fetch('/users/import', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify(contacts)
|
||||
|
||||
@@ -58,9 +58,9 @@ async function save() {
|
||||
return;
|
||||
}
|
||||
if (props.rule && props.rule.id) {
|
||||
await axios.put(`/api/settings/ai-assistant-rules/${props.rule.id}`, { name: name.value, description: description.value, rules });
|
||||
await axios.put(`/settings/ai-assistant-rules/${props.rule.id}`, { name: name.value, description: description.value, rules });
|
||||
} else {
|
||||
await axios.post('/api/settings/ai-assistant-rules', { name: name.value, description: description.value, rules });
|
||||
await axios.post('/settings/ai-assistant-rules', { name: name.value, description: description.value, rules });
|
||||
}
|
||||
emit('close', true);
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@ const getRagResultClass = () => {
|
||||
const refreshStatus = async () => {
|
||||
loading.value = true;
|
||||
try {
|
||||
const response = await axios.get('/api/monitoring');
|
||||
const response = await axios.get('/monitoring');
|
||||
monitoringData.value = response.data;
|
||||
lastUpdate.value = new Date().toLocaleString('ru-RU');
|
||||
} catch (e) {
|
||||
@@ -133,7 +133,7 @@ const testRAG = async () => {
|
||||
ragTesting.value = true;
|
||||
ragResult.value = null;
|
||||
try {
|
||||
const response = await axios.post('/api/rag/answer', {
|
||||
const response = await axios.post('/rag/answer', {
|
||||
tableId: 28,
|
||||
question: ragQuestion.value,
|
||||
userTags: [],
|
||||
|
||||
@@ -57,7 +57,7 @@ const emit = defineEmits(['close', 'success']);
|
||||
try {
|
||||
isLoading.value = true;
|
||||
error.value = '';
|
||||
const response = await axios.post('/api/auth/email/request', {
|
||||
const response = await axios.post('/auth/email/request', {
|
||||
email: email.value,
|
||||
});
|
||||
if (response.data.success) {
|
||||
@@ -76,7 +76,7 @@ const emit = defineEmits(['close', 'success']);
|
||||
try {
|
||||
isLoading.value = true;
|
||||
error.value = '';
|
||||
const response = await axios.post('/api/auth/email/verify-code', {
|
||||
const response = await axios.post('/auth/email/verify-code', {
|
||||
email: email.value,
|
||||
code: code.value,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user