Repository navigation
feat(feed): briefing widget for the feed widget rail - #6995
Merged
Merged
Conversation
Shows the reader's newest presidential briefing on the rail: its date, the TL;DR (summary) and, at Tall and Large, the Must know claims parsed from contentHtml with the existing brief body helpers. The whole widget opens the brief; with no brief yet it links to /briefing, where the existing generate card lives. Data comes from the existing briefingPosts connection (first: 1) through a new latestBriefingQueryOptions, batched as a secondary query and keyed under the briefing feed so generating a brief drops it too. Briefs are readable without Plus (the brief page carries the upgrade alert), so the widget keeps the registry's logged-in-only availability rather than a Plus gate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
rebelchris
marked this pull request as ready for review
October 22, 2026 07:42
…fing # Conflicts: # packages/shared/src/features/feedWidgets/components.ts
The widget drew its own text layout, which read as unfinished next to the rail's other cards. It now follows the Briefing widget in the storybook exploration (apps#6943): - Tall: the feed's brief card (BriefCardReady, the pastel brief) fills the cell edge to edge, its outline and inner ring dropped. The kind is bare from Tall up, so no widget surface frames it. - Large: split in half, the brief card on the left and the Must know claims on the right, with "Read the brief". - Small: the label with the read time, the brief's title and its first three Must know claims. The query also fetches what the card renders (savedTime, generatedAt and the collection sources), and the card's own click event carries the new TargetId.FeedWidgets. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The surface class carried flex-col, which won over the flex-row added for Large, so the brief card and the Must know list stacked: the card stopped short at the top and the list collapsed under a label row. Large is now a row, the card fills its half with square inner corners (the tile's own corner clips it), and the list is headed "Must know" as in the design. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ps into feat/feed-widget-briefing
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
briefing) to the feed widget rail, behind the existingfeed_widgetsflag.BriefCardReady, the pastel brief) fills the cell edge to edge./briefing, where the existing generate card lives.briefingPostsconnection withfirst: 1, through a newlatestBriefingQueryOptions(batched secondary query). It's keyed under the briefing feed, so generating a brief clears it too. No API change.getBriefSectionandsplitBriefBullet) through a newgetBriefKeyPoints. When a brief has no Must know section, it falls back to all bullets. TheMust knowheading is now a shared constant.impression briefonce andclick brief, withorigin: feed widgets, plus the usual post click.Test plan
jest src/features/feedWidgets src/features/briefing: newBriefingWidget.spec.tsxcovers the card at Tall, the split at Large, the Small list and its click event, the impression event, and the empty statetypecheck-strict-changed, webapptsc --noEmit🤖 Generated with Claude Code
Preview domain
https://feat-feed-widget-briefing.preview.app.daily.dev