- channel buttons and redirect
- in button mode if there is no target try to find lbry url in the description
- used a loop in content script instead of events and stuff to make it less confusing
This bumps up the lockfile version and recreates it.
I was getting a lot of grief trying to upgrade it with a new version of
npm so it's good to do a hard upgrade ASAP.
* Styles were extracted out from popup.css and into common/style
* Preact allows for reusable components and easier dynamic components
* Easy transition to react or others while not being overbearing
* Component specific style are locally imported and handled by parcel
ButtonRadio is particulary nice in that it uses pre-exisitng button
styling on radio buttons to make it easy to pick configurable options.
URL parsing logic is basically a straight port of how lbryio/lbry-sdk
parses lbry URLs. While there's a lot more going on, it should be
easier to follow what they're doing this way.
Also, added some light unit tests for the URL parsing using jest.
Which, of course, needed a babel config.
With this, tabOnUpdated was able to be rewritten more elegantly to
handle redirects as it delegates a lot of the work to utilities now.
YTtoLBRY:
* Use DOMParser for reading OPML
* OPML parsing was quite brittle as it relied on string parsing
* Removed dead script inclusion in the HTML page
* Removed global state variables
* Use fetch to clean up the query logic
* Promisified file, API calls, and settings querying to simplify logic
Many of the utilities involving APIs were isolated to a common module.
Particularly, ytService contains all methods for extracting IDs,
querying for the lbry URLs, parsing OPML, and more.
This functionally is heavily used in YTtoLBRY and lightly used by
tabsOnUpdated.
* All files were moved to the `src` directory, unchanged
* Parcel handles module resolution as well as transpilation via babel
* package.json, package-lock.json, and .gitignore were added
* Utilize crossplatform tools for build