Merge pull request #6426 from menloresearch/fix/error-validate-nested-dom
fix: avoid error validate nested DOM
This commit is contained in:
commit
ad428f587b
@ -41,9 +41,19 @@ export function DeleteMessageDialog({ onDelete }: DeleteMessageDialogProps) {
|
|||||||
const trigger = (
|
const trigger = (
|
||||||
<Tooltip>
|
<Tooltip>
|
||||||
<TooltipTrigger asChild>
|
<TooltipTrigger asChild>
|
||||||
<button className="flex items-center gap-1 hover:text-accent transition-colors cursor-pointer group relative">
|
<div
|
||||||
|
className="flex items-center gap-1 hover:text-accent transition-colors cursor-pointer group relative"
|
||||||
|
role="button"
|
||||||
|
tabIndex={0}
|
||||||
|
onKeyDown={(e) => {
|
||||||
|
if (e.key === 'Enter' || e.key === ' ') {
|
||||||
|
e.preventDefault()
|
||||||
|
setIsOpen(true)
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
<IconTrash size={16} />
|
<IconTrash size={16} />
|
||||||
</button>
|
</div>
|
||||||
</TooltipTrigger>
|
</TooltipTrigger>
|
||||||
<TooltipContent>
|
<TooltipContent>
|
||||||
<p>{t('delete')}</p>
|
<p>{t('delete')}</p>
|
||||||
|
|||||||
@ -64,9 +64,19 @@ export function EditMessageDialog({
|
|||||||
const defaultTrigger = (
|
const defaultTrigger = (
|
||||||
<Tooltip>
|
<Tooltip>
|
||||||
<TooltipTrigger asChild>
|
<TooltipTrigger asChild>
|
||||||
<button className="flex outline-0 items-center gap-1 hover:text-accent transition-colors cursor-pointer group relative">
|
<div
|
||||||
|
className="flex outline-0 items-center gap-1 hover:text-accent transition-colors cursor-pointer group relative"
|
||||||
|
role="button"
|
||||||
|
tabIndex={0}
|
||||||
|
onKeyDown={(e) => {
|
||||||
|
if (e.key === 'Enter' || e.key === ' ') {
|
||||||
|
e.preventDefault()
|
||||||
|
setIsOpen(true)
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
<IconPencil size={16} />
|
<IconPencil size={16} />
|
||||||
</button>
|
</div>
|
||||||
</TooltipTrigger>
|
</TooltipTrigger>
|
||||||
<TooltipContent>
|
<TooltipContent>
|
||||||
<p>{t('edit')}</p>
|
<p>{t('edit')}</p>
|
||||||
|
|||||||
@ -61,9 +61,17 @@ export default function ErrorDialog() {
|
|||||||
|
|
||||||
<div className="bg-main-view-fg/2 p-2 border border-main-view-fg/5 rounded-lg space-y-2">
|
<div className="bg-main-view-fg/2 p-2 border border-main-view-fg/5 rounded-lg space-y-2">
|
||||||
<div>
|
<div>
|
||||||
<button
|
<div
|
||||||
onClick={() => setIsDetailExpanded(!isDetailExpanded)}
|
onClick={() => setIsDetailExpanded(!isDetailExpanded)}
|
||||||
className="flex items-center gap-1 text-sm text-main-view-fg/60 hover:text-main-view-fg/80 transition-colors cursor-pointer"
|
className="flex items-center gap-1 text-sm text-main-view-fg/60 hover:text-main-view-fg/80 transition-colors cursor-pointer"
|
||||||
|
role="button"
|
||||||
|
tabIndex={0}
|
||||||
|
onKeyDown={(e) => {
|
||||||
|
if (e.key === 'Enter' || e.key === ' ') {
|
||||||
|
e.preventDefault()
|
||||||
|
setIsDetailExpanded(!isDetailExpanded)
|
||||||
|
}
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
{isDetailExpanded ? (
|
{isDetailExpanded ? (
|
||||||
<ChevronDown className="size-3" />
|
<ChevronDown className="size-3" />
|
||||||
@ -71,7 +79,7 @@ export default function ErrorDialog() {
|
|||||||
<ChevronRight className="size-3" />
|
<ChevronRight className="size-3" />
|
||||||
)}
|
)}
|
||||||
Details
|
Details
|
||||||
</button>
|
</div>
|
||||||
|
|
||||||
{isDetailExpanded && (
|
{isDetailExpanded && (
|
||||||
<div
|
<div
|
||||||
|
|||||||
@ -131,9 +131,17 @@ export default function LoadModelErrorDialog() {
|
|||||||
|
|
||||||
{hasErrorDetail(modelLoadError) && (
|
{hasErrorDetail(modelLoadError) && (
|
||||||
<div>
|
<div>
|
||||||
<button
|
<div
|
||||||
onClick={() => setIsDetailExpanded(!isDetailExpanded)}
|
onClick={() => setIsDetailExpanded(!isDetailExpanded)}
|
||||||
className="flex items-center gap-1 text-sm text-main-view-fg/60 hover:text-main-view-fg/80 transition-colors cursor-pointer"
|
className="flex items-center gap-1 text-sm text-main-view-fg/60 hover:text-main-view-fg/80 transition-colors cursor-pointer"
|
||||||
|
role="button"
|
||||||
|
tabIndex={0}
|
||||||
|
onKeyDown={(e) => {
|
||||||
|
if (e.key === 'Enter' || e.key === ' ') {
|
||||||
|
e.preventDefault()
|
||||||
|
setIsDetailExpanded(!isDetailExpanded)
|
||||||
|
}
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
{isDetailExpanded ? (
|
{isDetailExpanded ? (
|
||||||
<ChevronDown className="size-3" />
|
<ChevronDown className="size-3" />
|
||||||
@ -141,7 +149,7 @@ export default function LoadModelErrorDialog() {
|
|||||||
<ChevronRight className="size-3" />
|
<ChevronRight className="size-3" />
|
||||||
)}
|
)}
|
||||||
Details
|
Details
|
||||||
</button>
|
</div>
|
||||||
|
|
||||||
{isDetailExpanded && (
|
{isDetailExpanded && (
|
||||||
<div
|
<div
|
||||||
|
|||||||
@ -32,9 +32,19 @@ export function MessageMetadataDialog({
|
|||||||
const defaultTrigger = (
|
const defaultTrigger = (
|
||||||
<Tooltip>
|
<Tooltip>
|
||||||
<TooltipTrigger asChild>
|
<TooltipTrigger asChild>
|
||||||
<button className="outline-0 focus:outline-0 flex items-center gap-1 hover:text-accent transition-colors cursor-pointer group relative">
|
<div
|
||||||
|
className="outline-0 focus:outline-0 flex items-center gap-1 hover:text-accent transition-colors cursor-pointer group relative"
|
||||||
|
role="button"
|
||||||
|
tabIndex={0}
|
||||||
|
onKeyDown={(e) => {
|
||||||
|
if (e.key === 'Enter' || e.key === ' ') {
|
||||||
|
e.preventDefault()
|
||||||
|
setIsOpen(true)
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
<IconInfoCircle size={16} />
|
<IconInfoCircle size={16} />
|
||||||
</button>
|
</div>
|
||||||
</TooltipTrigger>
|
</TooltipTrigger>
|
||||||
<TooltipContent>
|
<TooltipContent>
|
||||||
<p>{t('metadata')}</p>
|
<p>{t('metadata')}</p>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user