Skip to content

Conversation

satishwaghela
Copy link
Contributor

Major Changes

Architecture Improvements

  • Refactored AssetSelectionModal: Split monolithic component into composable hooks

    • Extracted useAssetSelectionContent hook (806 lines) for shared selection logic
    • Created AssetSelectionDrawer component for drawer variant
    • Reduced main modal component from 700+ to 18 lines
    • Enables reuse across modal and drawer UI patterns
  • Domain component reorganization:

    • Renamed DomainDetailsPageDomainDetails for consistency
    • Deleted legacy DomainPage.component.tsx (336 lines)
    • Centralized domain page styles in DomainPageStyles.ts

UI/UX Enhancements

  • Breadcrumbs: Changed to plural labels across all pages

    • "Domain" → "Domains" in listings and detail pages
    • "Data Product" → "Data Products" in listings and detail pages
    • Updated sidebar navigation labels to match
  • Scroll behavior fixes:

    • Removed fixed height constraints causing nested scrolls in right panels
    • Changed from height: @domain-page-height to min-height: 70vh
    • Applied to both Domain (domain.less) and Data Product (data-products-details-page.less) detail pages
    • Now uses single body scroll for better UX
  • Visual improvements:

    • Added white text color to MUI tooltips for better contrast on black background
    • Enhanced GenericProvider with muiTags prop support
    • Added new CoverImage component for domain/data product headers
    • Improved useBreadcrumbs hook with 187 lines of enhancements

Bug Fixes

  • TypeScript errors in NotistackUtils.tsx:
    • Fixed implicit 'any' type for snackbarId parameters (4 instances)
    • Added type assertion for i18n.t() return value
    • All type errors resolved

Component Improvements

  • Enhanced TagsViewer with MUI tooltip support
  • Updated TagChip component for better tag display
  • Improved EntityAvatar component
  • Refined drawer hooks with better type safety

Describe your changes:

Fixes

I worked on ... because ...

Type of change:

  • Bug fix
  • Improvement
  • New feature
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation

Checklist:

  • I have read the CONTRIBUTING document.
  • My PR title is Fixes <issue-number>: <short explanation>
  • I have commented on my code, particularly in hard-to-understand areas.
  • For JSON Schema changes: I updated the migration scripts or explained why it is not needed.

…hancements

## Major Changes

### Architecture Improvements
- **Refactored AssetSelectionModal**: Split monolithic component into composable hooks
  - Extracted `useAssetSelectionContent` hook (806 lines) for shared selection logic
  - Created `AssetSelectionDrawer` component for drawer variant
  - Reduced main modal component from 700+ to 18 lines
  - Enables reuse across modal and drawer UI patterns

- **Domain component reorganization**:
  - Renamed `DomainDetailsPage` → `DomainDetails` for consistency
  - Deleted legacy `DomainPage.component.tsx` (336 lines)
  - Centralized domain page styles in `DomainPageStyles.ts`

### UI/UX Enhancements
- **Breadcrumbs**: Changed to plural labels across all pages
  - "Domain" → "Domains" in listings and detail pages
  - "Data Product" → "Data Products" in listings and detail pages
  - Updated sidebar navigation labels to match

- **Scroll behavior fixes**:
  - Removed fixed height constraints causing nested scrolls in right panels
  - Changed from `height: @domain-page-height` to `min-height: 70vh`
  - Applied to both Domain (domain.less) and Data Product (data-products-details-page.less) detail pages
  - Now uses single body scroll for better UX

- **Visual improvements**:
  - Added white text color to MUI tooltips for better contrast on black background
  - Enhanced GenericProvider with `muiTags` prop support
  - Added new `CoverImage` component for domain/data product headers
  - Improved `useBreadcrumbs` hook with 187 lines of enhancements

### Bug Fixes
- **TypeScript errors in NotistackUtils.tsx**:
  - Fixed implicit 'any' type for `snackbarId` parameters (4 instances)
  - Added type assertion for i18n.t() return value
  - All type errors resolved

### Component Improvements
- Enhanced TagsViewer with MUI tooltip support
- Updated TagChip component for better tag display
- Improved EntityAvatar component
- Refined drawer hooks with better type safety
Copy link
Contributor

github-actions bot commented Oct 9, 2025

The Python checkstyle failed.

Please run make py_format and py_format_check in the root of your repository and commit the changes to this PR.
You can also use pre-commit to automate the Python code formatting.

You can install the pre-commit hooks with make install_test precommit_install.

Copy link
Contributor

github-actions bot commented Oct 9, 2025

Jest test Coverage

UI tests summary

Lines Statements Branches Functions
Coverage: 63%
63.13% (46158/73113) 40.16% (21769/54209) 43.44% (6922/15933)

- Add MUICoverImageUpload component with drag-and-drop support
- Implement vertical reposition functionality for cover images
- Integrate cover image field in AddDomainForm
- Update CoverImage component to support position object format
- Add COVER_IMAGE_UPLOAD_MUI field type to form utils
- Support empty entityLink for uploads during domain creation
- Add translations for cover image upload UI

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Copy link
Contributor

The Python checkstyle failed.

Please run make py_format and py_format_check in the root of your repository and commit the changes to this PR.
You can also use pre-commit to automate the Python code formatting.

You can install the pre-commit hooks with make install_test precommit_install.

- Update DomainDetails and DataProductsDetailsPage to pass cover image URL and position to CoverImage component
- Implement authenticated image loading with proper loading states in CoverImage component
- Add gray background during authenticated image loading to prevent 401 error flash
- Implement conditional rendering in MUICoverImageUpload to show loading spinner for authenticated images
- Add comprehensive data-testid attributes for both components to improve testability
- Use theme colors for loading backgrounds instead of hardcoded values

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Create reusable createEntityWithCoverImage utility function
- Refactor domain, subdomain, and data product creation to use generic function
- Fix cover image preview and reposition functionality for client-side handling
- Remove unused AddDomain component and /domain/add route
- Remove dead DomainLeftPanel component
- Reduce code duplication by 77% (344 lines → 79 lines)
- Add proper TypeScript types and ESLint compliance

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
- Update CoverImageUploadUtils to send coverImage as nested object
- Change from flat structure (coverImage: url, coverImagePosition: number)
- Change to nested structure (coverImage: { url: string, position: string })
- Update DomainDetails to read from nested coverImage object
- Update DataProductsDetailsPage to read from nested coverImage object
- Convert position between CSS string format ("20px") and pixel number (20)
- Fix DomainRouter test by removing deleted AddDomain component references
- Add type assertions for compatibility until backend types are regenerated

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe to test Add this label to run secure Github workflows on PRs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant