Commit graph

677 commits

Author SHA1 Message Date
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
Jordan Eldredge
7ef0320581 Use a light color for selected tracks in the library 2019-03-27 23:56:31 -07:00
Jordan Eldredge
0bd9feba7a Highlight selected table row in library 2019-03-27 23:56:31 -07:00
Jordan Eldredge
7ecd51020f Abstract the library table 2019-03-27 23:56:31 -07:00
Jordan Eldredge
1f7f00e031 Imrpove stretch of library buttons 2019-03-27 23:56:31 -07:00
jberg
5cfb4a3ea2 Butterchurn reset preset cycle interval 2019-03-25 17:23:29 -07:00
Jordan Eldredge
d57e3b3671 Use CSS Grid for laying out the media library 2019-03-23 17:37:37 -07:00
Jordan Eldredge
b5f1ad522e Use CSS grid for sidebar resize 2019-03-23 15:54:00 -07:00
Jordan Eldredge
95db2d08b6 Remeasure the offset when whe change selection state. 2019-03-23 14:09:57 -07:00
Jordan Eldredge
912a570101 Fix context menu which was opening at the top corner of the page 2019-03-22 16:42:16 -07:00
Jordan Eldredge
0bc0e98836 Remove prop types 2019-03-22 16:37:58 -07:00
Jordan Eldredge
91b08c20a2 Upgrade Prettier 2019-03-22 16:37:58 -07:00
Jordan Eldredge
71b956619c Don't render visualizer background when disabled
Fixes https://github.com/captbaritone/webamp/issues/762
2019-03-22 06:58:29 -07:00
Jordan Eldredge
50267f3ac2 Clearn up unused dependencies 2019-03-19 07:49:57 -07:00
Jordan Eldredge
8c915f7f06 Improve hook dependencies 2019-03-19 07:35:36 -07:00