PR: #499: [Story-2000] Matter Brief page by @ankitmaheshwari-com
View PR →

Files changed

107 file(s), +11599 / -3528 lines

Path Role + -
messages/en.jsonConfig+46-0
messages/hi.jsonConfig+46-0
openapi/app-api.jsonConfig+4918-3522
openapi/permission-map.jsonConfig+52-0
src/app/[locale]/(workspace)/matters/[matterId]/page.test.tsxApp route+20-2
src/app/[locale]/(workspace)/matters/[matterId]/page.tsxApp route+21-4
src/app/api/internal/matters/[matterId]/brief/route.tsApp route+32-0
src/app/api/internal/matters/[matterId]/frame-status/route.tsApp route+32-0
src/app/api/internal/matters/[matterId]/frame/proposals/[field]/accept/route.tsApp route+44-0
src/app/api/internal/matters/[matterId]/frame/proposals/[field]/reject/route.tsApp route+44-0
src/app/api/internal/matters/[matterId]/frame/route.tsApp route+43-0
src/components/matter-detail/brief/matter-brief-page.stories.tsxComponent+162-0
src/components/matter-detail/brief/matter-brief-page.tsxComponent+126-0
src/components/matter-detail/brief/matter-brief-sections.tsxComponent+219-0
src/components/matter-detail/brief/presentation.tsComponent+101-0
src/gen/client/appAcceptMatterFrameProposal.tsGenerated contract+76-0
src/gen/client/appEditMatterFrame.tsGenerated contract+73-0
src/gen/client/appGetMatterBrief.tsGenerated contract+63-0
src/gen/client/appLockMatterFrameField.tsGenerated contract+75-0
src/gen/client/appRejectMatterFrameProposal.tsGenerated contract+76-0
src/gen/client/appUnlockMatterFrameField.tsGenerated contract+65-0
src/gen/client/index.tsGenerated contract+6-0
src/gen/hooks/index.tsGenerated contract+28-0
src/gen/hooks/useAppAcceptMatterFrameProposal.tsGenerated contract+167-0
src/gen/hooks/useAppEditMatterFrame.tsGenerated contract+156-0
src/gen/hooks/useAppGetMatterBrief.tsGenerated contract+127-0
src/gen/hooks/useAppGetMatterBriefSuspense.tsGenerated contract+125-0
src/gen/hooks/useAppLockMatterFrameField.tsGenerated contract+161-0
src/gen/hooks/useAppRejectMatterFrameProposal.tsGenerated contract+167-0
src/gen/hooks/useAppUnlockMatterFrameField.tsGenerated contract+151-0
src/gen/index.tsGenerated contract+229-0
src/gen/schemas/briefAuthority.jsonGenerated contract+7-0
src/gen/schemas/matterBriefCanonicalView.jsonGenerated contract+126-0
src/gen/schemas/matterBriefClockView.jsonGenerated contract+69-0
src/gen/schemas/matterBriefFieldLockView.jsonGenerated contract+30-0
src/gen/schemas/matterBriefForumView.jsonGenerated contract+20-0
src/gen/schemas/matterBriefFrameView.jsonGenerated contract+86-0
src/gen/schemas/matterBriefLocksView.jsonGenerated contract+52-0
src/gen/schemas/matterBriefPartyView.jsonGenerated contract+45-0
src/gen/schemas/matterBriefStageView.jsonGenerated contract+45-0
src/gen/schemas/matterBriefValueView.jsonGenerated contract+24-0
src/gen/schemas/matterBriefView.jsonGenerated contract+354-0
src/gen/schemas/matterFrameAcceptRequest.jsonGenerated contract+74-0
src/gen/schemas/matterFrameContentStatus.jsonGenerated contract+7-0
src/gen/schemas/matterFrameEditRequest.jsonGenerated contract+17-0
src/gen/schemas/matterFrameLockRequest.jsonGenerated contract+13-0
src/gen/schemas/matterFrameLockView.jsonGenerated contract+30-0
src/gen/schemas/matterFrameRatifyView.jsonGenerated contract+248-0
src/gen/schemas/matterFrameRejectRequest.jsonGenerated contract+14-0
src/gen/schemas/matterFrameSource.jsonGenerated contract+7-0
src/gen/schemas/matterFrameVersionView.jsonGenerated contract+69-0
src/gen/types/AppAcceptMatterFrameProposal.tsGenerated contract+82-0
src/gen/types/AppEditMatterFrame.tsGenerated contract+76-0
src/gen/types/AppGetMatterBrief.tsGenerated contract+69-0
src/gen/types/AppLockMatterFrameField.tsGenerated contract+81-0
src/gen/types/AppRejectMatterFrameProposal.tsGenerated contract+82-0
src/gen/types/AppUnlockMatterFrameField.tsGenerated contract+74-0
src/gen/types/BriefAuthority.tsGenerated contract+13-0
src/gen/types/MatterBriefCanonicalView.tsGenerated contract+44-0
src/gen/types/MatterBriefClockView.tsGenerated contract+25-0
src/gen/types/MatterBriefFieldLockView.tsGenerated contract+31-0
src/gen/types/MatterBriefForumView.tsGenerated contract+22-0
src/gen/types/MatterBriefFrameView.tsGenerated contract+76-0
src/gen/types/MatterBriefLocksView.tsGenerated contract+23-0
src/gen/types/MatterBriefPartyView.tsGenerated contract+35-0
src/gen/types/MatterBriefStageView.tsGenerated contract+41-0
src/gen/types/MatterBriefValueView.tsGenerated contract+25-0
src/gen/types/MatterBriefView.tsGenerated contract+36-0
src/gen/types/MatterFrameAcceptRequest.tsGenerated contract+26-0
src/gen/types/MatterFrameContentStatus.tsGenerated contract+16-0
src/gen/types/MatterFrameEditRequest.tsGenerated contract+19-0
src/gen/types/MatterFrameLockRequest.tsGenerated contract+16-0
src/gen/types/MatterFrameLockView.tsGenerated contract+31-0
src/gen/types/MatterFrameRatifyView.tsGenerated contract+33-0
src/gen/types/MatterFrameRejectRequest.tsGenerated contract+16-0
src/gen/types/MatterFrameSource.tsGenerated contract+13-0
src/gen/types/MatterFrameVersionView.tsGenerated contract+59-0
src/gen/types/index.tsGenerated contract+102-0
src/gen/zod/appAcceptMatterFrameProposalSchema.tsGenerated contract+97-0
src/gen/zod/appEditMatterFrameSchema.tsGenerated contract+96-0
src/gen/zod/appGetMatterBriefSchema.tsGenerated contract+88-0
src/gen/zod/appLockMatterFrameFieldSchema.tsGenerated contract+97-0
src/gen/zod/appRejectMatterFrameProposalSchema.tsGenerated contract+97-0
src/gen/zod/appUnlockMatterFrameFieldSchema.tsGenerated contract+89-0
src/gen/zod/briefAuthoritySchema.tsGenerated contract+17-0
src/gen/zod/index.tsGenerated contract+90-0
src/gen/zod/matterBriefCanonicalViewSchema.tsGenerated contract+65-0
src/gen/zod/matterBriefClockViewSchema.tsGenerated contract+34-0
src/gen/zod/matterBriefFieldLockViewSchema.tsGenerated contract+26-0
src/gen/zod/matterBriefForumViewSchema.tsGenerated contract+20-0
src/gen/zod/matterBriefFrameViewSchema.tsGenerated contract+80-0
src/gen/zod/matterBriefLocksViewSchema.tsGenerated contract+35-0
src/gen/zod/matterBriefPartyViewSchema.tsGenerated contract+32-0
src/gen/zod/matterBriefStageViewSchema.tsGenerated contract+35-0
src/gen/zod/matterBriefValueViewSchema.tsGenerated contract+31-0
src/gen/zod/matterBriefViewSchema.tsGenerated contract+45-0
src/gen/zod/matterFrameAcceptRequestSchema.tsGenerated contract+41-0
src/gen/zod/matterFrameContentStatusSchema.tsGenerated contract+17-0
src/gen/zod/matterFrameEditRequestSchema.tsGenerated contract+24-0
src/gen/zod/matterFrameLockRequestSchema.tsGenerated contract+25-0
src/gen/zod/matterFrameLockViewSchema.tsGenerated contract+28-0
src/gen/zod/matterFrameRatifyViewSchema.tsGenerated contract+45-0
src/gen/zod/matterFrameRejectRequestSchema.tsGenerated contract+25-0
src/gen/zod/matterFrameSourceSchema.tsGenerated contract+17-0
src/gen/zod/matterFrameVersionViewSchema.tsGenerated contract+42-0
src/lib/kubb-client.tsLibrary+26-0
src/lib/matters/gateway.tsLibrary+81-0

Story-2000: Matter Brief page

The matter detail route now fills the existing Brief work mode with the authority-labeled Brief assembly from GET /app/matters/{id}/brief and the build liveness from GET /app/matters/{id}/frame-status. The Matter ribbon, Worknav, and Matter action rail remain the existing shell chrome.

States

Edit and ratify

Text fields reuse EditableSurface. Blur commits counsel edits through PATCH /app/matters/{id}/frame. Proposed fields show the existing confirm/reject affordance and call the generated accept/reject mutations.

Verification surface

Storybook stories seed the generated TanStack Query cache for all five states, so the same component and generated hooks render without Clerk or a live backend.

Known seam

The empty-state inline upload affordance is rendered as the Brief entry point. The full direct-to-S3 queue remains owned by the existing Matter action rail intake flow and is not duplicated in this Brief body.