diff --git a/packages/app/src/components/chat/ChatMessage.vue b/packages/app/src/components/chat/ChatMessage.vue index fa94a456..19698349 100644 --- a/packages/app/src/components/chat/ChatMessage.vue +++ b/packages/app/src/components/chat/ChatMessage.vue @@ -277,6 +277,13 @@ > View brief → + @@ -364,7 +371,7 @@ function submitEdit() { isEditing.value = false editContent.value = '' } -const { getContextualInlineContent, stripContentTags, stripMarkdownLinks, updatePanelFromText, panelOpen, availableTabs, setActiveTab, openFilmDetail, openBookDetail, openTVSeriesDetail, openImageDetail, openPlaceDetail, openSongDetail, openPodcastDetail, openArticleDetail, openWebsiteDetail, closeFilmDetail, closeBookDetail, closeTVSeriesDetail, closeImageDetail, closePlaceDetail, closeSongDetail, closePodcastDetail } = useContentPanel() +const { getContextualInlineContent, stripContentTags, stripMarkdownLinks, updatePanelFromText, panelOpen, availableTabs, setActiveTab, openFilmDetail, openBookDetail, openTVSeriesDetail, openImageDetail, openPlaceDetail, openSongDetail, openPodcastDetail, openArticleDetail, openWebsiteDetail, openLongFormArticle, closeFilmDetail, closeBookDetail, closeTVSeriesDetail, closeImageDetail, closePlaceDetail, closeSongDetail, closePodcastDetail } = useContentPanel() const codeContext = useCodeContext() const isUser = computed(() => props.message.role === 'user') @@ -459,6 +466,15 @@ const formattedTime = computed(() => { return d.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }) }) +// Long-form article detection (>800 words + has headings) +const isLongForm = computed(() => { + if (isUser.value) return false + const text = props.message.content + const words = text.split(/\s+/).length + const hasHeadings = /^#{2,3}\s+.+$/m.test(text) + return words > 800 && hasHeadings +}) + // Token estimate (~4 chars per token) const estimatedTokens = computed(() => Math.ceil(props.message.content.length / 4)) const showTokenCount = computed(() => props.message.content.length > 20) diff --git a/packages/app/src/components/content/ArticleDetail.vue b/packages/app/src/components/content/ArticleDetail.vue index 61c2f16b..2373efdf 100644 --- a/packages/app/src/components/content/ArticleDetail.vue +++ b/packages/app/src/components/content/ArticleDetail.vue @@ -32,14 +32,13 @@
+
Full article content is not available. Open the link below to read on the source site.