Skip to content

fix(onboarding): use brand mark in recovery cards - #115

Merged
iamjr15 merged 1 commit into
mainfrom
fix/onboarding-brand-mark
Aug 2, 2026
Merged

fix(onboarding): use brand mark in recovery cards#115
iamjr15 merged 1 commit into
mainfrom
fix/onboarding-brand-mark

Conversation

@iamjr15

@iamjr15 iamjr15 commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Summary

  • replace the generic Sparkles icon in both onboarding recovery states with the Cheatcode brand mark
  • generalize the shared recovery-card visual slot so branded visuals and Lucide icons use one accessible API
  • preserve the existing card dimensions, icon sizing, action behavior, and Lucide stroke weight

Context

Direct user-reported onboarding UI defect; no Linear issue or plan document was created for this focused fix.

Decisions Made

Decision Choice Alternatives considered Reasoning
Recovery visual API Accept a component slot with className and aria-hidden Duplicate a card, add a brand-specific boolean, or wrap the mark as a fake Lucide icon Keeps one recovery surface and lets the caller choose the correct visual without vendor coupling
Lucide stroke styling Apply stroke width through the shared class Keep a Lucide-only strokeWidth prop Preserves existing icon appearance while allowing non-SVG brand components

How to Review

  1. Review recovery-card.tsx for the generalized visual contract.
  2. Review onboarding-flow.tsx for both branded recovery-state call sites.

Verification

  • pnpm lint
  • pnpm typecheck
  • pnpm turbo build --force
  • pnpm deadcode
  • pnpm architecture:check
  • pnpm turbo skills:build
  • local stack started through the documented Compose flow
  • direct authenticated browser flow reached Setup needs one more step
  • DOM confirmed CheatcodeMark present, lucide-sparkles absent, and Finish setup enabled
  • visual screenshot confirmed the 18px mark remains centered in the existing 44px recovery visual

Render the Cheatcode mark in onboarding retry and load-error states.

Generalize the recovery-card visual slot for Lucide and branded visuals.
@iamjr15
iamjr15 merged commit bb71f72 into main Aug 2, 2026
4 checks passed
@iamjr15
iamjr15 deleted the fix/onboarding-brand-mark branch August 2, 2026 11:46
iamjr15 added a commit that referenced this pull request Aug 2, 2026
## Summary
- replace the two remaining generic Lucide `Sparkles` icons in
skills-catalog recovery cards with `CheatcodeMark`
- remove the now-unused `Sparkles` exports from the web icon barrels
- preserve the custom orange onboarding `Sparkle` artwork and vendored
Office schema value

## Context
Follow-up to #115 from a direct codebase audit; no Linear issue or plan
document was created for this focused cleanup.

## Decisions Made
| Decision | Choice | Alternatives considered | Reasoning |
|---|---|---|---|
| Skills recovery visual | Reuse `CheatcodeMark` through the existing
`RecoveryCard` component slot | Keep the generic icon or add a
brand-specific mode | Matches onboarding recovery states without
duplicating surfaces or adding boolean API modes |
| Remaining sparkle artwork | Preserve the custom onboarding SVGs |
Replace every star-shaped visual | Those SVGs are intentional Paper
design-system artwork, not generic Lucide placeholders |
| Icon barrel | Remove `Sparkles` entirely | Leave an unused export |
Prevents accidental reuse and is verified by the dead-code and
repository search checks |

## How to Review
1. Review `integration-skills-grid.tsx` for both recovery-state callers.
2. Confirm `icons.ts` and `index.ts` only remove the unused Lucide
export.

## Verification
- [x] repository search finds no `Sparkles` or `lucide-sparkles`
references
- [x] `pnpm lint`
- [x] `pnpm typecheck`
- [x] `pnpm turbo build --force`
- [x] `pnpm deadcode`
- [x] `pnpm architecture:check`
- [x] `pnpm turbo skills:build`
- [x] local Next.js process started and the Clerk sign-in route returned
HTTP 200
- [ ] protected `/skills` visual state was not entered because the
browser's autofilled development account is not registered in this Clerk
instance; no auth data was created or changed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant