jan/web/containers/ModelLabel/SlowOnYourDeviceLabel.tsx
Faisal Amir cf8f401dab
feat: update icon alert warning and copies tooltip model dropdown (#3021)
* feat: update icon alert warning and copies tooltip model dropdown

* chore: update loader when user click download model dropdown
2024-06-11 18:46:12 +07:00

50 lines
1.3 KiB
TypeScript

import { Fragment, memo } from 'react'
import { Badge, Tooltip } from '@janhq/joi'
import { AlertTriangleIcon, InfoIcon } from 'lucide-react'
type Props = {
compact?: boolean
}
const tooltipContent = `Your device may be running low on available RAM, which can affect the speed of this model. Try closing any unnecessary applications to free up system memory.`
const SlowOnYourDeviceLabel = ({ compact }: Props) => (
<>
{compact ? (
<div className="flex h-5 w-5 items-center">
<Tooltip
trigger={
<AlertTriangleIcon
size={14}
className="cursor-pointer text-[hsla(var(--warning-bg))]"
/>
}
content={
<Fragment>
<b>Slow on your device:</b> <span>{tooltipContent}</span>
</Fragment>
}
/>
</div>
) : (
<Badge theme="warning" variant="soft">
<span className="line-clamp-1">Slow on your device</span>
<Tooltip
trigger={
<InfoIcon size={14} className="ml-2 flex-shrink-0 cursor-pointer" />
}
content={
<Fragment>
<b>Slow on your device:</b> <span>{tooltipContent}</span>
</Fragment>
}
/>
</Badge>
)}
</>
)
export default memo(SlowOnYourDeviceLabel)