elepy
elepy copied to clipboard
[WIP] Upgrade to Vue 3
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.