feat: ui component finish for chunk preview
parent
bebad5cbdd
commit
629152ff2c
@ -0,0 +1,13 @@
|
|||||||
|
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g id="Group">
|
||||||
|
<path id="Vector" d="M2.5 10H0V7.5H2.5V10Z" fill="#676F83"/>
|
||||||
|
<path id="Vector_2" d="M6.25 6.25H3.75V3.75H6.25V6.25Z" fill="#676F83"/>
|
||||||
|
<path id="Vector_3" d="M2.5 6.25H0V3.75H2.5V6.25Z" fill="#676F83"/>
|
||||||
|
<path id="Vector_4" d="M6.25 2.5H3.75V0H6.25V2.5Z" fill="#676F83"/>
|
||||||
|
<path id="Vector_5" d="M2.5 2.5H0V0H2.5V2.5Z" fill="#676F83"/>
|
||||||
|
<path id="Vector_6" d="M10 2.5H7.5V0H10V2.5Z" fill="#676F83"/>
|
||||||
|
<path id="Vector_7" d="M9.58332 7.91663H7.91666V9.58329H9.58332V7.91663Z" fill="#676F83"/>
|
||||||
|
<path id="Vector_8" d="M9.58332 4.16663H7.91666V5.83329H9.58332V4.16663Z" fill="#676F83"/>
|
||||||
|
<path id="Vector_9" d="M5.83332 7.91663H4.16666V9.58329H5.83332V7.91663Z" fill="#676F83"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 792 B |
@ -0,0 +1,55 @@
|
|||||||
|
import type { FC, PropsWithChildren } from 'react'
|
||||||
|
import Image from 'next/image'
|
||||||
|
import SelectionMod from './assets/selection-mod-nocolor.svg'
|
||||||
|
import type { QA } from '@/models/datasets'
|
||||||
|
|
||||||
|
export type ChunkLabelProps = {
|
||||||
|
label: string
|
||||||
|
characterCount: number
|
||||||
|
}
|
||||||
|
|
||||||
|
export const ChunkLabel: FC<ChunkLabelProps> = (props) => {
|
||||||
|
const { label, characterCount } = props
|
||||||
|
return <div className='flex items-center text-text-tertiary text-xs font-medium'>
|
||||||
|
<Image src={SelectionMod} alt="Selection Mod" width={10} height={10} />
|
||||||
|
<p className='flex gap-2 ml-0.5'><span>
|
||||||
|
{label}
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
·
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
{`${characterCount} characters`}
|
||||||
|
</span></p>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
export type ChunkContainerProps = ChunkLabelProps & PropsWithChildren
|
||||||
|
|
||||||
|
export const ChunkContainer: FC<ChunkContainerProps> = (props) => {
|
||||||
|
const { label, characterCount, children } = props
|
||||||
|
return <div className='space-y-2'>
|
||||||
|
<ChunkLabel label={label} characterCount={characterCount} />
|
||||||
|
<p className='text-text-secondary text-sm tracking-[-0.0005em]'>
|
||||||
|
{children}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
export type QAPreviewProps = {
|
||||||
|
qa: QA
|
||||||
|
}
|
||||||
|
|
||||||
|
export const QAPreview: FC<QAPreviewProps> = (props) => {
|
||||||
|
const { qa } = props
|
||||||
|
return <div className='space-y-2'>
|
||||||
|
<div className='flex gap-1 items-start'>
|
||||||
|
<label className='text-text-tertiary text-[13px] font-medium'>Q</label>
|
||||||
|
<p className='text-text-secondary tracking-[-0.0005em]'>{qa.question}</p>
|
||||||
|
</div>
|
||||||
|
<div className='flex gap-1 items-start'>
|
||||||
|
<label className='text-text-tertiary text-[13px] font-medium'>A</label>
|
||||||
|
<p className='text-text-secondary tracking-[-0.0005em]'>{qa.answer}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue