@@ -15,7 +15,6 @@ import {
1515 handleKeyboardActivation ,
1616 Label ,
1717} from '@sim/emcn'
18- import { Trash } from '@sim/emcn/icons'
1918import { createLogger } from '@sim/logger'
2019import { formatDate } from '@sim/utils/formatting'
2120import {
@@ -27,6 +26,7 @@ import {
2726} from '@/lib/knowledge/constants'
2827import type { DocumentTag } from '@/lib/knowledge/tags/types'
2928import type { DocumentData } from '@/lib/knowledge/types'
29+ import { KnowledgeTagRow } from '@/app/workspace/[workspaceId]/knowledge/components/knowledge-tag-row'
3030import {
3131 type TagDefinition ,
3232 useKnowledgeBaseTagDefinitions ,
@@ -385,40 +385,24 @@ export function DocumentTagsModal({
385385 < div className = 'space-y-2' >
386386 { documentTags . map ( ( tag , index ) => (
387387 < div key = { tag . displayName } className = 'space-y-2' >
388- < div
388+ < KnowledgeTagRow
389389 role = 'button'
390390 tabIndex = { 0 }
391- className = 'flex cursor-pointer items-center gap-2 rounded-sm border p-2 hover-hover:bg-[var(--surface-2)]'
392391 onClick = { ( ) => startEditingTag ( index ) }
393392 onKeyDown = { ( event ) => {
394393 if ( event . target !== event . currentTarget ) return
395394 handleKeyboardActivation ( event , ( ) => startEditingTag ( index ) )
396395 } }
397- >
398- < span className = 'min-w-0 truncate text-[var(--text-primary)] text-caption' >
399- { tag . displayName }
400- </ span >
401- < span className = 'rounded-[3px] bg-[var(--surface-3)] px-1.5 py-0.5 text-[var(--text-muted)] text-micro' >
402- { FIELD_TYPE_LABELS [ tag . fieldType ] || tag . fieldType }
403- </ span >
404- < div className = 'mb-[-1.5px] h-[14px] w-[1.25px] shrink-0 rounded-full bg-[var(--border-1)]' />
405- < span className = 'min-w-0 flex-1 truncate text-[var(--text-muted)] text-caption' >
406- { formatValueForDisplay ( tag . value , tag . fieldType ) }
407- </ span >
408- < div className = 'flex shrink-0 items-center gap-1' >
409- < Button
410- aria-label = 'Remove tag'
411- variant = 'ghost-destructive-muted'
412- onClick = { ( e ) => {
413- e . stopPropagation ( )
414- handleRemoveTag ( index )
415- } }
416- className = 'size-4 p-0'
417- >
418- < Trash className = 'size-3' />
419- </ Button >
420- </ div >
421- </ div >
396+ name = { tag . displayName }
397+ typeLabel = { FIELD_TYPE_LABELS [ tag . fieldType ] || tag . fieldType }
398+ detail = { formatValueForDisplay ( tag . value , tag . fieldType ) }
399+ truncateDetail
400+ removeLabel = 'Remove tag'
401+ onRemove = { ( e ) => {
402+ e . stopPropagation ( )
403+ handleRemoveTag ( index )
404+ } }
405+ />
422406
423407 { editingTagIndex === index && (
424408 < div className = 'space-y-2 rounded-md border p-3' >
0 commit comments