mirror of
				https://github.com/SillyTavern/SillyTavern.git
				synced 2025-06-05 21:59:27 +02:00 
			
		
		
		
	Merge branch 'dev' of https://github.com/SillyLossy/TavernAI into dev
This commit is contained in:
		| @@ -788,7 +788,7 @@ | ||||
|  | ||||
|         <div id="rightNavHolder" class="drawer" style="z-index:3001;"> | ||||
|             <div id="unimportantYes" class="drawer-toggle drawer-header"> | ||||
|                 <div class="drawer-icon icon-idcard closedIcon"></div> | ||||
|                 <div id="rightNavDrawerIcon" class="drawer-icon icon-idcard closedIcon"></div> | ||||
|             </div> | ||||
|             <nav id="right-nav-panel" class="drawer-content closedDrawer"> | ||||
|                 <div id="right-nav-panel-tabs"> | ||||
|   | ||||
| @@ -4038,24 +4038,18 @@ $(document).ready(function () { | ||||
|     }); | ||||
|  | ||||
|     $('.drawer-toggle').click(function () { | ||||
|         //$('#top-settings-holder').find('.open').slideToggle(0, "swing"); | ||||
|         var icon = $(this).find('.drawer-icon'); | ||||
|         var drawer = $(this).parent().find('.drawer-content'); | ||||
|         var drawerWasOpenAlready = $(this).parent().find('.drawer-content').hasClass('openDrawer'); | ||||
|         var iconWasOpenAlready = $(this).find('.drawer-icon').hasClass('openicon'); | ||||
|         console.log('Draw Open? ' + drawerWasOpenAlready + ' Icon Open? ' + iconWasOpenAlready); | ||||
|  | ||||
|         if (!drawerWasOpenAlready) { | ||||
|             $('.openDrawer').slideToggle(200, "swing")                                      //close all open drawers | ||||
|             $('.openIcon').toggleClass('closedIcon openIcon');                  //set all icons   to closed state | ||||
|             $('.openDrawer').toggleClass('closedDrawer openDrawer');            //set all drawers to closed state | ||||
|             console.log('drawer was closed, so opening'); | ||||
|             $('.openDrawer').not('.pinnedOpen').slideToggle(200, "swing"); | ||||
|             $('.openIcon').toggleClass('closedIcon openIcon'); | ||||
|             $('.openDrawer').not('.pinnedOpen').toggleClass('closedDrawer openDrawer'); | ||||
|             icon.toggleClass('openIcon closedIcon'); | ||||
|             drawer.toggleClass('openDrawer closedDrawer');                      //mark selected drawer as open if closed | ||||
|             $(this).closest('.drawer').find('.drawer-content').slideToggle(200, "swing");   //open selected drawer | ||||
|  | ||||
|             drawer.toggleClass('openDrawer closedDrawer'); | ||||
|             $(this).closest('.drawer').find('.drawer-content').slideToggle(200, "swing"); | ||||
|         } else if (drawerWasOpenAlready) { | ||||
|             console.log('found the drawer was already open, so closing'); | ||||
|             icon.toggleClass('closedIcon openIcon'); | ||||
|             $('.openDrawer').slideToggle(200, "swing"); | ||||
|             drawer.toggleClass('closedDrawer openDrawer'); | ||||
| @@ -4065,14 +4059,14 @@ $(document).ready(function () { | ||||
|     $("html").click(function (e) { | ||||
|         var clickTarget = $(e.target); | ||||
|         var targetParentHasOpenDrawer = clickTarget.parents('.openDrawer').length; | ||||
|         console.log('clicking ' + clickTarget + ' parents have OpenDrawer? ' + targetParentHasOpenDrawer); | ||||
|         if (clickTarget.hasClass('drawer-icon') == false && !clickTarget.hasClass('openDrawer')) {                         // don't run this check on drawer icons, as causes insta-closes | ||||
|             if (jQuery.find('.openDrawer').length !== 0) {                          // only run if opendrawers actually exist | ||||
|                 if (targetParentHasOpenDrawer === 0) {                              // check if clicked target is NOT part of an OpenDrawer, and if so... | ||||
|         if (clickTarget.hasClass('drawer-icon') == false && !clickTarget.hasClass('openDrawer')) { | ||||
|             if (jQuery.find('.openDrawer').length !== 0) { | ||||
|                 if (targetParentHasOpenDrawer === 0) { | ||||
|                     console.log($('.openDrawer').not('.pinnedOpen').length); | ||||
|                     $('.openDrawer').not('.pinnedOpen').slideToggle(200, "swing"); | ||||
|                     $('.openIcon').toggleClass('closedIcon openIcon'); | ||||
|                     $('.openDrawer').not('.pinnedOpen').toggleClass('closedDrawer openDrawer'); | ||||
|  | ||||
|                     $('.openDrawer').slideToggle(200, "swing")                          //close all open drawers | ||||
|                     $('.openIcon').toggleClass('closedIcon openIcon');                  //set all icons   to closed state | ||||
|                     $('.openDrawer').toggleClass('closedDrawer openDrawer');            //set all drawers to closed state | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|   | ||||
| @@ -262,9 +262,7 @@ function isUrlOrAPIKey(string) { | ||||
|  | ||||
| $("document").ready(function () { | ||||
|  | ||||
| 	// read the state of Nav Lock and whether the nav was open or not before page load. | ||||
| 	$(PanelPin).prop('checked', LoadLocalBool("NavLockOn")); | ||||
| 	if (LoadLocalBool("NavLockOn") == true) { $(NavToggle).prop("checked", LoadLocalBool("NavOpened")); } | ||||
|  | ||||
| 	// read the state of AutoConnect and AutoLoadChat. | ||||
| 	$(AutoConnectCheckbox).prop("checked", LoadLocalBool("AutoConnectEnabled")); | ||||
| 	$(AutoLoadChatCheckbox).prop("checked", LoadLocalBool("AutoLoadChatEnabled")); | ||||
| @@ -275,23 +273,49 @@ $("document").ready(function () { | ||||
| 	$("#main_api").change(function () { RA_autoconnect(); }); | ||||
| 	$("#api_button").click(function () { setTimeout(RA_checkOnlineStatus, 100); }); | ||||
|  | ||||
| 	//save NavLock prefs and record state of the Nav being open or closed | ||||
| 	$(RightNavPanel).on("change", function () { | ||||
| 		if ($(RightNavPanel).hasClass('openDrawer')) { | ||||
| 			SaveLocal("NavOpened", true); | ||||
| 		} else { SaveLocal("NavOpened", false); } | ||||
| 	//toggle pin class when lock toggle clicked | ||||
| 	$(PanelPin).on("click", function () { | ||||
| 		SaveLocal("NavLockOn", $(PanelPin).prop("checked")); | ||||
| 		if ($(PanelPin).prop("checked") == true) { | ||||
| 			console.log('adding pin class to right nav'); | ||||
| 			$(RightNavPanel).addClass('pinnedOpen'); | ||||
| 		} else { | ||||
| 			console.log('removing pin class from right nav'); | ||||
| 			$(RightNavPanel).removeClass('pinnedOpen'); | ||||
| 		} | ||||
| 	}); | ||||
|  | ||||
| 	$(PanelPin).on("change", function () { SaveLocal("NavLockOn", $(PanelPin).prop("checked")); }); | ||||
| 	// read the state of Nav Lock and apply to rightnav classlist | ||||
| 	$(PanelPin).prop('checked', LoadLocalBool("NavLockOn")); | ||||
| 	if (LoadLocalBool("NavLockOn") == true) { | ||||
| 		console.log('setting pin class via local var'); | ||||
| 		$(RightNavPanel).addClass('pinnedOpen'); | ||||
| 	} | ||||
| 	if ($(PanelPin).prop('checked' == true)) { | ||||
| 		console.log('setting pin class via checkbox state'); | ||||
| 		$(RightNavPanel).addClass('pinnedOpen'); | ||||
| 	} | ||||
|  | ||||
| 	//save state of nav being open or closed | ||||
| 	$("#rightNavDrawerIcon").on("click", function () { | ||||
| 		if (!$("#rightNavDrawerIcon").hasClass('openIcon')) { | ||||
| 			SaveLocal('NavOpened', 'true'); | ||||
| 		} else { SaveLocal('NavOpened', 'false'); } | ||||
| 	}); | ||||
|  | ||||
| 	if (LoadLocalBool("NavLockOn") == true && LoadLocalBool("NavOpened") == true) { | ||||
| 		$("#rightNavDrawerIcon").click(); | ||||
| 	} else { | ||||
| 		console.log('didnt see reason to open nav on load: ' + | ||||
| 			LoadLocalBool("NavLockOn") | ||||
| 			+ ' nav open pref' + | ||||
| 			LoadLocalBool("NavOpened" == true)); | ||||
| 	} | ||||
|  | ||||
| 	//save AutoConnect and AutoLoadChat prefs | ||||
| 	$(AutoConnectCheckbox).on("change", function () { SaveLocal("AutoConnectEnabled", $(AutoConnectCheckbox).prop("checked")); }); | ||||
| 	$(AutoLoadChatCheckbox).on("change", function () { SaveLocal("AutoLoadChatEnabled", $(AutoLoadChatCheckbox).prop("checked")); }); | ||||
|  | ||||
| 	$("#rm_button_extensions").click(function () { | ||||
| 		SaveLocal('SelectedNavTab', 'rm_button_extensions'); | ||||
| 	}); | ||||
| 	$("#rm_button_settings").click(function () { SaveLocal('SelectedNavTab', 'rm_button_settings'); }); | ||||
| 	$(SelectedCharacterTab).click(function () { SaveLocal('SelectedNavTab', 'rm_button_selected_ch'); }); | ||||
| 	$("#rm_button_characters").click(function () {			//if char list is clicked, in addition to saving it... | ||||
| 		SaveLocal('SelectedNavTab', 'rm_button_characters'); | ||||
| @@ -337,7 +361,10 @@ $("document").ready(function () { | ||||
| 			// Ctrl+Enter for Regeneration Last Response | ||||
| 			if (is_send_press == false) { | ||||
|  | ||||
| 				Generate("regenerate"); | ||||
| 				$('#option_regenerate').click(); | ||||
| 				$('#options').hide(); | ||||
| 				//setTimeout(function () { $('#chat').click(); }, 50) //needed to remove the options menu popping up.. | ||||
| 				//Generate("regenerate"); | ||||
| 			} | ||||
| 		} | ||||
| 		if (event.ctrlKey && event.key == "ArrowUp") { | ||||
|   | ||||
| @@ -5,7 +5,9 @@ export function SaveLocal(target, val) { | ||||
| 	console.log('SaveLocal -- ' + target + ' : ' + val); | ||||
| } | ||||
| export function LoadLocal(target) { | ||||
| 	console.log('LoadLocal -- ' + target); | ||||
| 	return localStorage.getItem(target); | ||||
|  | ||||
| } | ||||
| export function LoadLocalBool(target) { | ||||
| 	let result = localStorage.getItem(target) === 'true'; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user