Skip to content

feat(dpi): refactor DPI UI - #815

Draft
m-dilorenzi wants to merge 2 commits into
mainfrom
refactor_dpi
Draft

feat(dpi): refactor DPI UI#815
m-dilorenzi wants to merge 2 commits into
mainfrom
refactor_dpi

Conversation

@m-dilorenzi

Copy link
Copy Markdown
Collaborator

This PR contains a rework of the DPI Filter UI, replacing the old card-based rule editor with a table-driven interface and introducing application groups as a first-class concept.

Main changes

  • DPI rules: rules are now shown in a sortable table with drag & drop reordering, inline enable/disable, and dedicated create/edit and rename drawers replacing the previous multi-purpose modal.
  • Application groups: new tab (replacing Exceptions) to create, edit and delete reusable groups of applications, protocols and their categories, with a guided multi-step creation flow, search and pagination.
  • Data layer: DPI logic moved out of components into dedicated composables (useDpiRules, useApplicationGroups, useDpiCatalog) built on TanStack Query, with typed payloads, shared query keys and centralized cache invalidation. The catalog composable merges the netifyd catalog with the loaded applications/protocols and exposes categories with icons and availability info.
  • Subscription awareness: loaded application/protocol queries are invalidated when the subscription status changes, so the catalog reflects what is actually available.
  • Shared components: NeMultiTextInput gains a helperText prop and improved spacing; NeStepper gains configurable bar size and color classes.
  • Tests: added unit tests for the three new composables.
  • i18n: new English and Italian strings for rules and application groups.

@m-dilorenzi m-dilorenzi self-assigned this Sep 8, 2026
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