fix button

main
Satur@it-depot.ru 2025-03-06 17:16:09 +03:00
parent 3a8f8e246d
commit 27eb79f91f
1 changed files with 49 additions and 4 deletions

View File

@ -351,6 +351,32 @@
.export-import-container button {
margin-left: 10px;
}
#add-record-button {
display: block;
margin: 20px auto;
width: 250px;
height: 60px;
font-size: 18px;
font-weight: bold;
color: #fff;
background: linear-gradient(90deg, #4facfe 0%, #00f2fe 100%);
border: none;
border-radius: 30px;
cursor: pointer;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
transition: all 0.3s ease;
}
#add-record-button:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
background: linear-gradient(90deg, #3d9afe 0%, #00d4fe 100%);
}
#add-record-button.dark-theme {
background: linear-gradient(90deg, #2a6eb4 0%, #1e90ff 100%);
}
#add-record-button.dark-theme:hover {
background: linear-gradient(90deg, #1e5ea4 0%, #1c7ed6 100%);
}
</style>
</head>
<body>
@ -379,7 +405,7 @@
<option value="">Все папки</option>
</select>
</div>
<button onclick="openAddModal()">Добавить запись</button>
<button id="add-record-button" onclick="openAddModal()">Добавить запись</button>
<div class="header">
<div onclick="sortInstalls('computer_name')">Имя компьютера<span class="sort-arrow"></span></div>
<div onclick="sortInstalls('rust_id')">ID подключения<span class="sort-arrow"></span></div>
@ -468,7 +494,7 @@
document.getElementById('import-label').classList.add('dark-theme');
document.getElementById('splitter').classList.add('dark-theme');
document.querySelector('.theme-toggle').classList.add('dark-theme');
document.querySelector('.theme-toggle').textContent = 'Светлая тема';
document.querySelector('#add-record-button').classList.add('dark-theme');
document.querySelectorAll('.install-item').forEach(item => item.classList.add('dark-theme'));
document.querySelector('.header').classList.add('dark-theme');
$('#folder-tree').addClass('jstree-default-dark');
@ -532,6 +558,7 @@
$('.install-item').removeClass('selected');
$(items[currentIndex]).addClass('selected');
updateNotesPanel();
$(items[currentIndex])[0].scrollIntoView({ behavior: 'smooth', block: 'nearest' });
});
});
@ -546,6 +573,7 @@
const importLabel = document.getElementById('import-label');
const splitter = document.getElementById('splitter');
const themeToggle = document.querySelector('.theme-toggle');
const addRecordButton = document.getElementById('add-record-button');
const header = document.querySelector('.header');
const installItems = document.querySelectorAll('.install-item');
const folderTree = $('#folder-tree');
@ -561,6 +589,7 @@
importLabel.classList.remove('dark-theme');
splitter.classList.remove('dark-theme');
themeToggle.classList.remove('dark-theme');
addRecordButton.classList.remove('dark-theme');
header.classList.remove('dark-theme');
installItems.forEach(item => item.classList.remove('dark-theme'));
folderTree.removeClass('jstree-default-dark');
@ -577,6 +606,7 @@
importLabel.classList.add('dark-theme');
splitter.classList.add('dark-theme');
themeToggle.classList.add('dark-theme');
addRecordButton.classList.add('dark-theme');
header.classList.add('dark-theme');
installItems.forEach(item => item.classList.add('dark-theme'));
folderTree.addClass('jstree-default-dark');
@ -706,6 +736,11 @@
let filtered = folderId ? data.filter(i => i.folder_id == folderId && i.folder_id !== null) : data;
displayInstalls(filtered);
updateNotesPanel();
// Восстанавливаем выделение после перерендера
if (selectedInstallId) {
const items = $('#installs-list .install-item');
$(`#installs-list .install-item[data-id="${selectedInstallId}"]`).addClass('selected');
}
}).fail(function(jqxhr, textStatus, error) {
console.error("Error loading installs:", textStatus, error);
$('#installs-list').html('<p>Ошибка загрузки данных. Проверьте консоль.</p>');
@ -754,6 +789,10 @@
`).join(''));
}
updateSortArrows();
// Восстанавливаем выделение после перерендера
if (selectedInstallId) {
$(`#installs-list .install-item[data-id="${selectedInstallId}"]`).addClass('selected');
}
}
function selectInstall(installId, rustId, protocol) {
@ -1079,6 +1118,7 @@
const note = $('#note-textarea').val() || '';
const install = allInstalls.find(i => i.id === selectedInstallId);
if (install) {
const currentSelectedId = selectedInstallId; // Сохраняем текущий selectedInstallId
$.ajax({
url: `${API_URL}/install/${selectedInstallId}`,
type: 'PUT',
@ -1093,8 +1133,13 @@
}),
success: function () {
console.log('Note saved successfully');
loadInstalls(selectedFolderId);
closeNoteModal();
loadInstalls(selectedFolderId); // Перезагружаем список
selectedInstallId = currentSelectedId; // Восстанавливаем selectedInstallId
closeNoteModal(); // Закрываем модальное окно
// Восстанавливаем выделение
const items = $('#installs-list .install-item');
$(`#installs-list .install-item[data-id="${selectedInstallId}"]`).addClass('selected');
updateNotesPanel();
},
error: function (xhr, status, error) {
console.error("Ошибка сохранения заметки:", status, error);