+ AI-assisted matches. Review the original excerpts. Not evidenced means absent from + this resume, not a lack of ability. +
+{match.requirement}
++ {match.status === 'evidence_found' + ? 'Evidence found' + : match.status === 'partial' + ? 'Partial evidence' + : 'Not evidenced in resume'} +
+ {match.evidence.map((evidence) => ( +++ ))} +{evidence.excerpt}
+{evidence.context}
+
+ Refine the summary or reorder approved points. Achievement wording stays fixed.{' '} + {props.isGuest ? 'Guest draft stays in this browser.' : 'Each proposal uses 1 token.'} +
++ No tokens remaining. You can still apply or undo an existing proposal. +
+ )} ++ Instructions guide emphasis. Add new facts to your original resume first. +
+ > + ); +} + +function RefinementActions({ + state, + source, + disabled, + onState, + onChange, +}: { + state: RefinementState; + source: string; + disabled: boolean; + onState: (state: RefinementState) => void; + onChange: Props['onChange']; +}) { + if (state.status === 'ready' && state.before.source === source) + return ( + <> + + + > + ); + if (state.status === 'applied' && state.after.source === source) + return ( + + ); + return null; +} + +function RefinementFeedback({ state, source }: { state: RefinementState; source: string }) { + if (state.status === 'error') + return ( ++ {state.message} +
+ ); + if (state.status === 'applied' && state.after.source === source) + return ( ++ Refinement applied to this draft. Use Accept & Save to keep it in History. +
+ ); + if (state.status !== 'ready') return null; + if (state.before.source !== source) + return ( ++ Your draft changed while this proposal was prepared. Preview a fresh refinement. +
+ ); + return ( +Proposed resume. Review before applying.
+