Skip to content

support for drawer group management#582

Merged
jxjj merged 15 commits into
developfrom
feat/drawer-groups-ui
Jul 11, 2026
Merged

support for drawer group management#582
jxjj merged 15 commits into
developfrom
feat/drawer-groups-ui

Conversation

@jxjj

@jxjj jxjj commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Adds initial support for drawer permissions and group management. Behind a feature flag .env variable (VITE_FEATURE_DRAWER_MANAGEMENT).

No group member or entries management as part of this yet.

Also, my heuristic for identifying which group is a personal drawer group isn't quite right (at least in my case, where a group was created with me as a member before I created my first drawer).

CleanShot 2026-07-10 at 18 03 11@2x

On dev.

@jxjj
jxjj requested a review from Copilot July 10, 2026 23:09
@jxjj jxjj self-assigned this Jul 10, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a feature-flagged “Drawer Management” area that lets eligible users view/manage drawers and manage drawer-sharing groups, reusing existing permissions/group concepts and TanStack Query patterns.

Changes:

  • Introduces a new /drawers/manage page with tabbed UI (Drawers / Rules / Groups) behind VITE_FEATURE_DRAWER_MANAGEMENT.
  • Adds drawer-permissions fetchers + queries + table UIs for listing manageable drawers and drawer permission groups (create/edit/delete).
  • Refactors TanStack Query key construction in admin-permissions code via a shared makeQueryKeysFor helper.

Reviewed changes

Copilot reviewed 23 out of 24 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/types/PermissionsTypes.ts Extends permissions/group types for drawer group management (and adds ManageableDrawer).
src/types/index.ts Adds features.drawerManagement to AppConfig.
src/router.ts Registers the new /drawers/manage route behind the feature flag and permission gate.
src/pages/LogoutPage/LogoutPage.vue Updates logout flow to tolerate dev-proxy redirect/network behavior.
src/pages/DrawerManagementPage/RulesTabContent.vue Adds placeholder “Rules” tab content.
src/pages/DrawerManagementPage/GroupsTableColumns.tsx Defines table columns (incl. actions) for drawer groups listing.
src/pages/DrawerManagementPage/GroupsTabContent.vue Implements drawer groups list UI + create/edit modal + delete confirm flow.
src/pages/DrawerManagementPage/GroupFormModal.vue Adds create/edit group modal for drawer groups.
src/pages/DrawerManagementPage/DrawersTableColumns.tsx Defines columns for manageable drawers table.
src/pages/DrawerManagementPage/DrawersTabContent.vue Implements manageable drawers list UI with filtering/sorting.
src/pages/DrawerManagementPage/DrawerManagementPage.vue Adds the Drawer Management page shell with tab routing via query param.
src/pages/DrawerManagementPage/drawerGroupQueries.ts Adds TanStack Query query/mutation wrappers for drawer group management.
src/pages/AllDrawersPage/AllDrawersPage.vue Adds “Manage Drawers” entry point when feature flag is enabled.
src/pages/AdminPermissionsPage/ruleQueries.ts Switches rule query keys to use the shared key helper.
src/pages/AdminPermissionsPage/GroupsTabContent.vue Removes duplicated helper functions now provided in shared types.
src/pages/AdminPermissionsPage/groupQueries.ts Switches group query keys to use the shared key helper.
src/pages/AdminPermissionsPage/GroupMembersTable.vue Removes duplicate slot placement comment/markup in table template.
src/pages/AdminPermissionsPage/GroupFormModal.vue Aligns create-group payload with updated CreateGroupPayload type.
src/helpers/makeQueryKeysFor.ts Introduces reusable list/item query-key helper.
src/config.ts Adds drawerManagement feature flag wiring from import.meta.env.
src/components/AppMenu/AppMenu.vue Adds “Manage Drawers” nav item behind feature + permission gates.
src/api/fetchers.ts Adds drawer-permissions endpoints + adjusts logout + group-create payload behavior.
bin/deploy-dev.sh Enables the new feature flag in generated .env for dev deploys.
.env.example Documents the new VITE_FEATURE_DRAWER_MANAGEMENT flag.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/types/PermissionsTypes.ts Outdated
Comment thread src/pages/LogoutPage/LogoutPage.vue
@jxjj
jxjj marked this pull request as ready for review July 10, 2026 23:16
@jxjj
jxjj requested a review from cmcfadden July 10, 2026 23:19
@jxjj
jxjj merged commit 1a25f39 into develop Jul 11, 2026
2 checks passed
@jxjj
jxjj deleted the feat/drawer-groups-ui branch July 11, 2026 17:08
jxjj added a commit that referenced this pull request Jul 14, 2026
* develop:
  support for drawer group management (#582)
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.

3 participants