Commit graph

34 commits

Author SHA1 Message Date
Chris McCord
be420bdc44 Match topbar with theme 2022-01-14 11:05:41 -05:00
Chris McCord
9998e06caa Optimize presence.
Avoid fetching each user by passing in full pre-fetched
presences from Presence.fetch/2 callback.
Use temporary assigns in ProfileLive to avoid duping
presences in memeory.
Handle removes by a small hook event
2022-01-11 14:57:06 -05:00
Chris McCord
cb781d855e Merge branch 'cm-tailwind-standalone' 2022-01-07 13:42:26 -05:00
Chris McCord
c5b25aa5be Add standalone tailwind 2022-01-07 13:42:04 -05:00
Nolan Darilek
7b48c2fbaf Further simplify post-route handler.
* Use `HtmlElement.tabIndex` directly rather than going through attributes.
* Always restore `tabIndex` after focus.
* Remove `setTimeout` to simplify implementation.

This does have a disadvantage in that it leaves unnecessary `tabindex="1"` instances around. On the other hand, it does simplify the implementation and get the job done' so is probably a more clear example of how to do this correctly.
2021-12-22 12:41:19 -06:00
Nolan Darilek
7d09845b8c Remove unnecessary window.requestAnimationFrame. 2021-12-22 12:06:08 -06:00
Nolan Darilek
566a574c0a Initial attempt at accessibly announcing route updates.
* Add handler for `phx:page-loading-stop` that focuses either the first `<h1>` child of `<main>`, or `<main>` directly if no child `<h1>` is present. Make this our focus target.
* Cache original `tabindex` of target, if any, and assign it a temporary `tabindex1 of -1.
* Focus the target.
* After a long timeout, either restore the target's original `tabindex` or remove the temporary -1 value. Short timeouts didn't seem to perform the focus step. Neither did nested `requestAnimationFrame` calls.
2021-11-22 15:25:41 -06:00
Chris McCord
cead091227
Update assets/js/app.js 2021-11-22 14:28:57 -05:00
Nolan Darilek
a19a6091e6 When a dropdown is open, block Tab to avoid navigating away.
Under Windows, dropdowns cannot be tabbed off of. They are only closed by either selecting an item or pressing Escape.
2021-11-22 12:55:01 -06:00
Chris McCord
7209a3121c Add dropdown component 2021-11-22 11:21:11 -05:00
Chris McCord
8ee6b39ad5 Show connection status flash 2021-11-22 09:24:41 -05:00
Chris McCord
07d1dbf744 Fixup flash hiding 2021-11-19 09:55:26 -05:00
Chris McCord
6622f791e0 Use keydown event to detect keyboard based clicks
Relying on e.detail is not supported on all OS/browsers
2021-11-18 22:09:01 -05:00
Chris McCord
7d8e1f2ec6 Reset focus on escape 2021-11-18 16:17:47 -05:00
Chris McCord
a643ca9fe5 Wrap focus 2021-11-18 16:01:29 -05:00
Chris McCord
1dc43ac366 Fix focus and keyboard nav
Only enable keyboard nav and focus if button is
triggered by keyboard event
2021-11-18 15:21:07 -05:00
Chris McCord
30b46e95e5 Add aria menu hook and use in sidebar 2021-11-18 09:55:09 -05:00
Chris McCord
364b0659e1 Deploy and presence stub 2021-11-16 11:58:28 -05:00
Chris McCord
c45510cb6e Add profiles 2021-11-11 22:42:10 -05:00
Chris McCord
64c68d7b61 remove redudant order_by 2021-11-10 16:07:10 -05:00
Chris McCord
7708779b9f Auto advance to next song via client 2021-11-10 14:29:53 -05:00
Chris McCord
635a2c9d21 Make sidebar live and add enhanced flash 2021-11-10 13:23:02 -05:00
Chris McCord
f482d5143a Update flash 2021-11-10 11:56:01 -05:00
Chris McCord
fdd37c5da8 Use GH LV and js 2021-11-10 10:35:49 -05:00
Chris McCord
b3033d0a94 Only show enable audio modal if not allowed 2021-11-08 14:52:45 -05:00
Chris McCord
17db535839 Move audio enabling entirely to client 2021-11-08 14:32:40 -05:00
Chris McCord
6358b0bb3b Fix changeset handling by recycling 2021-11-08 13:46:23 -05:00
Chris McCord
5f593dfaf2 Lock files behind temporary token 2021-11-05 23:02:31 -04:00
Chris McCord
287f78ab2a Synced playing fixup 2021-11-05 15:57:33 -04:00
Chris McCord
60382feddc Initial synced playback 2021-11-04 20:49:19 -04:00
Chris McCord
708bf715e1 WIP 2021-10-27 16:02:56 -04:00
Chris McCord
e28abc0a0a Add github login 2021-09-08 10:58:32 -04:00
Chris McCord
f9edbf76ba Fixed media player 2021-09-03 09:57:15 -04:00
Chris McCord
85855f9939 Make it so 🚀 2021-09-02 14:00:57 -04:00