Full deployment history for this project.
Merge pull request #26 from mbarbine/bolt-framer-motion-scroll-progress-10839840053286002670
Merge pull request #26 from mbarbine/bolt-framer-motion-scroll-progress-10839840053286002670
Merge pull request #26 from mbarbine/bolt-framer-motion-scroll-progress-10839840053286002670
🎨 Palette: [UX improvement] Focus management for clear search Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
feat(a11y): enhance search input accessibility and focus management Added a `useRef` to target the search input in the network directory. Managed focus by automatically returning focus to the search input when either the clear search button or clear filters button is clicked. This prevents focus loss and resetting to the body when the clear button unmounts. Added `aria-label` to the search input and `aria-hidden` to purely decorative icons. Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
perf(nav): optimize scroll listener using framer-motion Replaces manual `window.addEventListener('scroll')` with Framer Motion's `useScroll` and `useMotionValueEvent` in the NetworkNav component to reduce React render overhead on high-frequency scroll events. Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
⚡ Bolt: Optimize scroll progress to prevent layout thrashing and re-renders * Switched from manual requestAnimationFrame + DOM documentElement.scrollHeight reads to Framer Motion's useScroll * Updated visual progress indicator to use motion.div with a compositor-friendly scaleX transform * Updated .jules/bolt.md with the layout thrashing learning Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
🎨 Palette: Improve keyboard focus management and screen reader announcements - Added a ref to the search input in `network-directory.tsx` to automatically return focus to the input when the "Clear search" or "Clear filters" buttons are clicked, preventing keyboard focus from resetting to the document body when those buttons are removed from the DOM. - Added `aria-hidden="true"` to `X` and `Menu` icons inside `network-nav.tsx` and `network-directory.tsx` where the parent buttons already have descriptive `aria-label`s to prevent redundant screen reader announcements. Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
🎨 Palette: [UX improvement] Refocus search input on clear - Add `aria-hidden` and `aria-label` to search input elements - Use `useRef` to programmatically focus the search input when clearing the search string - Update empty state button to also focus the input when clearing filters - Add journal entry explaining focus handling for removed DOM elements Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
⚡ Bolt: [Performance] Add `{ passive: true }` to high-frequency event listeners - Added `{ passive: true }` to `mousemove` listeners in `NetworkHero` and `CinematicSlides`. - Added `{ passive: true }` to `scroll` listener in `NetworkNav`. - Added comments explaining the performance optimization. Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
⚡ Bolt: Optimize network nav scroll listener Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
🎨 Palette: Add focus states and aria-hidden to footer links Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
Palette: [Accessibility] Improve icon-only button and link accessibility Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
Palette: [Accessibility] Improve icon-only button and link accessibility Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
🎨 Palette: Enhance accessibility of icon buttons - Added `aria-label` to the Network Directory search input - Added `aria-hidden="true"` to decorative and functional icon-only buttons (search clear, mobile menu toggle, social/RSS links) to prevent redundant screen reader announcements Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
feat: Add `aria-hidden` to decorative icons in interactive elements Adds `aria-hidden="true"` to SVG and Lucide icons that are placed within buttons or links that already have accessible labels. This prevents redundant announcements by screen readers. Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
🎨 Palette: Add aria-hidden to decorative icons and aria-label to search input Adds `aria-hidden="true"` to icon-only buttons that already have `aria-label` attributes to prevent redundant screen reader announcements. Adds `aria-label` to the main search input to improve screen reader accessibility. Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
🎨 Palette: Add ARIA label to network search input Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
🎨 Palette: Add keyboard focus-visible states to cinematic slides navigation Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
Optimize scroll progress using framer-motion - Replaced manual `requestAnimationFrame` reading DOM properties with Framer Motion's `useScroll` hook - Swapped width animation for `scaleX` transform on a `motion.div` to leverage compositor thread/GPU - Kept `currentSection` state but used `useMotionValueEvent` from framer-motion to update it only when changed - Added missing comments documenting the optimization impact per reviewer feedback Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
🎨 Palette: Add aria-hidden to decorative icons in icon-only buttons Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
Merge pull request #20 from mbarbine/bolt-optimize-network-hero-mouse-14635874424663927982 ⚡ Bolt: Optimize NetworkHero mouse tracking
Optimize NetworkHero mouse tracking with useMotionValue - Removed `useState` for `mousePosition` tracking which triggered React re-renders on every mouse move. - Replaced with Framer Motion's `useMotionValue`, `useSpring`, and `useTransform` to calculate scale and position values for the background and elements. - Applied values directly to the `style` prop of `motion.div` components to completely bypass the React render cycle, significantly improving frontend performance. Co-authored-by: mbarbine <3211492+mbarbine@users.noreply.github.com>
Merge pull request #19 from mbarbine/bolt-mouse-tracking-optimization-9322549638671317705 ⚡ Bolt: Optimize mouse tracking in CinematicSlide
Merge pull request #18 from mbarbine/palette-keyboard-a11y-14740037566812840669 🎨 Palette: [keyboard accessibility]
Merge pull request #17 from mbarbine/bolt-cursor-performance-8605170064567726874 ⚡ Bolt: Optimize PrecisionCursor React state updates
Merge pull request #14 from mbarbine/jules-10526370179900377431-6336a97c feat: Universal Schema Pack Integration
Merge pull request #13 from mbarbine/jules-4314359273625556997-cbd138e9 🎨 Palette: Added clear button ARIA labels
fix: correct AnimatePresence usage in precision-cursor component Fix multiple children warning by restructuring wrappers. Co-authored-by: Michael Barbine <3211492+mbarbine@users.noreply.github.com>
Merge pull request #12 from mbarbine/v0/mbarbine-212478f0 Enhance UI responsiveness and visual feedback with custom cursor
Merge pull request #11 from mbarbine/ui-implementation Improve UI responsiveness and interaction feedback
Merge pull request #10 from mbarbine/v0/mbarbine-bddf47aa Build DNS management platform with Supabase integration
Merge pull request #9 from mbarbine/v0/mbarbine-6311e825-2 Initialize project and optimize codebase structure
Merge pull request #8 from mbarbine/v0/mbarbine-5b33f595 Fix slide transition errors and improve SEO discoverability
Merge pull request #4 from mbarbine/dynamic-site-updates Implement cinematic slideshow with live data and WebGL effects
Merge pull request #3 from mbarbine/platphorm-slides-build Implement 20-slide presentation system for PlatPhorm network
Merge pull request #2 from mbarbine/dynamic-web-application-development Enhance slides platform with network slides and documentation