renaming
This commit is contained in:
@@ -185,6 +185,8 @@
|
||||
function renderPackGrid(packId) {
|
||||
var container = document.getElementById('sp-emojis-' + packId);
|
||||
if (!container) return;
|
||||
// Preserve scroll position of the inner grid div
|
||||
var prevScroll = (container.querySelector('.emoji-grid') || {}).scrollTop || 0;
|
||||
var pack = (window.emojiAdmin.packs || []).find(function(p) { return p.id === packId; });
|
||||
var currentThumb = pack ? (pack.thumb_url || '') : '';
|
||||
var packEmojis = (window.emojiAdmin.emojis || []).filter(function(e) { return e.pack_id === packId; });
|
||||
@@ -197,7 +199,7 @@
|
||||
var btnBg = isCurrent ? 'rgba(40,167,69,0.18)' : 'rgba(255,200,0,0.15)';
|
||||
var btnClr = isCurrent ? '#4caf50' : '#ffd700';
|
||||
var btnBdr = isCurrent ? 'rgba(40,167,69,0.35)' : 'rgba(255,200,0,0.3)';
|
||||
var btnLbl = isCurrent ? '✓ Current Icon' : '⭐ Set as icon';
|
||||
var btnLbl = isCurrent ? '\u2713 Current Icon' : '\u2B50 Set as icon';
|
||||
return '<div class="emoji-card" style="position:relative;">' +
|
||||
'<button class="emoji-delete" onclick="window.emojiAdmin.deleteEmoji(' + e.id + ')" title="Delete">x</button>' +
|
||||
stickerEl(e.url, e.name, ' loading="lazy"') +
|
||||
@@ -207,6 +209,9 @@
|
||||
'</div>';
|
||||
}).join('') +
|
||||
'</div>';
|
||||
// Restore scroll position
|
||||
var newGrid = container.querySelector('.emoji-grid');
|
||||
if (newGrid && prevScroll) newGrid.scrollTop = prevScroll;
|
||||
}
|
||||
container.dataset.loaded = '1';
|
||||
}
|
||||
@@ -380,13 +385,26 @@
|
||||
var currentName = pack ? pack.name : '';
|
||||
var newName = prompt('New pack name:', currentName);
|
||||
if (!newName || newName.trim() === currentName) return;
|
||||
newName = newName.trim();
|
||||
|
||||
var backfill = confirm('Rename all stickers too? OK = rename sticker names (old_001 -> new_001) and update comments. Cancel = pack label only.');
|
||||
|
||||
fetch('/api/v2/admin/sticker-packs/' + id + '/rename', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json', 'X-CSRF-Token': csrf, 'X-Requested-With': 'XMLHttpRequest' },
|
||||
body: JSON.stringify({ name: newName.trim() })
|
||||
body: JSON.stringify({ name: newName, backfill: backfill })
|
||||
})
|
||||
.then(function(r) { return r.json(); })
|
||||
.then(function(data) { if (data.success) loadAll(); else alert('Rename failed: ' + (data.message || 'Unknown error')); })
|
||||
.then(function(data) {
|
||||
if (data.success) {
|
||||
if (backfill) {
|
||||
alert('Done! ' + (data.emojiRenamed || 0) + ' sticker(s) renamed, ' + (data.commentRowsUpdated || 0) + ' comment row(s) updated.');
|
||||
}
|
||||
loadAll();
|
||||
} else {
|
||||
alert('Rename failed: ' + (data.message || 'Unknown error'));
|
||||
}
|
||||
})
|
||||
.catch(function(err) { alert('Error: ' + err.message); });
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user