Commit graph

691 commits

Author SHA1 Message Date
Jordan Eldredge
f51e51eea2 Use hooks for main context window 2019-11-30 13:42:53 -08:00
Jordan Eldredge
f4230553a8 Type PlaylistTogggleButton 2019-11-30 13:42:53 -08:00
Jordan Eldredge
e7c474e7f6 Inline style 2019-11-30 13:42:53 -08:00
Jordan Eldredge
e345d07e41 Use react-redux hooks for Marquee 2019-11-30 13:42:53 -08:00
Jordan Eldredge
822391c401 Clean up unused type 2019-11-30 13:42:53 -08:00
Jordan Eldredge
f32de1e653 Use react-redux hooks in a few more places 2019-11-30 13:42:53 -08:00
Jordan Eldredge
d6454510a9 Refactor Marquee to use hooks
This actually removes a bunch of edgecases/race conditions
2019-11-30 13:42:53 -08:00
Jordan Eldredge
73b025bf12 Ensure ESLint is running on Travis
It used to run as part of Jest. When I moved it back to its own thing,
I guess I forgot to add it back to Travis.
2019-11-30 13:42:53 -08:00
Jordan Eldredge
f39449b46c Refactor to functional component, and remove unused dispatch prop 2019-11-30 13:42:53 -08:00
Jordan Eldredge
d8b33e4795 Start using react redux hooks (#845)
* Upgrade react-redux

* Upgrade react-redux types

* Start adopting react-redux hooks
2019-11-30 13:42:53 -08:00
jberg
35c9167f2d don't cycle presets when media is not playing (#799) 2019-11-30 13:42:53 -08:00
Jordan Eldredge
404a502d86 update snapshots 2019-11-30 13:42:53 -08:00
Isaiah Odhner
05741eccfd Fix target="_blank" (#794)
It's tricky because "blank" (without an underscore) will still open a new tab, but it's actually being interpreted as a browsing context name, and so clicking it a second time will replace the previously opened tab (even if navigated away).
2019-06-06 15:03:49 -07:00
Jordan Eldredge
3458c87472 Fix 'New List' behavior
Fixes #790
2019-05-28 21:55:27 -07:00
Jordan Eldredge
6994362e58 createPattern can take an image directly
I can't belive I was doing this whole extra dance
2019-05-10 08:24:09 -07:00
Jordan Eldredge
348c000a49 Enable StricMode for subtrees that are compatible 2019-05-09 09:31:31 -07:00
Jordan Eldredge
2dca07ff0a Make a best effort to prewarm the images needed for the eq graph 2019-05-09 07:59:54 -07:00
Jordan Eldredge
1a45099045 Use MutationObserver to detect focused decedents leaving the DOM 2019-05-07 19:35:17 -07:00
Jordan Eldredge
c56bf0a964 Use React's blur event to detect with Webamp itself loses focus 2019-05-07 17:08:08 -07:00
Jordan Eldredge
bd3f986ade Only clear focus is the focus is leaving the app 2019-05-06 22:22:32 -07:00
Jordan Eldredge
bd1999778d Fix bug with ref
When using a ref in an effect, you need to use a state ref, otherwise the binding happens too early.
2019-05-06 22:22:13 -07:00
Jordan Eldredge
e5f6edf602 Add onMouseDown handlers to snapshots 2019-05-02 19:56:25 -07:00
Jordan Eldredge
5ee1a4f7b0 Order windows based upon which one was last clicked 2019-05-02 17:46:02 -07:00
Jordan Eldredge
3aa25f0b55 Focus target on click
I'm not sure why onFoucs+tabIndex does not do this
2019-05-02 17:45:07 -07:00
Jordan Eldredge
f8167dd322 Autoplay tracks that are dropped on the main window 2019-05-02 16:58:05 -07:00
Jordan Eldredge
8a4a594dd0 Change nesting to preserve playlist styling
The `#playlist-window` div is a flex container so it needs to be the direct parent.
2019-05-02 16:58:01 -07:00
Jordan Eldredge
0f97529a39 Update snapshot to reflect new version of rc-slider 2019-05-02 16:32:29 -07:00
Jordan Eldredge
c75214dcd7 Improve reliance on selector caching 2019-05-02 07:23:41 -07:00
Jordan Eldredge
756854eaec Clean up console.log 2019-05-02 07:11:17 -07:00
Jordan Eldredge
73f87be7c3 Memoize hot components 2019-05-02 07:04:31 -07:00
Jordan Eldredge
e89aa26612 Avoid uneeded renders 2019-05-01 22:38:17 -07:00
Jordan Eldredge
c00cb44b8d Update tests to reflect new focus management style 2019-05-01 22:29:10 -07:00
Jordan Eldredge
6cd2181d78 Clean up types 2019-05-01 22:29:10 -07:00
Jordan Eldredge
0792c51fb8 Trap focus 2019-05-01 22:29:10 -07:00
Jordan Eldredge
20a025541e Clear focus when bluring out of app 2019-05-01 22:29:10 -07:00
Jordan Eldredge
9f7e92f370 Simplify focus Target 2019-05-01 22:29:10 -07:00
Jordan Eldredge
059669f3e5 Don't prevent text selection with preventDefault
We should use `user-select: none;` for this.

I think all places are already doing this.
2019-05-01 22:29:10 -07:00
Jordan Eldredge
6132acdf2c Make focus nullable 2019-05-01 22:29:10 -07:00
Jordan Eldredge
8627b4d2c4 Use native event handling for keydown
This allows us to stopPropogation and actually prevent global hotkeys
2019-05-01 22:29:10 -07:00
Jordan Eldredge
24d446e47b Extract focus management to a component 2019-05-01 22:29:10 -07:00
Jordan Eldredge
7913048e41 Send users to the GitHub page via webamp.org
At some point in the future github may not be the canonical URL for
webamp. However, people are integrating Webamp all the time and very
likely won't ever upgrade.

It's better if the url baked into the binary we distribute is under our
control so that it can be pointed somewhere else in the future.

It's also an open question if GitHub is the best place to send users.
Non technical users may get very confused.
2019-04-12 16:50:47 -07:00
Jordan Eldredge
80f34157dd Notate some places where we have known bugs 2019-04-07 12:37:03 -07:00
Jordan Eldredge
4310d5475d Prettier 2019-04-05 07:36:59 -07:00
Jordan Eldredge
cce7928f4e Accept the reality of event emitter 2019-04-05 07:34:14 -07:00
Jordan Eldredge
5713052415 Type ref callback 2019-04-05 07:34:14 -07:00
Jordan Eldredge
646b38319e Remove unused property 2019-04-05 07:34:14 -07:00
Jordan Eldredge
12139fb190 Type bindings 2019-04-05 07:34:14 -07:00
Jordan Eldredge
071c54b870 Initial typing of App.tsx 2019-04-05 07:34:14 -07:00
Jordan Eldredge
f45a3ec3f3 Make it safe to reparent the #webamp node
For now users can't control where Webamp inserts itself into the DOM. We want to add that as and option. In the mean time, we can enable users to hack it.

For example, https://github.com/ShizukuIchi/winXP wants to be able to keep Webamp in a div in order to control how it gets layerd with other apps.
2019-04-05 07:34:14 -07:00
Jordan Eldredge
3e40ab5d17 Make spacing a little closer to right 2019-03-27 23:56:31 -07:00