feat: add folder color
This commit is contained in:
@@ -13,7 +13,7 @@
|
|||||||
import TextInput from "../UI/GUI/TextInput.svelte";
|
import TextInput from "../UI/GUI/TextInput.svelte";
|
||||||
|
|
||||||
import { exportChat, importChat } from "src/ts/characters";
|
import { exportChat, importChat } from "src/ts/characters";
|
||||||
import { alertChatOptions, alertConfirm, alertError, alertNormal, alertSelect, alertStore } from "src/ts/alert";
|
import { alertChatOptions, alertConfirm, alertError, alertInput, alertNormal, alertSelect, alertStore } from "src/ts/alert";
|
||||||
import { findCharacterbyId, parseKeyValue, sleep, sortableOptions } from "src/ts/util";
|
import { findCharacterbyId, parseKeyValue, sleep, sortableOptions } from "src/ts/util";
|
||||||
import { createMultiuserRoom } from "src/ts/sync/multiuser";
|
import { createMultiuserRoom } from "src/ts/sync/multiuser";
|
||||||
import { getChatBranches } from "src/ts/gui/branches";
|
import { getChatBranches } from "src/ts/gui/branches";
|
||||||
@@ -164,18 +164,45 @@
|
|||||||
{#each chara.chatFolders as folder, i}
|
{#each chara.chatFolders as folder, i}
|
||||||
<div data-risu-chat-folder-idx={i} class="flex flex-col mb-2 border-solid border-1 border-darkborderc cursor-pointer rounded-md">
|
<div data-risu-chat-folder-idx={i} class="flex flex-col mb-2 border-solid border-1 border-darkborderc cursor-pointer rounded-md">
|
||||||
<!-- folder header -->
|
<!-- folder header -->
|
||||||
<button onclick={() => {
|
<button
|
||||||
if(!editMode) {
|
onclick={() => {
|
||||||
chara.chatFolders[i].folded = !folder.folded
|
if(!editMode) {
|
||||||
$ReloadGUIPointer += 1
|
chara.chatFolders[i].folded = !folder.folded
|
||||||
}
|
$ReloadGUIPointer += 1
|
||||||
}} class="flex items-center text-textcolor border-solid border-0 border-darkborderc p-2 cursor-pointer rounded-md">
|
}
|
||||||
|
}}
|
||||||
|
class="flex items-center text-textcolor border-solid border-0 border-darkborderc p-2 cursor-pointer rounded-md"
|
||||||
|
class:bg-red-700={folder.color === 'red'}
|
||||||
|
class:bg-yellow-700={folder.color === 'yellow'}
|
||||||
|
class:bg-green-700={folder.color === 'green'}
|
||||||
|
class:bg-blue-700={folder.color === 'blue'}
|
||||||
|
class:bg-indigo-700={folder.color === 'indigo'}
|
||||||
|
class:bg-purple-700={folder.color === 'purple'}
|
||||||
|
class:bg-pink-700={folder.color === 'pink'}
|
||||||
|
>
|
||||||
{#if editMode}
|
{#if editMode}
|
||||||
<TextInput bind:value={chara.chatFolders[i].name} className="flex-grow min-w-0" padding={false}/>
|
<TextInput bind:value={chara.chatFolders[i].name} className="flex-grow min-w-0" padding={false}/>
|
||||||
{:else}
|
{:else}
|
||||||
<span>{folder.name}</span>
|
<span>{folder.name}</span>
|
||||||
{/if}
|
{/if}
|
||||||
<div class="flex-grow flex justify-end">
|
<div class="flex-grow flex justify-end">
|
||||||
|
<div role="button" tabindex="0" onkeydown={(e) => {
|
||||||
|
if(e.key === 'Enter'){
|
||||||
|
e.currentTarget.click()
|
||||||
|
}
|
||||||
|
}} class="text-textcolor2 hover:text-green-500 mr-1 cursor-pointer" onclick={async (e) => {
|
||||||
|
e.stopPropagation()
|
||||||
|
const sel = parseInt(await alertSelect(['색상']))
|
||||||
|
switch (sel) {
|
||||||
|
case 0:
|
||||||
|
const colors = ["red","green","blue","yellow","indigo","purple","pink","default"]
|
||||||
|
const sel = parseInt(await alertSelect(colors))
|
||||||
|
folder.color = colors[sel]
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}}>
|
||||||
|
<MenuIcon size={18}/>
|
||||||
|
</div>
|
||||||
<div role="button" tabindex="0" onkeydown={(e) => {
|
<div role="button" tabindex="0" onkeydown={(e) => {
|
||||||
if(e.key === 'Enter'){
|
if(e.key === 'Enter'){
|
||||||
e.currentTarget.click()
|
e.currentTarget.click()
|
||||||
|
|||||||
@@ -1310,7 +1310,8 @@ export interface Chat{
|
|||||||
export interface ChatFolder{
|
export interface ChatFolder{
|
||||||
id:string
|
id:string
|
||||||
name?:string
|
name?:string
|
||||||
color?:number
|
color?:string
|
||||||
|
icon?:string
|
||||||
folded:boolean
|
folded:boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user