Conversation
673720c to
73322b5
Compare
73322b5 to
ebf9c70
Compare
There was a problem hiding this comment.
Pull Request Overview
This pull request refactors components that previously used popover identifiers to now use drawer/dialog functionality, and upgrades the underlying Node.js environment and dependencies. Key changes include updating component props from popover to drawer, refactoring the Drawer component to use a dialog element with new animation logic, and enhancing button interactions with new command attributes.
Reviewed Changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| packages/frontend/src/features/transaction/TransactionTemplateSwitcher.tsx | Replaced popover refs and actions with drawer refs and command attributes. |
| packages/frontend/src/features/transaction/TransactionDeleteDrawer.tsx | Updated button actions to use drawer commands. |
| packages/frontend/src/features/template/TemplateDelete.tsx | Renamed popover identifiers to drawer identifiers. |
| packages/frontend/src/features/category/CategoryDeleteDrawer.tsx | Updated cancel button to use drawer command attributes. |
| packages/frontend/src/features/account/AccountUpdateMarketValueDrawer.tsx | Changed prop names from popperId to drawerId and updated ref usage. |
| packages/frontend/src/features/account/AccountDeleteDrawer.tsx | Updated button actions from popover to drawer commands. |
| packages/frontend/src/components/elements/PopperItem.tsx | Updated component prop from popperId to drawerId and adjusted button command usage. |
| packages/frontend/src/components/elements/Button/Button.tsx | Integrated new command and commandFor attributes for button behavior. |
| packages/frontend/src/components/blocks/Drawer.tsx | Refactored to use a dialog element with updated animation/styling and removed forwardRef. |
| packages/frontend/src/assets/tailwind.css | Updated CSS selectors and removed problematic styles related to popovers. |
| packages/frontend/package.json | Added invokers-polyfill dependency. |
| packages/frontend/app/layout.tsx | Integrated invokers-polyfill logic for HTML dialog support. |
| packages/frontend/app/(application)/transactions/[id]/page.tsx | Updated PopperItem usage to use drawerId instead of popperId. |
| packages/frontend/app/(application)/categories/[categoryId]/page.tsx | Updated PopperItem usage to use drawerId instead of popperId. |
| packages/frontend/app/(application)/accounts/[accountId]/page.tsx | Updated multiple occurrences of popover/drawer identifiers. |
| Dockerfile | Upgraded the base image from node:22-alpine to node:24-alpine. |
| .nvmrc | Updated Node.js version from v22 to v24. |
Comments suppressed due to low confidence (2)
packages/frontend/src/components/blocks/Drawer.tsx:16
- The Drawer component was refactored from using forwardRef to an FC while still accepting a ref prop. This may prevent proper ref forwarding to the underlying dialog element; consider reverting to forwardRef or implementing ref forwarding to ensure parent components can correctly access the dialog DOM node.
ref?: React.RefObject<HTMLDialogElement | null>;
packages/frontend/src/components/elements/Button/Button.tsx:136
- [nitpick] The custom attribute 'commandFor' is being rendered as 'commandfor' in the DOM. To maintain consistency and clarity, confirm that this lower-case convention is intentional or adjust the implementation to ensure attribute naming reflects the intended usage.
commandfor={commandFor}
e824e58 to
b93f869
Compare
b93f869 to
f83c40e
Compare
…lProvider and clean up Drawer props
|
|
|
|





Describe your changes
Issue ticket number and link
Checklist before requesting a review
This pull request introduces several changes across the codebase, primarily focusing on upgrading dependencies, replacing
Popoverfunctionality withDrawercomponents, and improving button behavior with new attributes. The most significant updates include migrating from Node.js v22 to v24, replacingPopover-related identifiers withDraweridentifiers, and refactoring theDrawercomponent to enhance its usability and animation behavior.Dependency Updates:
.nvmrc: Upgraded Node.js version fromv22tov24.Dockerfile: Updated the base image to usenode:24-alpine.packages/frontend/package.json: Added theinvokers-polyfilldependency for enhanced HTML dialog support.Migration from
PopovertoDrawer:packages/frontend/app/(application)/accounts/[accountId]/page.tsx: ReplacedpopperIdwithdrawerIdin multiple components, includingPopperItemandAccountUpdateMarketValueDrawer. (packages/frontend/app/(application)/accounts/[accountId]/page.tsxL83-R88, packages/frontend/app/(application)/accounts/[accountId]/page.tsxL102-R102)packages/frontend/app/(application)/categories/[categoryId]/page.tsx: UpdatedPopperItemto usedrawerIdinstead ofpopperId. (packages/frontend/app/(application)/categories/[categoryId]/page.tsxL80-R80)packages/frontend/app/(application)/transactions/[id]/page.tsx: MigratedPopperItemto usedrawerId. (packages/frontend/app/(application)/transactions/[id]/page.tsxL65-R65)packages/frontend/src/components/elements/PopperItem.tsx: RefactoredPopperItemtype and logic to usedrawerIdinstead ofpopperId. [1] [2]Refactoring of
DrawerComponent:packages/frontend/src/components/blocks/Drawer.tsx: ReplacedforwardRefwithFC, addedreftoDrawerProps, and implemented new animation and styling logic fordialogelements. [1] [2] [3]Button Behavior Enhancements:
packages/frontend/src/components/elements/Button/Button.tsx: AddedcommandandcommandForattributes toButtonPropsfor improved interaction withDrawercomponents. [1] [2]packages/frontend/src/features/account/AccountDeleteDrawer.tsx: ReplacedpopoverTargetActionwithcommand="close"for cancel buttons.packages/frontend/src/features/transaction/TransactionTemplateSwitcher.tsx: Updated buttons to usecommandattributes for opening and closing drawers. [1] [2]Integration of
invokers-polyfill:packages/frontend/app/layout.tsx: Added polyfill logic to support HTML dialog invokers in browsers where native support is unavailable. [1] [2]