Full deployment history for this project.
ā” Bolt: Optimize scroll event listener in Header component Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
perf: optimize skunkworks page rendering - Extracted GlitchHeading and ClearanceSection to separate components. - This isolates the state updates from the 5-second glitch interval to the header component, avoiding a full re-render of the SkunkworksContent page which causes the dynamic matrix background to recreate visually. Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
ā” Bolt: Optimize EasterEggListener keystroke state management Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
šØ Palette: Improve A11y and UX of stateful toggles and scroll indicator š” What: Converted the scroll indicator into an interactive link, added `aria-expanded`/`aria-controls` to the mobile menu, and added `aria-pressed` to the grid/list toggles. šÆ Why: To improve discoverability and usability for keyboard users, and accurately represent state changes for screen readers. šø Before/After: The visual changes include a focus visible ring for the scroll indicator and better states. āæ Accessibility: Significant improvements for screen readers parsing dynamic UI elements. Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
Merge pull request #1 from mbarbine/bolt/optimize-image-and-filter-92038006111047287 ā” Bolt: Optimize ProjectCard images and useMemo filter
ā” Bolt: Optimize ProjectCard images and useMemo filter - Added `sizes` prop to `next/image` in `ProjectCard` to prevent downloading `100vw` images when rendered in smaller grid columns. Reduces image payload by ~50-70% on desktop viewports. - Extracted `searchQuery.toLowerCase()` outside the `.filter` loop in `ProjectsSection` to prevent O(N) redundant string allocations. - Added early returns in the `.filter` loop to skip expensive string matching for items failing type/status checks. - Created `.jules/bolt.md` to document the learning about Next.js `<Image fill />` behavior without the `sizes` prop. - Added `.next/` and `node_modules` to `.gitignore`. Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
chore: sync project with latest changes from main Update project files and assets to latest main branch. Co-authored-by: Michael Barbine <3211492+mbarbine@users.noreply.github.com>
Fix Node.js version to 22.x in package.json and Vercel config
feat: sync changes from main to v0-barbine-portfolio-webby Update project files, components, and assets from main branch. Co-authored-by: Michael Barbine <3211492+mbarbine@users.noreply.github.com>