feat(publications): Resources frontend — detail, listing, authoring, linking#420
Open
Deepthi-Chand wants to merge 2 commits into
Open
feat(publications): Resources frontend — detail, listing, authoring, linking#420Deepthi-Chand wants to merge 2 commits into
Deepthi-Chand wants to merge 2 commits into
Conversation
…ring, linking) Read side: - (user)/publications/[id]: detail page with inline PDF + YouTube and download cards for other file types; Explore listing at /publications; 'Resources' entry in the Explore nav. - Unified search: publication type + detail redirect. Authoring (dashboard): - publications list + Create; create/edit shell (Metadata / Content / Publish tabs) with a shared typed metadata form (title, abstract, authors, date, license, Resource Type, sectors, geographies, external link — a normal form, not the dynamic-metadata renderer); block editor (YouTube + file dropzone, reorder, remove); publish toggle + 'linked to N' flag. - Resources sidebar entry on the dashboard. Linking: - PublicationLinkPicker embedded in the Use Case & Collaborative assign pages (published resources only). Infra: single RESOURCE_LABEL constant (UI says 'Resource', code says publication); codegen documents glob widened to include components/. Verified: codegen + tsc (zero new errors) + eslint clean.
Deepthi-Chand
had a problem deploying
to
development
July 20, 2026 07:47 — with
GitHub Actions
Failure
4 tasks
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.
Resources (internal name
Publication) — frontendThe UI for the new Resource entity. Users only see "Resource" (single source:
lib/constants/resourceLabel.ts); the code and API usePublication.What's included
Read side
/(user)/publications/[id]— inline PDF + YouTube, download cards for other file types, empty-state for zero-block resources./publications(reusesListingComponent type="publication") + a "Resources" entry in the Explore nav.publicationtype + detail redirect.Authoring (dashboard)
Linking
PublicationLinkPickerembedded in the Use Case & Collaborative assign pages (published resources only).Infra
config/codegen.tsdocumentsglob widened to includecomponents/**so shared components'graphql()docs are typed.Test plan
npm run generate(codegen) succeeds against the branch's schema.npx tsc --noEmit— zero new errors over the repo's pre-existing baseline.npm run lint— clean on all new/touched files.app/[locale]/(user)/publications/architecture.md, run on request (create end-to-end, block editor, edit round-trip, inline PDF/YouTube, Explore filters, unified-search result, UC/Collab link picker, "Resource" label spot-check).Reviewer notes
Buttonvariants aresuccess|basic|interactive|critical(noprimary/secondary); itsComboboxmulti-select types saystringbut pass/return value-arrays at runtime —PublicationFormcasts at that single boundary rather than typing the componentany.gql/generated/{graphql,gql}.tsare gitignored (regenerated at build) — runnpm install+npm run generatein a clean checkout.Docs:
app/[locale]/(user)/publications/architecture.md(FE slice, links the backend doc).🤖 Generated with Claude Code