Skip to content

Conversation

@chirag127
Copy link

@chirag127 chirag127 commented Apr 13, 2025

fix #77

This commit introduces manual profile import and export functionality,
allowing users to sync their Extensity profiles between different
browsers or computers.

The following changes were made:

  • Added "Export Profiles" and "Import Profiles" buttons to the profiles
    options page.
  • Implemented a modal dialog for importing profiles from a JSON file.
  • Added import mode options to either merge with existing profiles or
    replace all existing profiles.
  • Implemented the export functionality to generate a JSON file
    containing all profiles.
  • Updated the README.md file to reflect the new feature.
  • Updated TODO.md to reflect the completion of the import/export feature.

This feature enhances the user experience by providing a convenient way
to manage and synchronize Extensity profiles across multiple devices.

This commit introduces manual profile import and export functionality,
allowing users to sync their Extensity profiles between different
browsers or computers.

The following changes were made:

- Added "Export Profiles" and "Import Profiles" buttons to the profiles
  options page.
- Implemented a modal dialog for importing profiles from a JSON file.
- Added import mode options to either merge with existing profiles or
  replace all existing profiles.
- Implemented the export functionality to generate a JSON file
  containing all profiles.
- Updated the README.md file to reflect the new feature.
- Updated TODO.md to reflect the completion of the import/export feature.

This feature enhances the user experience by providing a convenient way
to manage and synchronize Extensity profiles across multiple devices.
This commit refactors the profile import/export functionality to use direct DOM manipulation instead of Knockout observables for managing the import modal and related UI elements.

The following changes were made:

- Removed Knockout observables for showing/hiding the import modal, import mode, and error/success messages.
- Replaced Knockout bindings with direct DOM manipulation for showing/hiding the modal and displaying messages.
- Added event listeners to the export and import buttons, close and cancel buttons, and the import confirmation button.
- Implemented functions to show and hide the import modal, display error and success messages, export profiles, and import profiles.
- Added a window event listener to close the modal when clicking outside of it.
- Updated the CSS to reflect that the modal display is now controlled by JavaScript.

This refactoring simplifies the code and improves performance by reducing the reliance on Knockout observables for UI updates.
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.

[Feature Request] Export/Import of Extensity Settings

1 participant