feat(web): integrate RxDB for settings management and refactor settings handling #1815
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request includes significant updates to the MQTTX application, focusing on internationalization, database integration, and UI improvements. The changes include refactoring the i18n setup, integrating RxDB for settings management, and updating various UI components to support the new database structure.
Internationalization and Localization:
apps/desktop/src/renderer/src/App.vue
andapps/web/src/App.vue
: Refactored to useuseI18n
for locale management instead ofuseSettingsStore
to improve the handling of language settings.packages/ui/src/i18n/connections.ts
: Updated and added new translations for various MQTT connection-related messages. [1] [2] [3] [4] [5]Database Integration:
apps/web/src/database/index.ts
: Introduced RxDB for managing application settings, including setting up the database and collections.apps/web/src/database/schemas/Settings.schema.ts
: Defined the schema for settings in the RxDB database.apps/web/src/database/services/SettingsService.ts
: Created a service for interacting with the settings in the RxDB database.UI Updates:
apps/desktop/src/renderer/src/pages/help.vue
andapps/web/src/pages/help.vue
: Added a newHelpView
component to the help page.apps/desktop/src/renderer/src/pages/settings.vue
andapps/web/src/pages/settings.vue
: Updated the settings page to bind with the new settings service. [1] [2]packages/ui/src/components/SettingsView.vue
: Enhanced the settings view component to reflect the new settings schema and service.Dependency Updates:
apps/web/package.json
: Addedrxdb
andrxjs
dependencies to support the new database integration.These changes collectively improve the maintainability, scalability, and user experience of the MQTTX application by leveraging a more robust database solution and enhancing internationalization support.