diff --git a/components/video-page/comment-rich-text.tsx b/components/video-page/comment-rich-text.tsx index c894150..251b599 100644 --- a/components/video-page/comment-rich-text.tsx +++ b/components/video-page/comment-rich-text.tsx @@ -66,12 +66,11 @@ export function CommentRichText({ text, onAssetMentionClick, assets = [] }: Comm {isVideoAsset ? : } - {isVideoAsset ? 'VID' : 'SS'} @{label} diff --git a/components/video-page/mention-textarea.tsx b/components/video-page/mention-textarea.tsx index ecd1719..e4d9c2a 100644 --- a/components/video-page/mention-textarea.tsx +++ b/components/video-page/mention-textarea.tsx @@ -109,23 +109,26 @@ export function MentionTextarea({ }; const handleKeyDown: React.KeyboardEventHandler = (event) => { - if (mentionRange && filteredAssets.length > 0) { - if (event.key === 'ArrowDown') { - event.preventDefault(); - setActiveIndex((prev) => (prev + 1) % filteredAssets.length); - return; - } - if (event.key === 'ArrowUp') { - event.preventDefault(); - setActiveIndex((prev) => (prev - 1 + filteredAssets.length) % filteredAssets.length); - return; - } - if (event.key === 'Enter' && !event.shiftKey) { - event.preventDefault(); - const selected = filteredAssets[Math.min(activeIndex, filteredAssets.length - 1)]; - if (selected) insertAssetMention(selected); - return; + if (mentionRange) { + if (filteredAssets.length > 0) { + if (event.key === 'ArrowDown') { + event.preventDefault(); + setActiveIndex((prev) => (prev + 1) % filteredAssets.length); + return; + } + if (event.key === 'ArrowUp') { + event.preventDefault(); + setActiveIndex((prev) => (prev - 1 + filteredAssets.length) % filteredAssets.length); + return; + } + if (event.key === 'Enter' && !event.shiftKey) { + event.preventDefault(); + const selected = filteredAssets[Math.min(activeIndex, filteredAssets.length - 1)]; + if (selected) insertAssetMention(selected); + return; + } } + if (event.key === 'Escape') { event.preventDefault(); closeMentions(); @@ -154,25 +157,29 @@ export function MentionTextarea({ }} /> - {mentionRange && filteredAssets.length > 0 && ( + {mentionRange && ( - {filteredAssets.map((asset, index) => ( - { - event.preventDefault(); - insertAssetMention(asset); - }} - > - @{asset.displayName} - {asset.provider} - - ))} + {filteredAssets.length === 0 ? ( + No asset found + ) : ( + filteredAssets.map((asset, index) => ( + { + event.preventDefault(); + insertAssetMention(asset); + }} + > + @{asset.displayName} + {asset.provider} + + )) + )} )}