Migration Task: UI Kit Integration & Widget Consolidation
Objective
Fully integrate UI Kit Library into PrivacyGUI and consolidate duplicate Widget implementations across both projects.
Background
Currently, two Widget systems coexist:
- UI Kit Library (
ui_kit_library) - Standalone package following Atomic Design with themed components
- PrivacyGUI Widgets (
lib/page/components/) - In-app custom components
Some functionality is duplicated across both, increasing maintenance costs and causing inconsistencies.
Scope
In Scope
-
Identify Duplicate Components
- Compare UI Kit molecules/atoms with PrivacyGUI components
- Tag components for consolidation
-
Migrate to UI Kit (Generic UI Components)
- Pure visual components without business logic
- Reusable layout components
-
Retain in PrivacyGUI (Business-Specific Components)
- Components containing JNAP/USP business logic
- PrivacyGUI-specific page framework components
-
Update Dependencies & References
- Replace legacy implementations with UI Kit components
- Remove duplicate code
Out of Scope
- New UI Kit feature development
- New PrivacyGUI page development
- Test case refactoring
Deliverables
| Deliverable |
Description |
| Component Mapping |
List of all duplicate components with disposition (migrate/retain/delete) |
| UI Kit Update |
New version with migrated components (includes CHANGELOG) |
| PrivacyGUI Update |
Removed duplicate code, updated imports |
| Test Verification |
Confirm existing functionality is unaffected |
Acceptance Criteria
Initial Assessment
Candidate Components for Migration to UI Kit
| Source Location |
Candidate Components |
Migration Target |
components/styled/ |
Generic styled components |
molecules/ |
components/composed/ |
Composed components |
molecules/ or organisms/ |
components/layouts/ |
Layout utilities |
layout/ |
Components to Retain in PrivacyGUI
| Component |
Retention Reason |
shared_widgets.dart |
Contains WiFi signal icons, router images, and business logic |
ui_kit_page_view.dart |
PrivacyGUI-specific page framework |
bottom_bar.dart, top_bar.dart |
Contains navigation logic and app state |
Implementation Approach
Phase 1: Analysis
- Create complete component inventory
- Tag each component with disposition
Phase 2: Migration
- Move generic components to UI Kit
- Update API design (if needed)
- Add test cases
Phase 3: Integration
- Update PrivacyGUI dependency version
- Replace legacy imports with UI Kit imports
- Delete original duplicate code
Phase 4: Verification
- Run all tests
- Demo App functional verification
- Visual inspection
Related Links
#502
Migration Task: UI Kit Integration & Widget Consolidation
Objective
Fully integrate UI Kit Library into PrivacyGUI and consolidate duplicate Widget implementations across both projects.
Background
Currently, two Widget systems coexist:
ui_kit_library) - Standalone package following Atomic Design with themed componentslib/page/components/) - In-app custom componentsSome functionality is duplicated across both, increasing maintenance costs and causing inconsistencies.
Scope
In Scope
Identify Duplicate Components
Migrate to UI Kit (Generic UI Components)
Retain in PrivacyGUI (Business-Specific Components)
Update Dependencies & References
Out of Scope
Deliverables
Acceptance Criteria
flutter analyzepasses with no errors on both projectsInitial Assessment
Candidate Components for Migration to UI Kit
components/styled/components/composed/components/layouts/Components to Retain in PrivacyGUI
shared_widgets.dartui_kit_page_view.dartbottom_bar.dart,top_bar.dartImplementation Approach
Phase 1: Analysis
Phase 2: Migration
Phase 3: Integration
Phase 4: Verification
Related Links
#502