kyd-shared-badge 0.3.46 → 0.3.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kyd-shared-badge",
3
- "version": "0.3.46",
3
+ "version": "0.3.47",
4
4
  "private": false,
5
5
  "main": "./src/index.ts",
6
6
  "module": "./src/index.ts",
@@ -115,7 +115,7 @@ const SharedBadgeDisplay = ({ badgeData, chatProps, headless }: { badgeData: Pub
115
115
  const tabs = useMemo(() => {
116
116
  const arr = [
117
117
  { key: 'overview', label: 'Overview' },
118
- ...(showRoleFit ? [{ key: 'role', label: 'Role Fit & Coaching' }] : []),
118
+ { key: 'role', label: 'Role Fit & Coaching' },
119
119
  { key: 'technical', label: 'KYD Technical' },
120
120
  { key: 'risk', label: 'KYD Risk' },
121
121
  { key: 'ai', label: 'KYD AI' },
@@ -219,8 +219,9 @@ const SharedBadgeDisplay = ({ badgeData, chatProps, headless }: { badgeData: Pub
219
219
  const RoleFitSection = () => {
220
220
  // Local state for expanding long role descriptions
221
221
  const [showFullRoleDescription, setShowFullRoleDescription] = useState(false);
222
+ const rec = assessmentResult?.recommendations;
222
223
 
223
- return !showRoleFit ? null : (
224
+ return (
224
225
  <div className={`${wrapperMaxWidth} mx-auto`}>
225
226
  <div className={'rounded-xl shadow-xl p-6 sm:p-8 mt-6 border'} style={{ backgroundColor: 'var(--content-card-background)', borderColor: 'var(--icon-button-secondary)' }}>
226
227
  <div className="space-y-10">
@@ -289,6 +290,25 @@ const SharedBadgeDisplay = ({ badgeData, chatProps, headless }: { badgeData: Pub
289
290
  <UseCases useCases={assessmentResult?.enterprise_use_cases} headless={isHeadless} badgeId={badgeId} />
290
291
  </div>
291
292
  )}
293
+ <div>
294
+ <Reveal headless={isHeadless} as={'h4'} offsetY={8} className={'text-2xl font-semibold mb-3'} style={{ color: 'var(--text-main)' }}>Recommendations</Reveal>
295
+ <Reveal headless={isHeadless}>
296
+ <div className={'space-y-3'}>
297
+ {rec?.summary ? (
298
+ <div className={'text-sm'} style={{ color: 'var(--text-secondary)' }}>{rec.summary}</div>
299
+ ) : null}
300
+ {Array.isArray(rec?.bullet_points) && (rec?.bullet_points?.length || 0) > 0 ? (
301
+ <ul className={'list-disc pl-5 text-sm'} style={{ color: 'var(--text-secondary)' }}>
302
+ {rec?.bullet_points?.map((bp, idx) => (
303
+ <li key={idx}>{bp}</li>
304
+ ))}
305
+ </ul>
306
+ ) : (!rec?.summary ? (
307
+ <div className={'text-sm'} style={{ color: 'var(--text-secondary)' }}>No recommendations available.</div>
308
+ ) : null)}
309
+ </div>
310
+ </Reveal>
311
+ </div>
292
312
  </div>
293
313
  </div>
294
314
  </div>
@@ -492,7 +512,7 @@ const SharedBadgeDisplay = ({ badgeData, chatProps, headless }: { badgeData: Pub
492
512
  </style>
493
513
  {/* Long-form original layout retained for headless/print */}
494
514
  {OverviewSection()}
495
- {showRoleFit ? <RoleFitSection /> : null}
515
+ <RoleFitSection />
496
516
  {TechnicalSection()}
497
517
  {RiskSection()}
498
518
  {AiSection()}