Making a theme switcher for an Ionic Vue app can be a pain. Making it fully responsive without reloading, or flickering isn't as obvious as you would like due to how Ionic renders its CSS (or sass) files app-wide. Making the CSS file in main.ts dynamic doesn't work as it doesn't apply changes reactively.
The Solution
To make it work we create a VueEx-like solution that only uses 7 lines of code and a storage solution of your choice! We used local storage here to show you the basics but I use Localbase just fine.
What you need to do
this repo contains the src folder from a side menu Ionic Vue Project
I have also included a Readme 2 - What was Changed & Added file explaining the changes to default files and what I've added to make it work.
You can drop the files in a new template and start using it, play around to figure out how it works. or you can tear it apart and copy-paste what you need to add to your own project.
Watch the video above for a full tutorial on what to use and how it works!