add scrolls for multitoggles
This commit is contained in:
@@ -9,6 +9,10 @@
|
|||||||
import TriggerList from "src/lib/SideBars/Scripts/TriggerList.svelte";
|
import TriggerList from "src/lib/SideBars/Scripts/TriggerList.svelte";
|
||||||
import Check from "src/lib/UI/GUI/CheckInput.svelte";
|
import Check from "src/lib/UI/GUI/CheckInput.svelte";
|
||||||
import Help from "src/lib/Others/Help.svelte";
|
import Help from "src/lib/Others/Help.svelte";
|
||||||
|
import TextAreaInput from "src/lib/UI/GUI/TextAreaInput.svelte";
|
||||||
|
import Button from "src/lib/UI/GUI/Button.svelte";
|
||||||
|
import { openURL } from "src/ts/storage/globalApi";
|
||||||
|
import { hubURL } from "src/ts/characterCards";
|
||||||
|
|
||||||
|
|
||||||
export let currentModule:RisuModule
|
export let currentModule:RisuModule
|
||||||
@@ -145,10 +149,54 @@
|
|||||||
|
|
||||||
{#if (Array.isArray(currentModule.trigger))}
|
{#if (Array.isArray(currentModule.trigger))}
|
||||||
<span class="mt-8 text-xl">{language.triggerScript}</span>
|
<span class="mt-8 text-xl">{language.triggerScript}</span>
|
||||||
<TriggerList bind:value={currentModule.trigger} lowLevelAble={currentModule.lowLevelAccess} />
|
<div class="flex items-start mt-2 gap-2">
|
||||||
<button on:click={() => {addTrigger()}} class="hover:text-textcolor cursor-pointer">
|
<button class="bg-bgcolor py-1 rounded-md text-sm px-2" class:ring-1={
|
||||||
<PlusIcon />
|
currentModule?.trigger?.[0]?.effect?.[0]?.type !== 'triggercode' &&
|
||||||
</button>
|
currentModule?.trigger?.[0]?.effect?.[0]?.type !== 'triggerlua'
|
||||||
|
} on:click|stopPropagation={async () => {
|
||||||
|
const codeType = currentModule?.trigger?.[0]?.effect?.[0]?.type
|
||||||
|
if(codeType === 'triggercode' || codeType === 'triggerlua'){
|
||||||
|
const codeTrigger = currentModule?.trigger?.[0]?.effect?.[0]?.code
|
||||||
|
if(codeTrigger){
|
||||||
|
const t = await alertConfirm(language.triggerSwitchWarn)
|
||||||
|
if(!t){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
currentModule.trigger = []
|
||||||
|
}
|
||||||
|
}}>{language.blockMode}</button>
|
||||||
|
<button class="bg-bgcolor py-1 rounded-md text-sm px-2" class:ring-1={currentModule?.trigger?.[0]?.effect?.[0]?.type === 'triggerlua'} on:click|stopPropagation={async () => {
|
||||||
|
if(currentModule?.trigger?.[0]?.effect?.[0]?.type !== 'triggerlua'){
|
||||||
|
if(currentModule?.trigger && currentModule?.trigger.length > 0){
|
||||||
|
const t = await alertConfirm(language.triggerSwitchWarn)
|
||||||
|
if(!t){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
currentModule.trigger = [{
|
||||||
|
comment: "",
|
||||||
|
type: "start",
|
||||||
|
conditions: [],
|
||||||
|
effect: [{
|
||||||
|
type: "triggerlua",
|
||||||
|
code: ""
|
||||||
|
}]
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
}}>Lua</button>
|
||||||
|
</div>
|
||||||
|
{#if currentModule?.trigger?.[0]?.effect?.[0]?.type === 'triggerlua'}
|
||||||
|
<TextAreaInput margin="both" autocomplete="off" bind:value={currentModule.trigger[0].effect[0].code}></TextAreaInput>
|
||||||
|
<Button on:click={() => {
|
||||||
|
openURL(hubURL + '/redirect/docs/lua')
|
||||||
|
}}>{language.helpBlock}</Button>
|
||||||
|
{:else}
|
||||||
|
<TriggerList bind:value={currentModule.trigger} lowLevelAble={currentModule.lowLevelAccess} />
|
||||||
|
<button on:click={() => {addTrigger()}} class="hover:text-textcolor cursor-pointer">
|
||||||
|
<PlusIcon />
|
||||||
|
</button>
|
||||||
|
{/if}
|
||||||
|
|
||||||
<div class="flex items-center mt-4">
|
<div class="flex items-center mt-4">
|
||||||
<Check bind:check={currentModule.lowLevelAccess} name={language.lowLevelAccess}/>
|
<Check bind:check={currentModule.lowLevelAccess} name={language.lowLevelAccess}/>
|
||||||
|
|||||||
@@ -153,30 +153,49 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{#if $CurrentCharacter?.chaId !== '§playground'}
|
{#if $CurrentCharacter?.chaId !== '§playground'}
|
||||||
<div class="flex mt-2 items-center">
|
|
||||||
<CheckInput bind:check={$DataBase.jailbreakToggle} name={language.jailbreakToggle}/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{#each parseKeyValue($DataBase.customPromptTemplateToggle) as toggle}
|
|
||||||
<div class="flex mt-2 items-center">
|
|
||||||
<CheckInput check={$DataBase.globalChatVariables[`toggle_${toggle[0]}`] === '1'} name={toggle[1]} onChange={() => {
|
|
||||||
$DataBase.globalChatVariables[`toggle_${toggle[0]}`] = $DataBase.globalChatVariables[`toggle_${toggle[0]}`] === '1' ? '0' : '1'
|
|
||||||
}} />
|
|
||||||
</div>
|
|
||||||
{/each}
|
|
||||||
|
|
||||||
{#if $DataBase.supaModelType !== 'none' || $DataBase.hanuraiEnable}
|
|
||||||
{#if $DataBase.hanuraiEnable}
|
{#if parseKeyValue($DataBase.customPromptTemplateToggle).length > 4}
|
||||||
|
<div class="h-48 border-darkborderc p-2 border rounded flex flex-col items-start mt-2 overflow-y-auto">
|
||||||
<div class="flex mt-2 items-center">
|
<div class="flex mt-2 items-center">
|
||||||
<CheckInput bind:check={chara.supaMemory} name={ language.hanuraiMemory}/>
|
<CheckInput bind:check={$DataBase.jailbreakToggle} name={language.jailbreakToggle}/>
|
||||||
</div>
|
</div>
|
||||||
{:else if $DataBase.hypaMemory}
|
{#each parseKeyValue($DataBase.customPromptTemplateToggle) as toggle}
|
||||||
|
<div class="flex mt-2 items-center">
|
||||||
|
<CheckInput check={$DataBase.globalChatVariables[`toggle_${toggle[0]}`] === '1'} name={toggle[1]} onChange={() => {
|
||||||
|
$DataBase.globalChatVariables[`toggle_${toggle[0]}`] = $DataBase.globalChatVariables[`toggle_${toggle[0]}`] === '1' ? '0' : '1'
|
||||||
|
}} />
|
||||||
|
</div>
|
||||||
|
{/each}
|
||||||
|
{#if $DataBase.supaModelType !== 'none' || $DataBase.hanuraiEnable}
|
||||||
|
<div class="flex mt-2 items-center">
|
||||||
|
<CheckInput bind:check={chara.supaMemory} name={$DataBase.hanuraiEnable ? language.hanuraiMemory : $DataBase.hypaMemory ? language.ToggleHypaMemory : language.ToggleSuperMemory}/>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
{:else if parseKeyValue($DataBase.customPromptTemplateToggle).length > 0}
|
||||||
|
<div class="flex mt-2 items-center">
|
||||||
|
<CheckInput bind:check={$DataBase.jailbreakToggle} name={language.jailbreakToggle}/>
|
||||||
|
</div>
|
||||||
|
{#each parseKeyValue($DataBase.customPromptTemplateToggle) as toggle}
|
||||||
<div class="flex mt-2 items-center">
|
<div class="flex mt-2 items-center">
|
||||||
<CheckInput bind:check={chara.supaMemory} name={language.ToggleHypaMemory}/>
|
<CheckInput check={$DataBase.globalChatVariables[`toggle_${toggle[0]}`] === '1'} name={toggle[1]} onChange={() => {
|
||||||
|
$DataBase.globalChatVariables[`toggle_${toggle[0]}`] = $DataBase.globalChatVariables[`toggle_${toggle[0]}`] === '1' ? '0' : '1'
|
||||||
|
}} />
|
||||||
</div>
|
</div>
|
||||||
{:else}
|
{/each}
|
||||||
|
{#if $DataBase.supaModelType !== 'none' || $DataBase.hanuraiEnable}
|
||||||
<div class="flex mt-2 items-center">
|
<div class="flex mt-2 items-center">
|
||||||
<CheckInput bind:check={chara.supaMemory} name={language.ToggleSuperMemory}/>
|
<CheckInput bind:check={chara.supaMemory} name={$DataBase.hanuraiEnable ? language.hanuraiMemory : $DataBase.hypaMemory ? language.ToggleHypaMemory : language.ToggleSuperMemory}/>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
{:else}
|
||||||
|
<div class="flex mt-2 items-center">
|
||||||
|
<CheckInput bind:check={$DataBase.jailbreakToggle} name={language.jailbreakToggle}/>
|
||||||
|
</div>
|
||||||
|
{#if $DataBase.supaModelType !== 'none' || $DataBase.hanuraiEnable}
|
||||||
|
<div class="flex mt-2 items-center">
|
||||||
|
<CheckInput bind:check={chara.supaMemory} name={$DataBase.hanuraiEnable ? language.hanuraiMemory : $DataBase.hypaMemory ? language.ToggleHypaMemory : language.ToggleSuperMemory}/>
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
|
|||||||
Reference in New Issue
Block a user