Skip to content

Comments

UI/UX improvements and search enhancements#3

Merged
danielspofford merged 1 commit intomainfrom
spoff/iterate
Sep 18, 2025
Merged

UI/UX improvements and search enhancements#3
danielspofford merged 1 commit intomainfrom
spoff/iterate

Conversation

@danielspofford
Copy link
Contributor

Core Search & Navigation

  • Add comprehensive search functionality with three indicator types:
    • Direct hit: property matches search directly
    • Indirect hit: property contains nested matches
    • Both hit: property matches directly AND has nested matches
  • Implement keyboard shortcuts modal with comprehensive help
  • Add search examples support (configurable via settings)
  • Enhance hash-based navigation with proper pattern property support
  • Add keyboard shortcut for search (press 's'), examples toggle ('e')
  • Add search hit visual indicators with color-coded feedback
  • Add examples hidden indicator when examples are toggled off

Component Architecture

  • Add new Modal and KeyboardModal components for better UX
  • Enhance Tooltip component with long-press support and focus management
  • Improve OneOfSelector with search hit indicators and better styling
  • Refactor AllOfSelector to properly merge properties without 'allof' paths
  • Add Badge variants for custom types and default values

Schema Processing

  • Fix allOf pattern property extraction and path generation
  • Improve schema resolution with proper $ref handling and allOf merging
  • Add enum ID detection and custom enum badge styling
  • Enhance pattern property rendering with correct path structures
  • Preserve original $ref information for better enum descriptions

Settings & Configuration

  • Add search includes examples option to settings
  • Restructure settings modal using new Modal component
  • Improve settings persistence and option management
  • Add keyboard shortcuts help integration

Testing

  • Add comprehensive test suite covering search functionality
  • Add AllOf fix validation tests
  • Add utility function tests for hash conversion and schema type detection
  • Add real-world schema testing scenarios

Developer Experience

  • Improve TypeScript types and error handling
  • Add proper prop validation and default values
  • Enhance code organization and component separation
  • Add extensive JSDoc comments for utility functions

Bug Fixes

  • Fix pattern property navigation and anchor generation
  • Resolve AllOf property duplication issues
  • Correct search result filtering and expansion logic
  • Fix tooltip interaction and focus management
  • Resolve CSS selector conflicts and specificity issues

ESLint & GitHub Actions

  • Tighten ESLint rules: convert warnings to errors for better code quality
  • Update GitHub workflow triggers to use only 'main' branch
  • Enable strict TypeScript unused locals/parameters checking

Core Search & Navigation

- Add comprehensive search functionality with three indicator types:
  - Direct hit: property matches search directly
  - Indirect hit: property contains nested matches
  - Both hit: property matches directly AND has nested matches
- Implement keyboard shortcuts modal with comprehensive help
- Add search examples support (configurable via settings)
- Enhance hash-based navigation with proper pattern property support
- Add keyboard shortcut for search (press 's'), examples toggle ('e')
- Add search hit visual indicators with color-coded feedback
- Add examples hidden indicator when examples are toggled off

Component Architecture

- Add new Modal and KeyboardModal components for better UX
- Enhance Tooltip component with long-press support and focus management
- Improve OneOfSelector with search hit indicators and better styling
- Refactor AllOfSelector to properly merge properties without 'allof' paths
- Add Badge variants for custom types and default values

Schema Processing

- Fix allOf pattern property extraction and path generation
- Improve schema resolution with proper $ref handling and allOf merging
- Add enum ID detection and custom enum badge styling
- Enhance pattern property rendering with correct path structures
- Preserve original $ref information for better enum descriptions

Settings & Configuration

- Add search includes examples option to settings
- Restructure settings modal using new Modal component
- Improve settings persistence and option management
- Add keyboard shortcuts help integration

Testing

- Add comprehensive test suite covering search functionality
- Add AllOf fix validation tests
- Add utility function tests for hash conversion and schema type detection
- Add real-world schema testing scenarios

Developer Experience

- Improve TypeScript types and error handling
- Add proper prop validation and default values
- Enhance code organization and component separation
- Add extensive JSDoc comments for utility functions

Bug Fixes

- Fix pattern property navigation and anchor generation
- Resolve AllOf property duplication issues
- Correct search result filtering and expansion logic
- Fix tooltip interaction and focus management
- Resolve CSS selector conflicts and specificity issues

ESLint & GitHub Actions

- Tighten ESLint rules: convert warnings to errors for better code quality
- Update GitHub workflow triggers to use only 'main' branch
- Enable strict TypeScript unused locals/parameters checking
@danielspofford danielspofford marked this pull request as ready for review September 18, 2025 07:16
@danielspofford danielspofford merged commit 6709ffa into main Sep 18, 2025
2 checks passed
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