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
Berenice Medel Sánchez
a65c789748
add presence client behaviour callbacks
2022-01-11 14:04:27 -05:00
Chris McCord
b8bbba8ecb
Fix tests
2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
84d4eead7a
use genserver pid or name in client API
2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
0bde8f40d6
don't start presence client on tests
2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
028c619047
keep client state in the phoenix presence client
2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
9b5587d484
implement fetch callback to list users
2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
defb8ccf92
update/remove metas
2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
6b5e820130
initial tests added
2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
bdb4319f16
unsubscribe is no more handled in untrack_pid
2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
0579f9f293
handle leaves and joins in the same function
2022-01-11 14:04:27 -05:00
Berenice Medel Sánchez
c22e104a24
change key to string when tracking and untrackin presences
2022-01-11 14:04:27 -05:00
Berenice Medel
463faafe71
Implement handle_leave and handle_join in presence_client
...
- The profile Liveview is subscribed to active_users topic
- user_joined and user_left events are sent
- Users are added and removed from presences assign
2022-01-11 14:04:27 -05:00
Berenice Medel
4634d32295
update phoenix client state
...
-add topics
- remove_topics
- add_presences
- remove_presences
2022-01-11 14:04:27 -05:00
Berenice Medel
bd927bf8b2
add presence client
2022-01-11 14:04:27 -05:00
Berenice Medel
216916817b
configure presence for tracking the users listening a playlist
2022-01-11 14:04:27 -05:00
Chris McCord
a0f3b76f61
Merge pull request #18 from ndarilek/hide-empty-metadata
...
Hide title/artist metadata when empty.
2022-01-10 14:56:32 -05:00
Chris McCord
ad3cab4d29
Merge pull request #20 from ndarilek/playlist-a11y
...
Improve playlist accessibility
2022-01-07 15:24:00 -05:00
Chris McCord
cb781d855e
Merge branch 'cm-tailwind-standalone'
2022-01-07 13:42:26 -05:00
Chris McCord
fba89209bd
Merge branch 'master' of github.com:chrismccord/live_beats
2022-01-07 13:42:12 -05:00
Chris McCord
c5b25aa5be
Add standalone tailwind
2022-01-07 13:42:04 -05:00
Nolan Darilek
57150a4f7a
Add additional region for search region when mobile sidebar is displayed.
2021-12-20 12:13:49 -06:00
Nolan Darilek
159363fb4b
Add button role to icons to hint that they are actionable.
2021-12-20 11:02:36 -06:00
Nolan Darilek
3860c79ec7
If an icon has aria-label
set, don't set aria-hidden
. Also, label some icons.
2021-12-16 15:26:12 -06:00
Chris McCord
bbb9693e8c
WIP
2021-12-16 11:06:22 -05:00
Chris McCord
67a291ac3a
Revert temporary assign
2021-12-15 22:03:18 -05:00
Chris McCord
8da032fed3
Make songs temporary assigns
2021-12-15 21:51:09 -05:00
Chris McCord
ce1a1fdc5f
Do not focus outline h1 in title bar
2021-12-15 12:48:05 -05:00
Chris McCord
803f0b52cc
Test bad inputs
2021-12-14 21:07:02 -05:00
Chris McCord
816eb78064
Add mp3stat test
2021-12-14 21:02:50 -05:00
Chris McCord
570e86d02c
Test song deletion
2021-12-14 15:29:07 -05:00
Chris McCord
dda0cdaa3f
Test basic uploads
2021-12-14 15:19:03 -05:00
Nolan Darilek
7fdb30520e
Hide title/artist metadata when empty.
...
From an accessibility perspective, having an empty `<h2/>` is confusing. Even though it lacks text, it remains visible to scree readers and is still navigable.
I'm not sure whether wrapping the entire `<div/>` in this check breaks the layout, or if the individual elements should have `aria-hidden` set if their values are empty.
2021-12-14 12:17:40 -06:00
Chris McCord
c8a6035a02
Fixup tests
2021-12-14 10:35:51 -05:00
Chris McCord
57c193e490
Merge pull request #14 from ndarilek/accessible-routing
...
Initial work on making routing more accessible
2021-12-13 13:21:04 -05:00
Chris McCord
7db38a70ab
Merge pull request #15 from ndarilek/sidebar-a11y
...
Improve accessibility of mobile sidebar
2021-12-13 13:19:53 -05:00
Berenice Medel
9262895d13
fix typo
2021-11-30 09:03:08 -06:00
Berenice Medel
e5c663ab38
show stop button when listening someone else playlist
2021-11-29 19:23:23 -06:00
Berenice Medel
0e0d349e31
hide play button on playlist
2021-11-29 19:21:35 -06:00
Chris McCord
5e3149ad8e
Only active tab user's own profile
2021-11-23 22:06:48 -05:00
Nolan Darilek
ca311dd11d
Further sidebar accessibility improvements.
...
* Set `aria-controls` to the sidebar container.
* Swap button focus as sidebar is revealed/hidden.
2021-11-23 11:41:07 -06:00
Nolan Darilek
ad13a8c364
Partial implementation of ARIA disclosure pattern for sidebar.
...
* Hide/show buttons to reveal sidebar as appropriate.
* Hard-code `aria-expanded`, since by default only one button is exposed at a given time.
2021-11-23 11:29:49 -06:00
Chris McCord
a325b385b3
Rename link attrs
2021-11-23 09:34:46 -05:00
Chris McCord
7f9b7c5f9a
Assign active_tab in handle_params to handle live patches
2021-11-23 09:34:46 -05:00
Nolan Darilek
7096b98cc2
Add alert role on connection status so it is read automatically on change.
...
Note: not currently tested since I'm not sure how to force these states, but I did notice them happening from time to time so wanted to try addressing them..
2021-11-22 15:24:10 -06:00
Nolan Darilek
6d95137d1f
Set aria-current
on active tab to indicate to screen readers which is selected.
2021-11-22 14:20:10 -06:00
Nolan Darilek
ef1355f897
Set aria-hidden="true"
on more SVG graphics, and hide icons by default.
...
The original icon fix assumed that the `<svg>` tag had an `alt` attribute, which it does not. Instead, SVG requires a child element to specify a description. A complete fix involves patching upstream to allow for setting this element, but since we don't seem to have actionable icons without associated textual controls, set `aria-hidden="true"` by default and require it to be overridden if needed.
2021-11-22 13:50:20 -06:00
Nolan Darilek
5cf58b2b77
Minor cleanup to make navigating by region easier.
...
* Make `<main>` the part of the page that actually changes when the route updates, thus making navigation to page content easier.
* Add labelled region for persistent audio player.
2021-11-22 13:18:06 -06:00
Chris McCord
d35554ee0e
Link logo placeholder
2021-11-22 13:04:05 -05:00
Chris McCord
55a1e1f02a
Logo placeholder
2021-11-22 12:50:42 -05:00