mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Dynamically display lock icons
This commit is contained in:
@ -104,7 +104,7 @@
|
||||
<div id="lm_button_panel_pin_div" title="Locked = AI Configuration panel will stay open">
|
||||
<input type="checkbox" id="lm_button_panel_pin">
|
||||
<label for="lm_button_panel_pin">
|
||||
<div class="unchecked fa-solid fa-lock-open "></div>
|
||||
<div class="unchecked fa-solid fa-unlock "></div>
|
||||
<div class="checked fa-solid fa-lock "></div>
|
||||
</label>
|
||||
</div>
|
||||
@ -1791,7 +1791,7 @@
|
||||
<div id="WI_panel_pin_div" title="Locked = World Editor will stay open">
|
||||
<input type="checkbox" id="WI_panel_pin">
|
||||
<label for="WI_panel_pin">
|
||||
<div class="unchecked fa-solid fa-lock-open "></div>
|
||||
<div class="unchecked fa-solid fa-unlock "></div>
|
||||
<div class="checked fa-solid fa-lock "></div>
|
||||
</label>
|
||||
</div>
|
||||
@ -2194,7 +2194,7 @@
|
||||
<input id="your_name" name="your_name" placeholder="Enter your name" class="text_pole wide100p" maxlength="50" value="" autocomplete="off">
|
||||
<div id="your_name_button" class="menu_button fa-solid fa-check" title="Click to set a new User Name">
|
||||
</div>
|
||||
<div id="lock_user_name" class="menu_button fa-solid fa-user-lock" title="Click to lock your selected persona to the current chat. Click again to remove the lock.">
|
||||
<div id="lock_user_name" class="menu_button fa-solid fa-lock" title="Click to lock your selected persona to the current chat. Click again to remove the lock.">
|
||||
</div>
|
||||
<div id="sync_name_button" class="menu_button fa-solid fa-sync" title="Click to set user name for all messages">
|
||||
</div>
|
||||
@ -2283,7 +2283,7 @@
|
||||
<div id="rm_button_panel_pin_div" title="Locked = Character Management panel will stay open">
|
||||
<input type="checkbox" id="rm_button_panel_pin">
|
||||
<label for="rm_button_panel_pin">
|
||||
<div class="fa-solid unchecked fa-lock-open" alt=""></div>
|
||||
<div class="fa-solid unchecked fa-unlock" alt=""></div>
|
||||
<div class="fa-solid checked fa-lock" alt=""></div>
|
||||
</label>
|
||||
</div>
|
||||
|
@ -3998,6 +3998,12 @@ async function bindUserNameToPersona() {
|
||||
await getUserAvatars();
|
||||
}
|
||||
|
||||
function updateUserLockIcon() {
|
||||
const hasLock = !!chat_metadata['persona'];
|
||||
$('#lock_user_name').toggleClass('fa-lock', !hasLock);
|
||||
$('#lock_user_name').toggleClass('fa-unlock', hasLock);
|
||||
}
|
||||
|
||||
function setUserAvatar() {
|
||||
user_avatar = $(this).attr("imgfile");
|
||||
reloadUserAvatar();
|
||||
@ -4108,8 +4114,15 @@ async function deleteUserAvatar() {
|
||||
power_user.default_persona = null;
|
||||
}
|
||||
|
||||
if (avatarId === chat_metadata['persona']) {
|
||||
toastr.warning('The locked persona was deleted. You will need to set a new persona for this chat.', 'Persona deleted');
|
||||
delete chat_metadata['persona'];
|
||||
saveMetadata();
|
||||
}
|
||||
|
||||
saveSettingsDebounced();
|
||||
await getUserAvatars();
|
||||
updateUserLockIcon();
|
||||
}
|
||||
}
|
||||
|
||||
@ -4119,6 +4132,7 @@ function lockUserNameToChat() {
|
||||
delete chat_metadata['persona'];
|
||||
saveMetadata();
|
||||
toastr.info('User persona is now unlocked for this chat. Click the "Lock" again to revert.', 'Persona unlocked');
|
||||
updateUserLockIcon();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -4137,6 +4151,7 @@ function lockUserNameToChat() {
|
||||
saveSettingsDebounced();
|
||||
console.log(`Locking persona for this chat ${user_avatar}`);
|
||||
toastr.success(`User persona is locked to ${name1} in this chat`);
|
||||
updateUserLockIcon();
|
||||
}
|
||||
|
||||
eventSource.on(event_types.CHAT_CHANGED, () => {
|
||||
@ -4166,6 +4181,7 @@ eventSource.on(event_types.CHAT_CHANGED, () => {
|
||||
if (chat_metadata['persona'] && personaAvatar.length == 0) {
|
||||
console.warn('Persona avatar not found, unlocking persona');
|
||||
delete chat_metadata['persona'];
|
||||
updateUserLockIcon();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -4179,6 +4195,7 @@ eventSource.on(event_types.CHAT_CHANGED, () => {
|
||||
|
||||
// Persona avatar found, select it
|
||||
personaAvatar.trigger('click');
|
||||
updateUserLockIcon();
|
||||
});
|
||||
|
||||
//***************SETTINGS****************//
|
||||
|
Reference in New Issue
Block a user