Skip to content

Conversation

@amir-ghasemi
Copy link
Collaborator

This pull request introduces several improvements and refactors to the frontend, focusing on simplifying layout logic, improving modularity, and adding a new speech-to-text (STT) settings dialog. The main changes are the centralization and persistence of the session side panel, the introduction of a dedicated and user-friendly STT settings dialog, and the addition of a reusable Solace icon component. Several redundant navigation and panel toggling logics have been removed or simplified.

Layout and Side Panel Refactoring:

  • The SessionSidePanel is now rendered persistently at the app layout level (AppLayout.tsx), rather than being conditionally rendered and managed within the ChatPage. This centralizes its state and ensures consistency across all pages. Navigation sidebar logic and related state have been removed from AppLayout, simplifying the component. [1] [2] [3]
  • In ChatPage.tsx, all logic and UI related to toggling and positioning the SessionSidePanel have been removed. The chat and side panel resizing logic is now simplified and static, and session side panel state is no longer managed here. [1] [2] [3] [4] [5] [6] [7] [8]

Speech-to-Text (STT) Settings Dialog:

  • A new STTSettingsDialog component has been added, providing a comprehensive UI for configuring speech-to-text options. It supports toggling STT, selecting providers (browser, OpenAI, Azure), displays configuration warnings if external providers are not set up, and allows language selection. The dialog auto-resets to browser mode if external providers are unavailable.
  • The main settings dialog (SettingsDialog.tsx) now supports an initialSection prop to open directly to a specific section, and updates the active section accordingly when reopened. [1] [2] [3]

Component and Utility Improvements:

  • Added a reusable SolaceIcon component to render the Solace logo in either full or short form, now exported from the common components index. [1] [2]

Most important changes:

Layout and Side Panel Refactoring

  • Centralized the SessionSidePanel rendering in AppLayout.tsx, making it persistent across all pages and removing redundant navigation/sidebar logic and state from both AppLayout and ChatPage. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

Speech-to-Text (STT) Settings

  • Added a new STTSettingsDialog component for configuring speech-to-text options, including provider selection, language, and configuration warnings for external APIs.
  • Enhanced the main SettingsDialog to support opening directly to a specific section and synchronize the active section when reopened. [1] [2] [3]

Component Improvements

  • Introduced a reusable SolaceIcon component for consistent branding, and exported it from the common components index. [1] [2]

@sonarqube-solacecloud
Copy link

Quality Gate passed Quality Gate passed

Issues
0 New issues
0 Fixed issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarQube

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