elepy icon indicating copy to clipboard operation
elepy copied to clipboard

[WIP] Upgrade to Vue 3

Open Copilot opened this issue 9 months ago • 0 comments

Upgrading Vue 2 to Vue 3 and replacing Vuex with Pinia in the admin frontend:

  • [x] Analyze current Vue 2 setup with Vuex 3.1.3
  • [x] Identify 45 store usage instances across components
  • [x] Verify current build works with legacy OpenSSL provider
  • [x] Update package.json with Vue 3 compatible versions
  • [x] Create new Pinia store to replace Vuex store
  • [x] Update main.js for Vue 3 compatibility (createApp, global properties)
  • [x] Convert global filters to global properties
  • [x] Update router configuration for Vue 3
  • [x] Fix router navigation guards to use Pinia properly
  • [x] Update core components: SideBar, HomeView, LoginView, InitialUserView, LanguageSelect
  • [x] Update remaining components: Table, ElepySingle, ElepyDefault, ActionButton
  • [x] Remove old Vuex store.js file
  • [ ] Fix build issues with Vue 3 compatibility (UIKit asset paths)
  • [ ] Test and fix any remaining compatibility issues
  • [ ] Ensure build and linting work correctly

Progress:

  • Successfully migrated all core store usage from Vuex to Pinia
  • Updated all 14 instances of $store. usage to use Pinia actions/state
  • Converted components from Options API with mappers to Composition API with Pinia
  • Replaced Vuex mutations/actions with Pinia direct state/action calls
  • Removed old store.js file completely
  • Added UIKit asset handling for missing image files

Current issue: UIKit 3.3.6 CSS references images with absolute paths that need proper webpack configuration.

Fixes #180.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot avatar May 28 '25 21:05 Copilot