Ui Component Inventory Frontend

An inventory of the GENIE.AI web frontend UI components and their usage.

For frontend developers. A reference catalogue of the web UI components and their props.


Summary

  • Total Vue Components: 55
  • Design System Components: 12
  • Application Components: 43

Design System Primitives (src/components/ds/)

Core Primitives

ComponentDescription
Button.vueButton primitive with variants (primary, secondary, ghost, danger)
Card.vueContainer card with shadow and border radius
Input.vueText input field with label, validation states, and error messaging
Modal.vueModal dialog overlay with header, body, footer slots
Select.vueDropdown select component with options
Combobox.vueAuto-complete text input with dropdown suggestions
Tabs.vueTab navigation component with panels
Pill.vueSmall badge/tag component for status or category display
Spinner.vueLoading spinner animation
StatusTag.vueStatus indicator with color coding (success, warning, error, info)
StateDisplay.vueEmpty state / error state / loading state display component
FormGroup.vueForm field wrapper with label and error messaging

Layout Components

ComponentDescription
App.vueRoot application component with router-view and global providers
NavBarComponent.vueTop navigation bar with user menu, language selector, logout
SideBarComponent.vueLeft sidebar with conversation history and navigation
SplashScreen.vueInitial loading screen with logo and progress indicator

Chat Components

ComponentDescription
ChatBotComponent.vueMain chat interface with message list and input area
ChatFolders.vueConversation folder management (create, rename, delete)
ChatHistoryComponent.vueConversation history list with search and filtering
ChatResponseFeedbackDialog.vueFeedback dialog for rating chat responses (thumbs up/down)
RightSideBarComponent.vueRight sidebar displaying context, documents, or service info
WeatherPanel.vueWeather information display panel (contextual data)

Admin & Analytics Components

ComponentDescription
AdminDashboard.vueAdmin dashboard with system metrics and user management
AnalyticsDashboard.vueAnalytics dashboard with charts and usage statistics
AnalyticsComponent.vueAnalytics data display with filtering and date ranges
UnifiedAnalytics.vueUnified analytics view combining multiple metrics

Chart Components (src/components/charts/)

ComponentDescription
UsageTrendChart.vueLine chart showing query usage over time
CategoryDistributionChart.vuePie/donut chart for service category distribution
SatisfactionGauge.vueGauge chart for user satisfaction scores
SatisfactionHeatmap.vueHeatmap chart for satisfaction by time/category
TopQueriesChart.vueBar chart showing most frequent queries

Authentication & User Profile

ComponentDescription
CallbackView.vueOIDC authentication callback handler (view-level component)
UserProfileComponent.vueUser profile display and edit form

Settings Components

ComponentDescription
SettingsComponent.vueApplication settings panel (theme, language, preferences)
LanguageSelector.vueLanguage selection dropdown for i18n

File Management Components

ComponentDescription
FileUploadComponent.vueFile upload widget with drag-and-drop support
UploadFilesDialog.vueDialog for uploading multiple files to the knowledge base
AddFromLinkDialog.vueDialog for adding documents via URL/link
FileDetailsDialog.vueFile metadata display (name, size, upload date, status)

Service & Context Components

ComponentDescription
ServiceTreePanelComponent.vueHierarchical tree view of service categories
ServiceCategoryPanelComponent.vueService category list/details panel

Shared UI Components

ComponentDescription
ConfirmDialog.vueGeneric confirmation dialog (confirm/cancel actions)
ModalDialog.vueGeneric modal dialog wrapper component
ContextMenu.vueRight-click context menu with custom actions
NotificationSystem.vueToast notification system (success, error, warning messages)
OperationResultsModal.vueModal displaying results of batch operations
LogSearchDialog.vueDialog for searching through system logs
SearchableCountryDropdown.vueCountry selector with search functionality

Views (src/views/)

ComponentDescription
DashboardView.vueMain dashboard view (router target)
CallbackView.vueAuthentication callback view (OIDC redirect handler)

Component Organization

src/
├── App.vue                          # Root component
├── views/                           # Router-level views
│   ├── DashboardView.vue
│   └── CallbackView.vue
├── components/
│   ├── ds/                          # Design system primitives (12)
│   ├── charts/                      # Analytics chart components (5)
│   ├── [Layout]                     # Navigation and layout (4)
│   ├── [Chat]                       # Chat interface (6)
│   ├── [Admin]                      # Admin/analytics (4)
│   ├── [Auth]                       # Authentication (2)
│   ├── [Settings]                   # Settings (2)
│   ├── [Files]                      # File management (4)
│   ├── [Services]                   # Service navigation (2)
│   └── [Shared]                     # Shared UI components (6)

Notes

  • All components use Vue 3 Options API (not Composition API)
  • Design system components in src/components/ds/ are reusable primitives
  • Chart components use ApexCharts library (via vue3-apexcharts)
  • Routing via Vue Router with views in src/views/
  • i18n via vue-i18n with translations in /src/i18n/locales/