Mynt (My New Tab) Dialer
This project is working towards a clean, free to manage, alternative to the Speed Dial [FVD] Chrome extension.
This extension is not currently offered through the Chrome Web Store so it needs to be manually installed.
The extension is a React application so Node.js is required for development and to create a build locally. I recommend using NVM if you need to install Node.
npm i
. npm run build
. This will create a build
directory in the root of the repository.build
directory to a location on your computer where you'd like your personal Chrome extensions to live. I personally recommend something like Documents/My Chrome Extensions
. Finally, rename the copied build
directory to something that makes sense, like "Mynt Dialer".src/Demo/demo-config.json
that you can use if you'd like to start writing your own manually.Mynt Dialer can read a config file when given a public URL, creating a downstream sync to your extension. If you use Mynt Dialer on multiple machines you only need to edit a single file, then prompt your devices to sync when desired.
One free, simple, and quick solution is to host your config file as a gist. Gist is GitHub's service for sharing code snippets and just so happens to meet the needs of hosting a Mynt Dialer configuration file using these simple steps:
src/Demo/demo-config.json
file, into the body of the gist..json
.Setting up the development environment uses the same Installing instructions above. You can easily create builds and run them immediately in the browser with the npm run now
script, this allows you to develop the app like a regular React site without having to install it as an extension.
Because this application is a Chrome Extension there may be functionality that is only avaialble when your code is loaded into the browser as an extension rather than a site (such as the Chrome API for downloading to the client's file system). Depending on what feature you are working on you may have to install/reload the extension in your browser between changes while developing.
This project uses prettier
for JavaScript formatting. Use npm run format
to perform a formatting pass before committing. There is a GitHub Action that will prevent unformatted files from being merged.
Mynt Dialer uses localStorage
to hold state using Zustand's Persist integration as well as image metadata used to expire cached images. caches
is also utilized to store dial and background images so they are not retrieved each time the extension is loaded. You may need to purge these two storage locations if you are having issues while developing.