Skip to content

feat(quote-wall): post-to-wall + campaign quote wall#5969

Merged
mashbean merged 2 commits into
developfrom
feat/quote-wall
Jun 14, 2026
Merged

feat(quote-wall): post-to-wall + campaign quote wall#5969
mashbean merged 2 commits into
developfrom
feat/quote-wall

Conversation

@mashbean

Copy link
Copy Markdown
Contributor

Upstream CI mirror of #5966(原 PR 來自 fork yingshinlee,fork 觸發的 CI 拿不到 secrets、build required check 不會跑)。

此 PR 從 thematters/matters-web 內部分支開啟,讓 CI 能在帶 secrets 的 context 跑、codegen 抓 server.matters.icu 的新 schema(campaign discussion / quote wall 後端已於今日部署上 staging)。

內容與 #5966 相同。Co-Authored-By: Claude Fable 5

@mashbean mashbean requested a review from a team as a code owner June 13, 2026 11:08
@vercel

vercel Bot commented Jun 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
matters-web Ready Ready Preview Jun 14, 2026 6:58am

Request Review

yingshinlee and others added 2 commits June 14, 2026 14:44
- QuoteImageDialog: 'Post to wall' button (campaign articles only) via
  putQuote; gentle quota-reached toast on ACTION_LIMIT_EXCEEDED
- CampaignDetail/QuoteWall: compact module (desktop right aside) + chip
  entry (mobile) + full-wall dialog with shuffle (random refetch)
- QuoteCard: sticky-note card linking back to the source article; retract
  action for the poster or the source article's author (soft delete)
- museum link (freewriting.matters.town/memo-wall) in EXTERNAL_LINKS
- mount quote wall above discussion in the campaign aside / mobile chips

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- route.ts: support campaignDiscussion comment type (widened
  CommentType enum from backend) — add to CommentArgs union,
  add campaign field to commentDetail args, and resolve its href
- QuoteWall gql: type $first as first_Int_min_0_max_50 to match
  the schema's constrained scalar (codegen validation)
- QuoteWall/Discussion: drop Extract<..., WritingChallenge> wrapper
  that resolved to never (campaign is already the single fragment
  shape in generated types)
- analytics: add quote_post_to_wall click_button type
- ArticleDetail/gql: import QuoteImageDialog fragments from the leaf
  gql module instead of the React index, breaking a circular import
  that left UserDigest undefined and failed the unit test
- QuoteImageDialog: drop unused closeDialog prop destructuring
- regenerate i18n message ids (enforce-id) and apply lint/format

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mashbean mashbean merged commit 5001f7e into develop Jun 14, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants