This is a Next.js App router endeavor!
- Update MixDelta page (now live)
- Address accessibility issues with sr text vs. aria-label
- Adjust focus styling globally
- Adjust contact form styling
- Add minor metadata changes
- Adjust hero styling
- Switch icons
- Font LCP fixes
- Font LCP fixes
- Convert majority to Tailwind
- Consolidate fonts to reduce initial loads
- Various accessibility changes
- ARIA roles
- Fixing weird focusing
- Reducing DOM complexity
- Fix issue causing crosses to clip only on Firefox
- Remove svh to prevent layout shift on mobile
- Update Hero with parallax effect
- Fix mobile widths
- Make Header read colocated .json files
- Add new info to Nav links
- Make prop getters root dir agnostic
- Refactor contact form route
- Colocate props for projects
- Expand metadata for pages
- Nest and override where appropriate
- Adjust default pages
- Convert to Next 14 App router
- Convert layout related styling to tailwind
- Improve accessibility
- Focusing behavior
- Off-screen focusing
- Improve aesthetics
- Homepage hero
- Add MixDelta
- Move Markdown and AimTrainer
- Fix z-fighting for Project ScrollToTop and ImageCarousel buttons
- Darken global background
- Return to next/link but with prefetch=false
- Fix content size issue for carousel images
- Attempt to fix image carousel LCP
- Contact Form
- Type checking
- Homepage
- Attempt to fix LCP issues with thumbnails
- And _document HTML fix
- Footer
- Add obscured text for accessibility purposes
- ImageCarousel
- Attempt to address LCP issues with next/image
- Fonts
- Add font-display to gracefully swap fonts
- Really clean up homepage styling and DOM
- Nav no longer has weird borders / hover+focus behavior
- AboutMe should present correctly on mobile
- Update deps
- Clean up homepage styling and DOM
- Adjust layout of project page nav for accessibility
- Fix homepage thumbnails
- Add Lofi Cafe
- Replace Aim Trainer with Lofi Cafe
- Bandwidth consumption fixes
- Fix some issues related to null checks in various components
- Fix excessive renders related to monolithic state in some components
- Transition to TypeScript
- Minimal functionality change across all projects, just type safety and null checks and the like
- Streamline project dynamic imports / encapsulation
- Replace depcrated scroll parameter
- Add easier return to home button
- Begin addressing some accessibility issues with project navigation
- More W3C errors fixed
- Issue around mobile nav fixed
- Performance considerations for mobile
- Fix for some W3C validation errors
- Adjust font size for hero
- Method restriction for cf
- Change to dynamic routes / imports for projects
- Modify pattern for project page navigation
- Fix All Stop button on drumMachine not triggering pause events
- Code refactor for library functions
- CSS animations adjusted to non-repainting attributes
- Small layout changes
- Contact Form works
- General styling overhaul
- All projects updated
- Project information propagated getting props through markdown / json files
- Project layout finalized
- Update to Next 13
- Calculator
- Minor style / layout changes
- Pomodoro
- Add skip phase functionality
- Styling
- Pomodoro
- Initialize
- Homepage
- Remove bootstrapped footer
- Replace with version # static prop
- DrumMachine
- Lowered some state to pad component and master volume slider component
- Made more use of document api for keypress and global stops / mutes
- Home
- Link lists based on scanning pages dir
- Contains thumbs via next/image
- Link lists based on scanning pages dir
- DrumMachine
- More desktop friendly
- Calculator
- History layout shift fixed
- Calculator
- History
- Refine styling
- Keypad
- Memoize (?)
- Manually normalize vectors for explode
- Oh yeah, explodes now
- Parent
- History state updates correctly (length = 5)
- Explode simple boolean
- History
- Calculator
- History
- Items now disable when a history chunk has been inserted
- Parent
- Removes all flow state and uses function that checks chunks where conditionals are needed
- Allow history chunks to be inserted into eval string only when operators are used
- Round evaluated strings to the 100 thousandth place
- Parse double "-" as addition
- History
- Calculator
- History
- Accepts array of arrays (1 level of nest)
- Can insert any value back into active calculation
- Keypad (component)
- Accepts handler and value
- Parent
- Add most handlers
- Operator and subtract handlers need work
- Simple state to control flow
- Add most handlers
- History
- Drum Machine
- Parent
- Reworked global variables for use
- Control Panel
- Mobile layout
- Good glowy effect
- Pad
- Fine pad controls now hidden on mobile (who's using them anyway)
- Good glowy effect
- Parent
- Drum Machine
- Parent
- New Silkscreen font for global use
- Control Panel
- Add glowy effect
- Grid
- Adjust mobile gaps
- Pad
- Add glowy class-based effect upon state change
- Parent
- Drum Machine
- Parent
- Begin mobile styling
- General button polish
- Control Panel
- Begin styling
- Parent
- Drum Machine
- Parent
- Remove unnecessary state for bank
- Move globalish CSS styles to the global DrumMachine module
- Control Panel
- Style buttons based on mVolume prop
- Remove unnecessary bank prop in favor of index
- Control panel
- Remove unnecessary bank prop in favor of index
- Style buttons based on mVolume, muteAll props
- Style buttons based on local muted and loop state
- Parent
- Drum Machine
- Parent
- Global mute added
- Global sound pause added
- Switching sound banks now switches sound src for each pad
- Pad
- Now interacts properly with global mute
- Switching sound banks calls HTML5 audio DOM stuff
- Receives pulse events in form of stopAll prop and activate prop
- Loop bugfix
- Parent
- Drum Machine
- Keypress triggers for all audio
- Add display updates on audio play
- Add live volume adjustment
- Add controls for muting / looping
- Init. lots of init