Skip to content

feat: Add ConfigurationGuard, ConfigurationSwitcher, and Dashboard components

Abhishek Paspunuri requested to merge ui_feature_configuration-manager into dev

User description

  • Implemented ConfigurationGuard to manage user configuration access based on session status.
  • Created ConfigurationSwitcher for switching between application and storefront configurations.
  • Developed Dashboard component to display current application, environment, and storefront configurations.
  • Updated Navbar to include ConfigurationSwitcher and conditionally render it based on the current route.
  • Added SessionMonitor to clear user selections on session changes.
  • Enhanced Sidebar with sign-out functionality and confirmation dialog.
  • Updated SidebarMenu to include path property for navigation.
  • Refactored Table component to support custom key fields for row selection.
  • Introduced new response models for logs and storefront details.
  • Updated userConfigStore to persist user selections and clear configurations on sign-out.
  • Added new application modules and sidebar configurations for Lucy application.

PR Type

Enhancement


Description

  • Add configuration management system with guards and switchers

  • Implement dashboard with application modules display

  • Enhance sidebar with sign-out functionality and navigation

  • Update store with persistence and session monitoring


Diagram Walkthrough

flowchart LR
  A["User Session"] --> B["ConfigurationGuard"]
  B --> C["Configuration Selector"]
  C --> D["Dashboard"]
  D --> E["Application Modules"]
  F["SessionMonitor"] --> G["Store Persistence"]
  H["ConfigurationSwitcher"] --> C
  I["Enhanced Sidebar"] --> J["Sign-out Dialog"]

File Walkthrough

Relevant files
Miscellaneous
1 files
LoggerResponse.ts
Remove old LoggerResponse interface                                           
+0/-16   
Enhancement
17 files
LogsResponse.ts
Add new LogsResponse with Prisma integration                         
+6/-0     
StorefrontDetailsResponse.ts
Add StorefrontDetailsResponse interface                                   
+25/-0   
userConfigStore.ts
Add persistence and session management                                     
+37/-17 
lucyAppModules.ts
Add Lucy application modules configuration                             
+43/-0   
lucySidebarConfigs.ts
Update Lucy sidebar with new icons                                             
+22/-7   
globals.css
Add progress animation keyframes                                                 
+12/-0   
ProgressLoader.tsx
Create progress loader component                                                 
+34/-0   
page.tsx
Add dynamic storefront loading and configuration                 
+67/-20 
layout.tsx
Add query client and configuration guards                               
+85/-62 
ConfigurationGuard.tsx
Create configuration access guard component                           
+57/-0   
ConfigurationSwitcher.tsx
Create configuration switcher dropdown component                 
+115/-0 
Dashboard.tsx
Create dashboard with modules display                                       
+159/-0 
Navbar.tsx
Add configuration switcher to navbar                                         
+44/-43 
SessionMonitor.tsx
Create session change monitoring component                             
+25/-0   
Sidebar.tsx
Add sign-out functionality and navigation                               
+103/-43
SidebarMenu.tsx
Add path property for navigation                                                 
+5/-4     
Table.tsx
Add custom key field support                                                         
+47/-40 
Additional files
1 files
.gitkeep [link]   

Edited by Rashmi Gaddam

Merge request reports

Loading