Skip to content

feat(WOT-21): Implement clickable subcategories and dynamic routing - #18

Merged
ar1603 merged 7 commits into
developmentfrom
amitraikwar/WOT-21/implement-clickable-subcategories
May 12, 2026
Merged

ar1603 merged 7 commits into
developmentfrom
amitraikwar/WOT-21/implement-clickable-subcategories

Conversation

@ar1603

@ar1603 ar1603 commented May 12, 2026

Copy link
Copy Markdown
Member

Description of changes

This PR implements dynamic routing and data-driven rendering for categories and subcategories, improving the navigation experience and maintainability of the codebase.

Requirement

  • Subcategory cards are clickable and navigate to the correct route.
  • The ContentViewer screen renders correctly with the subcategory identifier.
  • The SideNavBar collapses to an icon-only mode with small labels below icons on subcategory routes.
  • Transitions between expanded and collapsed sidebar states are smooth.

Implementation

  • Data-driven Categories: Centralized subcategory data in src/data/categories and refactored category screens to use a generic CategoryScreen component.
  • Dynamic Routing: Configured /:categoryId and /:category/:subcategory routes in Routes.tsx.
  • ContentViewer: Created a common ContentViewer screen to handle subcategory deep-dives with breadcrumb support.
  • Collapsible Sidebar: Updated SideNavBar to automatically collapse into a compact, icon-centric mode when navigating into subcategory views, ensuring focus on content while maintaining navigation access.
  • Cleanup: Removed legacy static category screens to reduce redundancy.

Ticket: https://ar1603.atlassian.net/browse/WOT-21
Author: Amit Raikwar

ar1603 added 7 commits May 12, 2026 19:17
- Update categories with subcategory references.
- Define subcategory paths and icons for dynamic routing.
- Prepare data structure for data-driven screen rendering.
- Create generic CategoryScreen to handle all category IDs.
- Implement CategoryLayout for consistent rendering of subcategory cards.
- Enable navigation to subcategory routes via clickable cards.
- Implement common ContentViewer screen to display subcategory information.
- Add breadcrumb navigation for better user context.
- Integrate placeholder for dynamic content synchronization.
- Define :categoryId and :category/:subcategory routes.
- Lazy-load new screens for performance optimization.
- Update application router to handle dynamic parameters.
- Add logic to detect subcategory routes and trigger compact mode.
- Implement smooth transitions between expanded and collapsed states.
- Update sidebar UI to icon-only mode with labels below for subcategory views.
- Delete individual category screen files (Software, Infrastructure, etc.).
- Finalize migration to data-driven dynamic screen rendering.
- Streamline codebase by removing redundant component definitions.
- Add unit tests for CategoryScreen and ContentViewer.
- Update snapshots for components affected by routing and layout changes.
- Add missing localization strings for subcategories.
- Ensure full test coverage for dynamic routing logic.
@ar1603
ar1603 merged commit 4f6720f into development May 12, 2026
1 check passed
@ar1603
ar1603 deleted the amitraikwar/WOT-21/implement-clickable-subcategories branch May 14, 2026 08:42
ar1603 added a commit that referenced this pull request May 14, 2026
* fix(WOT-20): Branding and Navigation Fixes (merged)

- Centralized URLs in constants.tsx
- Updated CopyrightFooter to use dynamic year and constants
- Fixed TopNavBar GitHub link and routing issue
- Updated test snapshots

* chore(release): v0.2.0 [skip ci] (#16)

Co-authored-by: WorldOfTech bot <conventional.changelog.action@github.com>

* feat(WOT-21): Implement clickable subcategories and dynamic routing (#18)

Merge feat(WOT-21): Implement clickable subcategories and dynamic routing

* feat(WOT-22): Implement Documentation Portal UI and Tool Guides (#19)

* docs(WOT-22): add initial tool documentation guides

- Added comprehensive documentation for various tool categories:
  - Audio tools
  - Developer tools
  - Educational tools
  - File tools
  - Gaming tools
  - Image tools
  - Internet tools
  - Social media tools
  - System tools
  - Text tools
  - Video tools
- These guides provide the foundational content for the new documentation portal.

* feat(WOT-22): implement core documentation portal UI components

- Implemented MdPreview component for rendering markdown content with:
  - Custom styling for documentation elements
  - LinkPreview integration for hover-based URL metadata
  - Performance-optimized useLinkPreview hook
- Added TableOfContents component:
  - Sticky positioning for easy navigation
  - Dynamic extraction of headings from content
- Added SubcategorySideBar for specialized navigation within tool categories.
- Included comprehensive test suites for all new components to ensure reliability.

* refactor(WOT-22): integrate documentation portal components and update theme

- Integrated Documentation Portal components into main layouts:
  - Updated CategoryLayout to support new sidebar and content flow.
  - Refactored ContentViewer to handle markdown rendering via MdPreview.
- Updated theme and global configurations:
  - Enhanced theme tokens for better visual consistency.
  - Updated craco and jest configurations to support new component requirements.
- Expanded localization and data structures:
  - Added tool-specific strings to en/main.json.
  - Updated category and subcategory data to map to new documentation files.
- Refreshed all test snapshots to reflect the UI enhancements.
- Updated dependencies in package.json and yarn.lock.

* feat(WOT-23): establish agent governance and tooling rules

feat(WOT-23): establish agent governance and tooling rules (#20)

- Created formal governance structure in .claude/rules/
- Implemented PROJECT.md rule for mandatory documentation (README, CLAUDE, AGENT) and test coverage
- Implemented TOOLS.md rule for optimized git-aware CLI usage (git grep, git ls-files)
- Updated DEVELOPER.md agent definition to strictly follow these new rules
- Synchronized root README.md, .claude/CLAUDE.md, and AGENT.md to reflect the new structure
- Reorganized .claude folder for better rule management

* chore(release): v0.2.0 [skip ci] (#21)

Co-authored-by: WorldOfTech bot <conventional.changelog.action@github.com>

---------

Co-authored-by: WorldOfTech bot <conventional.changelog.action@github.com>
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