2022-02-19 00:18:01 -05:00
# Vue 3 + Vite Migration
- Vue Dev Tools required in version 6 (currently only released as beta versions): < https: // devtools . vuejs . org / guide / installation . html # beta >
- [ ] vite does not support env vars in `vite.config.js` from `.env` files
2022-02-19 00:39:14 -05:00
2022-02-19 00:18:01 -05:00
- < https: // stackoverflow . com / questions / 66389043 / how-can-i-use-vite-env-variables-in-vite-config-js >
- < https: // github . com / vitejs / vite / issues / 1930 >
- [ ] Documentation update
- [ ] Add linting (ESLint) ?
- [x] Update dialog is missing scan options
- [ ] Performance with huge artists/albums/tracks list (no functional template supported any more)
2022-02-19 00:39:14 -05:00
2022-02-19 00:18:01 -05:00
- [ ] Do not reload data, if using the index-nav
- [x] PageAlbums
- [ ] PageArtists
- [ ] ...
- [ ] Albums page is slow to load (because of the number of vue components?)
- [ ] Evaluate virtual scroller < https: // github . com / Akryum / vue-virtual-scroller / tree / next / packages / vue-virtual-scroller >
- [x] JS error on Podacst page
2022-02-19 00:39:14 -05:00
2022-02-19 00:18:01 -05:00
- Problem caused by the Slider component
- Replace with plain html
- [ ] vue-router scroll-behavior
2022-02-19 00:39:14 -05:00
2022-02-19 00:18:01 -05:00
- [x] Index list not always hidden
- [x] Check transitions
- [ ] Page display is "jumpy"
- Workaround is removing the page transition effect
- [x] Index navigation "scroll up/down" button does not scroll down, if index is visible
2022-02-19 00:39:14 -05:00
2022-02-19 00:18:01 -05:00
- [x] Use native intersection observer solves it in desktop mode
- [x] Mobile view still broken
- [x] Update to latest dependency versions (vite, vue, etc.)
- [x] Index navigation is broken (jump to "A")
2022-02-19 00:39:14 -05:00
2022-02-19 00:18:01 -05:00
- Change in `$router.push` syntax, hash has to be passed as a separate parameter instead of as part of the path
- [x] `vue-range-slider` is not compatible with vue3
2022-02-19 00:39:14 -05:00
2022-02-19 00:18:01 -05:00
- replacement option: < https: // github . com / vueform / slider >
- [x] `@vueform/slider` for volume control
- [x] track progress (now playing)
- [x] track progress (podcasts)
- [x] vue-router does not support navigation guards in mixins: < https: // github . com / vuejs / vue-router-next / issues / 454 >
2022-02-19 00:39:14 -05:00
2022-02-19 00:18:01 -05:00
- replace mixin with composition api? < https: // next . router . vuejs . org / guide / advanced / composition-api . html # navigation-guards >
- Copied nav guards into each component
- [x] vue-router link does not support `tag` and `active-class` properties: < https: // next . router . vuejs . org / guide / migration / index . html # removal-of-event-and-tag-props-in-router-link >
- [x] `vue-tiny-lazyload-img` does not support Vue 3
2022-02-19 00:39:14 -05:00
2022-02-19 00:18:01 -05:00
- No sign of interesst to add support < https: // github . com / mazipan / vue-tiny-lazyload-img >
- `v-lazy-image` (< https: // github . com / alexjoverm / v-lazy-image > ) seems to be supported and popular
- Works as a component instead of a directive
2022-02-19 00:39:14 -05:00
- **DOES NOT** have a good error handling, if the (remote) image does not exist
2022-02-19 00:18:01 -05:00
- `vue3-lazyload` (< https: // github . com / murongg / vue3-lazyload > )
- Works as a directive
- Easy replacement for `vue-tiny-lazyload-img`
- [x] Top margin in pages is wrong (related to vue-router scroll behavior changes)
2022-02-19 00:39:14 -05:00
2022-02-19 00:18:01 -05:00
- Solved by adding the correct margin to take the top navbar (and where shown the tabs) into account
- [x] Mobile view seems to be broken
2022-02-19 00:39:14 -05:00
2022-02-19 00:18:01 -05:00
- Looks like the cause of this was the broken router-link in bulma tabs component
- [x] Changing sort option (artist albums view) does not work
- [x] Replace unmaintained `vue-infinite-loading` dependency
2022-02-19 00:39:14 -05:00
2022-02-19 00:18:01 -05:00
- Replace with `@ts-pro/vue-eternal-loading` : < https: // github . com / ts-pro / vue-eternal-loading >
- [x] Replace `bulma-switch` with `@vueform/toggle` ?
- Update of `bulma-switch` (or `vite` ) fixed the import of the sass file, no need to replace it now