Jordan Eldredge
92d95f57eb
Remove unused import
2019-05-01 22:42:38 -07:00
Jordan Eldredge
4322aade4b
Improve selector memoization and ordering
2019-05-01 22:42:16 -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
72bd83e1ae
Clean up arrayEquals
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
0a4c1cc4f7
Make easter egg handling more efficient
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
67441f3c1b
Change how actions are typed
...
If we want to use the new version of react-redux we need to be compatible with their types.
Sadly it does not seem to be possible to create a Dispatchable type which can be eiher a plain action or a thunk and still be compatible with react-redux's types becuase they use redux's Store type under the hood which assumes you have an object with a string type property.
2019-05-01 22:29:10 -07:00
Jordan Eldredge
f1696fd7e6
Type getGenExColors
2019-05-01 22:05:42 -07:00
Jordan Eldredge
cb0e328ec7
Type getPlaylistStyle
2019-05-01 22:05:42 -07:00
Jordan Eldredge
4dfc19a527
Type getCursorFromFilename
2019-05-01 22:05:42 -07:00
Jordan Eldredge
b873e0df31
Type getSpriteUrisFromFilename
2019-05-01 22:05:42 -07:00
Jordan Eldredge
f56e707a16
Type getImgFromFilename
2019-05-01 22:05:42 -07:00
Jordan Eldredge
8b49b5fa6a
Move getFileExtension to skinparserutils
2019-05-01 22:05:42 -07:00
Jordan Eldredge
2de880a917
Type getFileFromZip
2019-04-29 06:22:22 -07:00
Jordan Eldredge
3c97b2668f
Type getSpriteUrisFromImg
2019-04-25 07:29:25 -07:00
Jordan Eldredge
a1495cfd16
Start pulling parts of skinParser out into a TypeScript utils file
...
This will let us gradually type this file
2019-04-25 06:57:10 -07:00
Jordan Eldredge
fb35324ab6
Always parse skins as blobs
...
This avoids converting the skin to an arrayBuffer for no reason
2019-04-25 06:49:56 -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
758e20a9ad
Update test to use getNextTrackId
...
I broke these in 4a3929a2b5 when I fogot to rename the tests as well as the usage.
I've converted this test to typescript which should help catch these kinds of things more easily in the future.
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
4a3929a2b5
Fix bug where we could not progress to the next track
...
This was because we would go into stopped mode, and once in stopped mode, going to the next track was disabled.
2019-03-27 23:56:31 -07:00
Jordan Eldredge
1f7f00e031
Imrpove stretch of library buttons
2019-03-27 23:56:31 -07:00
Jordan Eldredge
82d7f99814
Use the correct name for the Library window in the context menu
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
dd1f6164d9
Don't autoplay on next when stoppedFixes #730
2019-03-25 06:31:49 -07:00
Jordan Eldredge
c4282817db
Add more methods to Webamp
...
Replaces #660
2019-03-24 21:51:52 -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