Skip to content
2 changes: 2 additions & 0 deletions src/components/BrandContextMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ export function BrandContextMenu({ children, ...rest }: BrandContextMenuProps) {
SVG markup is now in your clipboard
</div>
</div>,
{ id: 'svg-copied' },
)
} catch (err) {
console.error('Clipboard error', err)
Expand All @@ -51,6 +52,7 @@ export function BrandContextMenu({ children, ...rest }: BrandContextMenuProps) {
Try again or download directly from the brand guide
</div>
</div>,
{ id: 'svg-copy-failed' },
)
}
}
Expand Down
3 changes: 3 additions & 0 deletions src/components/CopyPageDropdown.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ export function CopyPageDropdown({
<div>
<div className="font-medium">Copied to clipboard</div>
</div>,
{ id: 'page-copied' },
)
return
}
Expand All @@ -172,6 +173,7 @@ export function CopyPageDropdown({
{source}
</div>
</div>,
{ id: 'page-copied' },
)
}

Expand Down Expand Up @@ -208,6 +210,7 @@ export function CopyPageDropdown({
Page URL copied
</div>
</div>,
{ id: 'page-copied' },
)
}
}
Expand Down
1 change: 1 addition & 0 deletions src/components/FrameworkCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ export function FrameworkCard({
{packageName} copied to clipboard
</div>
</div>,
{ id: 'package-name-copied' },
)
})

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -443,6 +443,7 @@ export function useApplicationBuilder({
Paste it into your AI tool or terminal.
</div>
</div>,
{ id: `builder-copied-${kind}` },
)
},
[markCopied, notify],
Expand Down
8 changes: 6 additions & 2 deletions src/components/ds/BrandAssets.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -100,9 +100,13 @@ function CopyAssetButton({
}

copied.trigger()
notify(<div className="font-medium">Copied {label}</div>)
notify(<div className="font-medium">Copied {label}</div>, {
id: 'brand-asset-copied',
})
} catch {
notify(<div className="font-medium">Could not copy {label}</div>)
notify(<div className="font-medium">Could not copy {label}</div>, {
id: 'brand-asset-copy-failed',
})
}
}

Expand Down
2 changes: 2 additions & 0 deletions src/routes/intent/registry/$packageName.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -339,6 +339,7 @@ This will detect all Agent Skills in ${name} and configure them for your coding
Paste into your coding agent
</div>
</div>,
{ id: 'install-prompt-copied' },
)
} catch (error) {
console.error('Failed to copy install prompt', error)
Expand All @@ -349,6 +350,7 @@ This will detect all Agent Skills in ${name} and configure them for your coding
Try again or copy the prompt manually
</div>
</div>,
{ id: 'install-prompt-copy-failed' },

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Keep the failure toast on its default ID.

The PR objective limits deduplication to success toasts. This explicit ID causes repeated copy failures to replace the existing failure toast instead of creating independent notifications. Remove the id option from this failure toast.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/routes/intent/registry/`$packageName.tsx at line 353, Update the failure
toast containing the `install-prompt-copy-failed` symbol to remove its explicit
`id` option, allowing each copy failure to create an independent notification
while leaving success-toast deduplication unchanged.

)
}
}
Expand Down
Loading