Merge pull request #2983 from SillyTavern/rename-presets Add ability to rename TC presets

8f965aeec6dc42dc397944c23892cd372c3e3f64

Cohee <18619528+Cohee1207@users.noreply.github.com>

Signed
3 files changed, +121 -74Showing whitespace changes
public/index.html+113 -62
@@ -7,6 +7,7 @@
7 <meta charset="utf-8">7 <meta charset="utf-8">
8 <meta name="viewport" content="width=device-width, viewport-fit=cover, initial-scale=1, maximum-scale=1.0, user-scalable=no, interactive-widget=resizes-content">8 <meta name="viewport" content="width=device-width, viewport-fit=cover, initial-scale=1, maximum-scale=1.0, user-scalable=no, interactive-widget=resizes-content">
9 <meta name="apple-mobile-web-app-capable" content="yes">9 <meta name="apple-mobile-web-app-capable" content="yes">
10 <meta name="mobile-web-app-capable" content="yes">
10 <meta name="darkreader-lock">11 <meta name="darkreader-lock">
11 <meta name="robots" content="noindex, nofollow" />12 <meta name="robots" content="noindex, nofollow" />
12 <style>13 <style>
@@ -87,97 +88,134 @@
87 <div class="flex-container flexNoGap" id="ai_response_configuration">88 <div class="flex-container flexNoGap" id="ai_response_configuration">
88 <div id="respective-presets-block" class="width100p">89 <div id="respective-presets-block" class="width100p">
89 <div id="kobold_api-presets">90 <div id="kobold_api-presets">
90 <h4 class="margin0"><span data-i18n="kobldpresets">Kobold Presets</span>91 <div class="margin0 title_restorable standoutHeader">
92 <strong>
93 <span data-i18n="kobldpresets">Kobold Presets</span>
91 <a href="https://docs.sillytavern.app/usage/api-connections/koboldai/" class="notes-link" target="_blank">94 <a href="https://docs.sillytavern.app/usage/api-connections/koboldai/" class="notes-link" target="_blank">
92 <span class="fa-solid fa-circle-question note-link-span"></span>95 <span class="fa-solid fa-circle-question note-link-span"></span>
93 </a>96 </a>
94 </h4>97 </strong>
98
99 <div class="flex-container gap3px">
100 <div data-preset-manager-import="kobold" class="margin0 menu_button_icon menu_button" title="Import preset" data-i18n="[title]Import preset">
101 <i class="fa-fw fa-solid fa-file-import"></i>
102 </div>
103 <div data-preset-manager-export="kobold" class="margin0 menu_button_icon menu_button" title="Export preset" data-i18n="[title]Export preset">
104 <i class="fa-fw fa-solid fa-file-export"></i>
105 </div>
106 <div data-preset-manager-delete="kobold" class="margin0 menu_button_icon menu_button" title="Delete the preset" data-i18n="[title]Delete the preset">
107 <i class="fa-fw fa-solid fa-trash-can"></i>
108 </div>
109 </div>
110 </div>
95 <div class="flex-container flexNoGap">111 <div class="flex-container flexNoGap">
96 <select id="settings_preset" data-preset-manager-for="kobold" class="flex1 text_pole">112 <select id="settings_preset" data-preset-manager-for="kobold" class="flex1 text_pole">
97 <option value="gui" data-i18n="guikoboldaisettings">GUI KoboldAI Settings</option>113 <option value="gui" data-i18n="guikoboldaisettings">GUI KoboldAI Settings</option>
98 </select>114 </select>
99 <div class="flex-container marginLeft5 ">115 <div class="flex-container marginLeft5 gap3px">
100 <input type="file" hidden data-preset-manager-file="kobold" accept=".json, .settings">116 <input type="file" hidden data-preset-manager-file="kobold" accept=".json, .settings">
101 <i data-preset-manager-update="kobold" class="menu_button fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i>117 <i data-preset-manager-update="kobold" class="menu_button fa-fw fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i>
102 <i data-preset-manager-new="kobold" class="menu_button fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i>118 <i data-preset-manager-rename="kobold" class="menu_button fa-fw fa-pencil fa-solid" title="Rename current preset" data-i18n="[title]Rename current preset"></i>
103 <i data-preset-manager-import="kobold" class="menu_button fa-solid fa-file-import" title="Import preset" data-i18n="[title]Import preset"></i>119 <i data-preset-manager-new="kobold" class="menu_button fa-fw fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i>
104 <i data-preset-manager-export="kobold" class="menu_button fa-solid fa-file-export" title="Export preset" data-i18n="[title]Export preset"></i>120 <i data-preset-manager-restore="kobold" class="menu_button fa-fw fa-solid fa-recycle" title="Restore current preset" data-i18n="[title]Restore current preset"></i>
105 <i data-preset-manager-restore="kobold" class="menu_button fa-solid fa-recycle" title="Restore current preset" data-i18n="[title]Restore current preset"></i>
106 <i data-preset-manager-delete="kobold" class="menu_button fa-solid fa-trash-can" title="Delete the preset" data-i18n="[title]Delete the preset"></i>
107 </div>121 </div>
108 </div>122 </div>
109 </div>123 </div>
110 <div id="novel_api-presets">124 <div id="novel_api-presets">
111 <h4 class="margin0">125 <div class="margin0 title_restorable standoutHeader">
126 <strong>
112 <span data-i18n="novelaipresets">NovelAI Presets</span>127 <span data-i18n="novelaipresets">NovelAI Presets</span>
113 <a href="https://docs.sillytavern.app/usage/api-connections/novelai/" class="notes-link" target="_blank">128 <a href="https://docs.sillytavern.app/usage/api-connections/novelai/" class="notes-link" target="_blank">
114 <span class="fa-solid fa-circle-question note-link-span"></span>129 <span class="fa-solid fa-circle-question note-link-span"></span>
115 </a>130 </a>
116 </h4>131 </strong>
132
133 <div class="flex-container gap3px">
134 <div data-preset-manager-import="novel" class="margin0 menu_button_icon menu_button" title="Import preset" data-i18n="[title]Import preset">
135 <i class="fa-fw fa-solid fa-file-import"></i>
136 </div>
137 <div data-preset-manager-export="novel" class="margin0 menu_button_icon menu_button" title="Export preset" data-i18n="[title]Export preset">
138 <i class="fa-fw fa-solid fa-file-export"></i>
139 </div>
140 <div data-preset-manager-delete="novel" class="margin0 menu_button_icon menu_button" title="Delete the preset" data-i18n="[title]Delete the preset">
141 <i class="fa-fw fa-solid fa-trash-can"></i>
142 </div>
143 </div>
144 </div>
117 <div class="flex-container flexNoGap">145 <div class="flex-container flexNoGap">
118 <select id="settings_preset_novel" class="flex1 text_pole" data-preset-manager-for="novel">146 <select id="settings_preset_novel" class="flex1 text_pole" data-preset-manager-for="novel">
119 <option value="gui" data-i18n="Default">Default</option>147 <option value="gui" data-i18n="Default">Default</option>
120 </select>148 </select>
121 <div class="flex-container marginLeft5 ">149 <div class="flex-container marginLeft5 gap3px">
122 <input type="file" hidden data-preset-manager-file="novel" accept=".json, .settings, .preset">150 <input type="file" hidden data-preset-manager-file="novel" accept=".json, .settings, .preset">
123 <i data-preset-manager-update="novel" class="menu_button fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i>151 <i data-preset-manager-update="novel" class="menu_button fa-fw fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i>
124 <i data-preset-manager-new="novel" class="menu_button fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i>152 <i data-preset-manager-rename="novel" class="menu_button fa-fw fa-pencil fa-solid" title="Rename current preset" data-i18n="[title]Rename current preset"></i>
125 <i data-preset-manager-import="novel" class="menu_button fa-solid fa-file-import" title="Import preset" data-i18n="[title]Import preset"></i>153 <i data-preset-manager-new="novel" class="menu_button fa-fw fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i>
126 <i data-preset-manager-export="novel" class="menu_button fa-solid fa-file-export" title="Export preset" data-i18n="[title]Export preset"></i>154 <i data-preset-manager-restore="novel" class="menu_button fa-fw fa-solid fa-recycle" title="Restore current preset" data-i18n="[title]Restore current preset"></i>
127 <i data-preset-manager-restore="novel" class="menu_button fa-solid fa-recycle" title="Restore current preset" data-i18n="[title]Restore current preset"></i>
128 <i data-preset-manager-delete="novel" class="menu_button fa-solid fa-trash-can" title="Delete the preset" data-i18n="[title]Delete the preset"></i>
129 </div>155 </div>
130 </div>156 </div>
131 </div>157 </div>
132 <div id="openai_api-presets">158 <div id="openai_api-presets">
133 <div>159 <div>
134 <h4 class="margin0"><span data-i18n="openaipresets">Chat Completion Presets</span></h4>160 <div class="margin0 title_restorable standoutHeader">
161 <strong>
162 <span data-i18n="openaipresets">Chat Completion Presets</span>
163 </strong>
164
165 <div class="flex-container gap3px">
166 <div id="import_oai_preset" class="margin0 menu_button menu_button_icon" title="Import preset" data-i18n="[title]Import preset">
167 <i class="fa-fw fa-solid fa-file-import"></i>
168 </div>
169 <div id="export_oai_preset" class="margin0 menu_button menu_button_icon" title="Export preset" data-i18n="[title]Export preset">
170 <i class="fa-fw fa-solid fa-file-export"></i>
171 </div>
172 <div id="delete_oai_preset" class="margin0 menu_button menu_button_icon" title="Delete the preset" data-i18n="[title]Delete the preset">
173 <i class="fa-fw fa-solid fa-trash-can"></i>
174 </div>
175 </div>
176 </div>
177
135 <div class="flex-container flexNoGap">178 <div class="flex-container flexNoGap">
136 <select id="settings_preset_openai" class="flex1 text_pole" data-preset-manager-for="openai">179 <select id="settings_preset_openai" class="flex1 text_pole" data-preset-manager-for="openai">
137 <option value="gui" data-i18n="Default">Default</option>180 <option value="gui" data-i18n="Default">Default</option>
138 </select>181 </select>
139 <div class="flex-container marginLeft5 ">182 <div class="flex-container marginLeft5 gap3px">
140 <input id="openai_preset_import_file" type="file" accept=".json,.settings" hidden />183 <input id="openai_preset_import_file" type="file" accept=".json,.settings" hidden />
141 <i id="update_oai_preset" class="menu_button fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i>184 <i id="update_oai_preset" class="menu_button fa-fw fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i>
142 <i id="new_oai_preset" class="menu_button fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i>185 <i id="new_oai_preset" class="menu_button fa-fw fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i>
143 <i id="import_oai_preset" class="menu_button fa-solid fa-file-import" title="Import preset" data-i18n="[title]Import preset"></i>
144 <i id="export_oai_preset" class="menu_button fa-solid fa-file-export" title="Export preset" data-i18n="[title]Export preset"></i>
145 <i id="delete_oai_preset" class="menu_button fa-solid fa-trash-can" title="Delete the preset" data-i18n="[title]Delete the preset"></i>
146 </div>186 </div>
147 </div>187 </div>
148 </div>188 </div>
149 </div>189 </div>
150 <div id="textgenerationwebui_api-presets">190 <div id="textgenerationwebui_api-presets">
151 <h4 class="margin0"><span data-i18n="Text Completion presets">Text Completion presets</span></h4>191 <div class="margin0 title_restorable standoutHeader">
152 <div class="flex-container flexNoGap">192 <strong>
153 <select id="settings_preset_textgenerationwebui" class="flex1 text_pole" data-preset-manager-for="textgenerationwebui">193 <span data-i18n="Text Completion presets">Text Completion presets</span>
154 </select>194 </strong>
155 <div class="flex-container marginLeft5 ">195
156 <input type="file" hidden data-preset-manager-file="textgenerationwebui" accept=".json, .settings">196 <div class="flex-container gap3px">
157 <i data-preset-manager-update="textgenerationwebui" class="menu_button fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i>197 <div data-preset-manager-import="textgenerationwebui" class="margin0 menu_button_icon menu_button" title="Import preset" data-i18n="[title]Import preset">
158 <i data-preset-manager-new="textgenerationwebui" class="menu_button fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i>198 <i class="fa-fw fa-solid fa-file-import"></i>
159 <i data-preset-manager-import="textgenerationwebui" class="menu_button fa-solid fa-file-import" title="Import preset" data-i18n="[title]Import preset"></i>
160 <i data-preset-manager-export="textgenerationwebui" class="menu_button fa-solid fa-file-export" title="Export preset" data-i18n="[title]Export preset"></i>
161 <i data-preset-manager-restore="textgenerationwebui" class="menu_button fa-solid fa-recycle" title="Restore current preset" data-i18n="[title]Restore current preset"></i>
162 <i data-preset-manager-delete="textgenerationwebui" class="menu_button fa-solid fa-trash-can" title="Delete the preset" data-i18n="[title]Delete the preset"></i>
163 </div>
164 </div>199 </div>
200 <div data-preset-manager-export="textgenerationwebui" class="margin0 menu_button_icon menu_button" title="Export preset" data-i18n="[title]Export preset">
201 <i class="fa-fw fa-solid fa-file-export"></i>
165 </div>202 </div>
203 <div data-preset-manager-delete="textgenerationwebui" class="margin0 menu_button_icon menu_button" title="Delete the preset" data-i18n="[title]Delete the preset">
204 <i class="fa-fw fa-solid fa-trash-can"></i>
166 </div>205 </div>
167 <div id="ai_module_block_novel" class="width100p">
168 <div class="range-block">
169 <div class="range-block-title justifyLeft" data-i18n="AI Module">
170 AI Module
171 </div>206 </div>
172 <div class="toggle-description justifyLeft" data-i18n="Changes the style of the generated text.">
173 Changes the style of the generated text.
174 </div>207 </div>
175 <select id="nai_prefix">208 <div class="flex-container flexNoGap">
176 <option value="vanilla" data-i18n="No Module">No Module</option>209 <select id="settings_preset_textgenerationwebui" class="flex1 text_pole" data-preset-manager-for="textgenerationwebui">
177 <option value="special_instruct" data-i18n="Instruct">Instruct</option>
178 <option value="special_proseaugmenter" data-i18n="Prose Augmenter">Prose Augmenter</option>
179 <option value="theme_textadventure" data-i18n="Text Adventure">Text Adventure</option>
180 </select>210 </select>
211 <div class="flex-container marginLeft5 gap3px">
212 <input type="file" hidden data-preset-manager-file="textgenerationwebui" accept=".json, .settings">
213 <i data-preset-manager-update="textgenerationwebui" class="menu_button fa-fw fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i>
214 <i data-preset-manager-rename="textgenerationwebui" class="menu_button fa-fw fa-pencil fa-solid" title="Rename current preset" data-i18n="[title]Rename current preset"></i>
215 <i data-preset-manager-new="textgenerationwebui" class="menu_button fa-fw fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i>
216 <i data-preset-manager-restore="textgenerationwebui" class="menu_button fa-fw fa-solid fa-recycle" title="Restore current preset" data-i18n="[title]Restore current preset"></i>
217 </div>
218 </div>
181 </div>219 </div>
182 </div>220 </div>
183 <div id="common-gen-settings-block" class="width100p">221 <div id="common-gen-settings-block" class="width100p">
@@ -204,6 +242,14 @@
204 </small>242 </small>
205 </label>243 </label>
206 </div>244 </div>
245 <div id="streaming_novel_block" class="flex-container alignitemscenter justifyCenter marginTop5">
246 <label class="checkbox_label" for="streaming_novel">
247 <input type="checkbox" id="streaming_novel" />
248 <small><span data-i18n="Streaming">Streaming</span>
249 <div class="margin5 fa-solid fa-circle-info opacity50p" data-i18n="[title]Streaming_desc" title="Display the response bit by bit as it is generated.&#13;When this is off, responses will be displayed all at once when they are complete."></div>
250 </small>
251 </label>
252 </div>
207 </div>253 </div>
208 <div id="max_context_block" class="alignitemscenter flex-container marginBot5 flexFlowColumn flexBasis48p flexGrow flexShrink gap0">254 <div id="max_context_block" class="alignitemscenter flex-container marginBot5 flexFlowColumn flexBasis48p flexGrow flexShrink gap0">
209 <small data-i18n="context size(tokens)">Context (tokens)</small>255 <small data-i18n="context size(tokens)">Context (tokens)</small>
@@ -224,6 +270,22 @@
224 <span data-i18n="Max prompt cost:">Max prompt cost:</span> <span id="or_prompt_cost">&ndash;</span>270 <span data-i18n="Max prompt cost:">Max prompt cost:</span> <span id="or_prompt_cost">&ndash;</span>
225 </small>271 </small>
226 </div>272 </div>
273 <div id="ai_module_block_novel" class="width100p">
274 <div class="range-block">
275 <div class="range-block-title justifyLeft" data-i18n="AI Module">
276 AI Module
277 </div>
278 <div class="toggle-description justifyLeft" data-i18n="Changes the style of the generated text.">
279 Changes the style of the generated text.
280 </div>
281 <select id="nai_prefix">
282 <option value="vanilla" data-i18n="No Module">No Module</option>
283 <option value="special_instruct" data-i18n="Instruct">Instruct</option>
284 <option value="special_proseaugmenter" data-i18n="Prose Augmenter">Prose Augmenter</option>
285 <option value="theme_textadventure" data-i18n="Text Adventure">Text Adventure</option>
286 </select>
287 </div>
288 </div>
227 <hr>289 <hr>
228 </div>290 </div>
229 <div id="respective-ranges-and-temps" class="width100p">291 <div id="respective-ranges-and-temps" class="width100p">
@@ -233,19 +295,6 @@
233 -->295 -->
234 <div id="range_block_novel">296 <div id="range_block_novel">
235 <div class="range-block">297 <div class="range-block">
236 <label class="checkbox_label widthFreeExpand">
237 <input id="streaming_novel" type="checkbox" />
238 <span data-i18n="Streaming">Streaming</span>
239 </label>
240 <div class="toggle-description justifyLeft">
241 <span data-i18n="Display the response bit by bit as it is generated.">
242 Display the response bit by bit as it is generated.</span><br>
243 <span data-i18n="When this is off, responses will be displayed all at once when they are complete.">
244 When this is off, responses will be displayed all at once when they are complete.
245 </span>
246 </div>
247 </div>
248 <div class="range-block">
249 <div class="range-block-title" data-i18n="Temperature">298 <div class="range-block-title" data-i18n="Temperature">
250 Temperature299 Temperature
251 </div>300 </div>
@@ -5106,6 +5155,8 @@
5106 </div>5155 </div>
5107 <!-- various fullscreen popups -->5156 <!-- various fullscreen popups -->
5108 <div name="templatesAndPopupsWrapper"> <!--this div is just for IDE sanity for quick collapsing-->5157 <div name="templatesAndPopupsWrapper"> <!--this div is just for IDE sanity for quick collapsing-->
5158 <!-- Point to this element when you need a no-op selector -->
5159 <template id="NULL_SELECTOR" class="displayNone"></template>
5109 <div id="export_format_popup" class="list-group">5160 <div id="export_format_popup" class="list-group">
5110 <div class="export_format list-group-item" data-format="png">PNG</div>5161 <div class="export_format list-group-item" data-format="png">PNG</div>
5111 <div class="export_format list-group-item" data-format="json">JSON</div>5162 <div class="export_format list-group-item" data-format="json">JSON</div>
public/script.js+7 -11
@@ -6360,6 +6360,7 @@ export function changeMainAPI() {
6360 //console.log(selectedVal);6360 //console.log(selectedVal);
6361 const apiElements = {6361 const apiElements = {
6362 'koboldhorde': {6362 'koboldhorde': {
6363 apiStreaming: $('#NULL_SELECTOR'),
6363 apiSettings: $('#kobold_api-settings'),6364 apiSettings: $('#kobold_api-settings'),
6364 apiConnector: $('#kobold_horde'),6365 apiConnector: $('#kobold_horde'),
6365 apiPresets: $('#kobold_api-presets'),6366 apiPresets: $('#kobold_api-presets'),
@@ -6368,6 +6369,7 @@ export function changeMainAPI() {
6368 amountGenElem: $('#amount_gen_block'),6369 amountGenElem: $('#amount_gen_block'),
6369 },6370 },
6370 'kobold': {6371 'kobold': {
6372 apiStreaming: $('#streaming_kobold_block'),
6371 apiSettings: $('#kobold_api-settings'),6373 apiSettings: $('#kobold_api-settings'),
6372 apiConnector: $('#kobold_api'),6374 apiConnector: $('#kobold_api'),
6373 apiPresets: $('#kobold_api-presets'),6375 apiPresets: $('#kobold_api-presets'),
@@ -6376,6 +6378,7 @@ export function changeMainAPI() {
6376 amountGenElem: $('#amount_gen_block'),6378 amountGenElem: $('#amount_gen_block'),
6377 },6379 },
6378 'textgenerationwebui': {6380 'textgenerationwebui': {
6381 apiStreaming: $('#streaming_textgenerationwebui_block'),
6379 apiSettings: $('#textgenerationwebui_api-settings'),6382 apiSettings: $('#textgenerationwebui_api-settings'),
6380 apiConnector: $('#textgenerationwebui_api'),6383 apiConnector: $('#textgenerationwebui_api'),
6381 apiPresets: $('#textgenerationwebui_api-presets'),6384 apiPresets: $('#textgenerationwebui_api-presets'),
@@ -6384,6 +6387,7 @@ export function changeMainAPI() {
6384 amountGenElem: $('#amount_gen_block'),6387 amountGenElem: $('#amount_gen_block'),
6385 },6388 },
6386 'novel': {6389 'novel': {
6390 apiStreaming: $('#streaming_novel_block'),
6387 apiSettings: $('#novel_api-settings'),6391 apiSettings: $('#novel_api-settings'),
6388 apiConnector: $('#novel_api'),6392 apiConnector: $('#novel_api'),
6389 apiPresets: $('#novel_api-presets'),6393 apiPresets: $('#novel_api-presets'),
@@ -6392,6 +6396,7 @@ export function changeMainAPI() {
6392 amountGenElem: $('#amount_gen_block'),6396 amountGenElem: $('#amount_gen_block'),
6393 },6397 },
6394 'openai': {6398 'openai': {
6399 apiStreaming: $('#NULL_SELECTOR'),
6395 apiSettings: $('#openai_settings'),6400 apiSettings: $('#openai_settings'),
6396 apiConnector: $('#openai_api'),6401 apiConnector: $('#openai_api'),
6397 apiPresets: $('#openai_api-presets'),6402 apiPresets: $('#openai_api-presets'),
@@ -6414,12 +6419,14 @@ export function changeMainAPI() {
6414 apiObj.apiConnector.css('display', 'none');6419 apiObj.apiConnector.css('display', 'none');
6415 apiObj.apiRanges.css('display', 'none');6420 apiObj.apiRanges.css('display', 'none');
6416 apiObj.apiPresets.css('display', 'none');6421 apiObj.apiPresets.css('display', 'none');
6422 apiObj.apiStreaming.css('display', 'none');
6417 }6423 }
64186424
6419 //then, find and enable the active item.6425 //then, find and enable the active item.
6420 //This is split out of the loop so that different apis can share settings divs6426 //This is split out of the loop so that different apis can share settings divs
6421 let activeItem = apiElements[selectedVal];6427 let activeItem = apiElements[selectedVal];
64226428
6429 activeItem.apiStreaming.css('display', 'block');
6423 activeItem.apiSettings.css('display', 'block');6430 activeItem.apiSettings.css('display', 'block');
6424 activeItem.apiConnector.css('display', 'block');6431 activeItem.apiConnector.css('display', 'block');
6425 activeItem.apiRanges.css('display', 'block');6432 activeItem.apiRanges.css('display', 'block');
@@ -6436,17 +6443,6 @@ export function changeMainAPI() {
6436 }6443 }
64376444
6438 //custom because streaming has been moved up under response tokens, which exists inside common settings block6445 //custom because streaming has been moved up under response tokens, which exists inside common settings block
6439 if (selectedVal === 'textgenerationwebui') {
6440 $('#streaming_textgenerationwebui_block').css('display', 'block');
6441 } else {
6442 $('#streaming_textgenerationwebui_block').css('display', 'none');
6443 }
6444 if (selectedVal === 'kobold') {
6445 $('#streaming_kobold_block').css('display', 'block');
6446 } else {
6447 $('#streaming_kobold_block').css('display', 'none');
6448 }
6449
6450 if (selectedVal === 'novel') {6446 if (selectedVal === 'novel') {
6451 $('#ai_module_block_novel').css('display', 'block');6447 $('#ai_module_block_novel').css('display', 'block');
6452 } else {6448 } else {
public/style.css+1 -1
@@ -5046,7 +5046,7 @@ body:not(.movingUI) .drawer-content.maximized {
5046}5046}
50475047
5048.fillLeft .scrollableInner {5048.fillLeft .scrollableInner {
5049 padding: 0.5em 1em 0.5em 0.5em5049 padding: 0.5em 0.75em 0.5em 0.5em
5050}5050}
50515051
5052.drawer-content select {5052.drawer-content select {