Merged
Conversation
d1395f6 to
45d9107
Compare
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR refactors the bottom drawer implementation to fix nesting issues by introducing a centralized store for managing drawer state. The previous approach of passing drawer references through props has been replaced with a Pinia store that tracks all active drawers, enabling proper animation handling and simplifying nested menu logic.
Key Changes:
- Introduced a new
useBottomDrawerPinia store to centrally manage drawer lifecycle and state - Removed
NestedDroptype and associated prop-drilling of drawer references throughout the component hierarchy - Simplified drawer nesting by leveraging the store's drawer stack instead of parent-child references
Reviewed Changes
Copilot reviewed 19 out of 20 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
packages/design-system/src/composables/stores/bottomDrawer.ts |
New Pinia store managing drawer registration, current drawer tracking, and lifecycle methods |
packages/design-system/src/components/OcBottomDrawer/OcBottomDrawer.vue |
Refactored to use the drawer store instead of manual parent/child reference management |
packages/design-system/src/components/OcDrop/OcDrop.vue |
Removed nested drawer prop passing and simplified exposed API |
packages/design-system/src/helpers/types.ts |
Removed deprecated NestedDrop type definition |
packages/web-pkg/src/components/ContextActions/*.vue |
Removed dropRef props that are no longer needed |
packages/web-app-files/src/views/spaces/*.vue |
Updated context menu slot bindings to remove dropRef |
packages/design-system/package.json |
Added Pinia dependency |
packages/design-system/src/components/OcBottomDrawer/OcBottomDrawer.spec.ts |
Updated tests to mock the new drawer store |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
packages/design-system/src/components/OcBottomDrawer/OcBottomDrawer.vue
Outdated
Show resolved
Hide resolved
packages/design-system/src/components/OcBottomDrawer/OcBottomDrawer.vue
Outdated
Show resolved
Hide resolved
45d9107 to
e218ab9
Compare
Member
|
Noticed a regression:
|
Fixes several issues with the bottom drawer (especially with nested ones) and improves the general animation handling when opening/closing nested menus. This was achieved by introducing a store that keeps track of all the registered bottom drawers.
e218ab9 to
aba40f0
Compare
Member
Author
Good catch, thx! Should be fixed 👍 |
openclouders
pushed a commit
that referenced
this pull request
Nov 3, 2025
fix: bottom drawer nesting issues
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes several issues with the bottom drawer (especially with nested ones) and improves the general animation handling when opening/closing nested menus.
This was achieved by introducing a store that keeps track of all the registered bottom drawers. This should be a much cleaner approach than the previous one.
fixes #1444
fixes #1445
fixes #1451