Authoring lane: targeting disclosure renders bare after Disclosure variant="plain"
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 76/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- frontend
Research direction
Start with src/components/features/ResumeTargeting.tsx, then compare its mounts in src/Result.tsx and the authoring branch of src/App.tsx. Trace the variant through TargetingSection.tsx and add coverage for each mount site's choice; done means the score-card row remains plain while the authoring-lane disclosure has visible chrome and inset.
Written by the indexing model from the issue text.
Description
Problem
The targeting disclosure ("Targeting & improvements") is TargetingSection in src/components/features/TargetingSection.tsx. It now always renders the shared Disclosure with variant="plain". That variant was added in #1010 (#680 item 8). It drops the disclosure's own border, background, rounding and horizontal inset, and relies on the surrounding surface to draw them. The inline justification says this section "lives inside the score card's own bordered details region now".
That is true on /. There, Result.tsx mounts ResumeTargeting → TargetingSection inside ParsedCard's bordered, padded Card.
It is not true in the from-scratch authoring lane. src/App.tsx, in the state.phase === "authoring" branch, mounts <ScoreDetails> → <ResumeTargeting> directly in a bare flex flex-col gap-4 div. The block comment there says so explicitly: "And no score Card around it: this lane never had one." ResumeTargeting.tsx is the single call site of TargetingSection, so both lanes get the same variant.
Result in the authoring lane
- Before #1010: a bordered, card-backed disclosure row with a
px-5inset. - After #1010: bare summary text sits on the page background, flush with the container's left edge, with no border. It is the region's only child, so
last:border-b-0also removes the divider. The expanded body has no inset either.
It sits directly above the résumé Card, which still has its full chrome, so the two surfaces no longer match.
Proposed fix
Choose the variant at the mount site instead of hard-coding it in the leaf:
- Add
variant?: "card" | "plain"toResumeTargeting, and forward it toTargetingSection→Disclosure. Default it to"card", matchingDisclosure's own default. - In
Result.tsx, passvariant="plain". That is the one mount that sits inside a bordered card. - Leave the authoring-lane mount in
App.tsxon the default.
Or give the authoring lane a Card around its ScoreDetails to match /. That is a larger visual change, so it needs a product decision.
Acceptance criteria
- On
/, "Targeting & improvements" still renders as a plain row inside the score card (no regression to #680 item 8). - In the authoring lane, the targeting disclosure has visible chrome again (bordered card or equivalent) and is not bare text on the page background.
- A test pins which variant each mount site uses.
Provenance: found reviewing #1010.
- Dominant language
- TypeScript
- Stars
- 11
- Forks
- 4
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 40
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from offlinecv/OfflineCV
-
chore
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
testing
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
improvement ux:edit-export
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
refactor testing
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
chore
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
All issues in offlinecv/OfflineCV
Similar issues
-
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
motiondivision/motion#3849 ·
-
Add: S Play Event HD Opencheck:passed streams:add
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
i-am-bee/beeai-framework#1697 · 1 reaction ·
-
Support bun dedupe Openenhancement
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
antfu/node-modules-inspector#214 ·