refac
This commit is contained in:
@@ -23,6 +23,7 @@
|
|||||||
import { toast } from 'svelte-sonner';
|
import { toast } from 'svelte-sonner';
|
||||||
|
|
||||||
export let chatId = '';
|
export let chatId = '';
|
||||||
|
export let disabled = false;
|
||||||
let tags = [];
|
let tags = [];
|
||||||
|
|
||||||
const getTags = async () => {
|
const getTags = async () => {
|
||||||
@@ -73,6 +74,7 @@
|
|||||||
|
|
||||||
<Tags
|
<Tags
|
||||||
{tags}
|
{tags}
|
||||||
|
{disabled}
|
||||||
suggestionTags={$_tags ?? []}
|
suggestionTags={$_tags ?? []}
|
||||||
on:delete={(e) => {
|
on:delete={(e) => {
|
||||||
deleteTag(e.detail);
|
deleteTag(e.detail);
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
export let tags = [];
|
export let tags = [];
|
||||||
export let suggestionTags = [];
|
export let suggestionTags = [];
|
||||||
|
export let disabled = false;
|
||||||
|
|
||||||
let inputValue = '';
|
let inputValue = '';
|
||||||
|
|
||||||
@@ -22,11 +23,13 @@
|
|||||||
<div class="flex flex-wrap items-center gap-1 w-full">
|
<div class="flex flex-wrap items-center gap-1 w-full">
|
||||||
<TagList
|
<TagList
|
||||||
{tags}
|
{tags}
|
||||||
|
{disabled}
|
||||||
on:delete={(e) => {
|
on:delete={(e) => {
|
||||||
dispatch('delete', e.detail);
|
dispatch('delete', e.detail);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
{#if !disabled}
|
||||||
<input
|
<input
|
||||||
bind:value={inputValue}
|
bind:value={inputValue}
|
||||||
class="flex-1 min-w-24 {tags.length > 0
|
class="flex-1 min-w-24 {tags.length > 0
|
||||||
@@ -40,4 +43,5 @@
|
|||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
const i18n = getContext('i18n');
|
const i18n = getContext('i18n');
|
||||||
|
|
||||||
export let suggestionTags = [];
|
export let suggestionTags = [];
|
||||||
|
export let disabled = false;
|
||||||
|
|
||||||
let tagName = '';
|
let tagName = '';
|
||||||
let showInput = false;
|
let showInput = false;
|
||||||
@@ -30,7 +31,9 @@
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#if showInput}
|
{#if disabled}
|
||||||
|
<!-- hidden when disabled -->
|
||||||
|
{:else if showInput}
|
||||||
<div class="flex items-center gap-2 px-3 py-1.5 rounded-lg bg-gray-200/80 dark:bg-gray-700">
|
<div class="flex items-center gap-2 px-3 py-1.5 rounded-lg bg-gray-200/80 dark:bg-gray-700">
|
||||||
<span class="text-gray-500 dark:text-blue-400">+</span>
|
<span class="text-gray-500 dark:text-blue-400">+</span>
|
||||||
<input
|
<input
|
||||||
|
|||||||
@@ -6,10 +6,18 @@
|
|||||||
import XMark from '$lib/components/icons/XMark.svelte';
|
import XMark from '$lib/components/icons/XMark.svelte';
|
||||||
|
|
||||||
export let tag;
|
export let tag;
|
||||||
|
export let disabled = false;
|
||||||
export let onDelete = () => {};
|
export let onDelete = () => {};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#if tag}
|
{#if tag}
|
||||||
|
{#if disabled}
|
||||||
|
<span
|
||||||
|
class="flex items-center gap-1 px-1.5 py-[1px] rounded-full bg-gray-100/50 dark:bg-gray-800/50 border border-gray-100 dark:border-gray-800 text-gray-600 dark:text-gray-300 text-xs font-medium"
|
||||||
|
>
|
||||||
|
<span class="line-clamp-1">{tag.name}</span>
|
||||||
|
</span>
|
||||||
|
{:else}
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
class="flex items-center gap-1 px-1.5 py-[1px] rounded-full bg-gray-100/50 dark:bg-gray-800/50 border border-gray-100 dark:border-gray-800 text-gray-600 dark:text-gray-300 text-xs font-medium hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors"
|
class="flex items-center gap-1 px-1.5 py-[1px] rounded-full bg-gray-100/50 dark:bg-gray-800/50 border border-gray-100 dark:border-gray-800 text-gray-600 dark:text-gray-300 text-xs font-medium hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors"
|
||||||
@@ -20,4 +28,5 @@
|
|||||||
<span class="line-clamp-1">{tag.name}</span>
|
<span class="line-clamp-1">{tag.name}</span>
|
||||||
<XMark className="size-3" strokeWidth="2.5" />
|
<XMark className="size-3" strokeWidth="2.5" />
|
||||||
</button>
|
</button>
|
||||||
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
|
|||||||
@@ -7,11 +7,13 @@
|
|||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
export let tags = [];
|
export let tags = [];
|
||||||
|
export let disabled = false;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#each tags as tag}
|
{#each tags as tag}
|
||||||
<TagItem
|
<TagItem
|
||||||
{tag}
|
{tag}
|
||||||
|
{disabled}
|
||||||
onDelete={() => {
|
onDelete={() => {
|
||||||
dispatch('delete', tag.name);
|
dispatch('delete', tag.name);
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -435,6 +435,7 @@
|
|||||||
<div class="flex-1 min-w-0">
|
<div class="flex-1 min-w-0">
|
||||||
<Tags
|
<Tags
|
||||||
{tags}
|
{tags}
|
||||||
|
{disabled}
|
||||||
{suggestionTags}
|
{suggestionTags}
|
||||||
on:add={(e) => {
|
on:add={(e) => {
|
||||||
tags = [...tags, { name: e.detail }];
|
tags = [...tags, { name: e.detail }];
|
||||||
|
|||||||
Reference in New Issue
Block a user