gcpreston / cuberacer_live

🧩 Twisty puzzle racing platform
https://cuberacer.io
0 stars 0 forks source link

Times table pagination #53

Closed gcpreston closed 2 years ago

gcpreston commented 2 years ago

With multiple participants, the times table just squishes their times into the portion of the viewport it takes up

Desired:

gcpreston commented 2 years ago

The issue with this is that it is largely front-end state. However, LiveView wants to implement stuff like this via the back-end, which causes complications. The times table display is already loosely held together, and introducing another factor of which users are displayed right now makes that more convoluted. Implementing this via Alpine seems quite difficult, because at least what would need to happen is the present users would need to be shadowed and updated as Alpine data.

The natural solution popping out seems to be a React application which stores all room state client-side, and handles view updating client-side as well. this takes care of the times table display weirdness, and seems like the actual long-term solution.

While overall complexity is increased, this has a few notable benefits:

  1. In the end, the display/layout code should be the same, since it's just Tailwind.
  2. This enables other integrations to be created, specifically, React Native.
gcpreston commented 2 years ago

In the meantime, I will see if I can limit the number of users in a room to ~4 or 5, so the view doesn't get too messed up.

gcpreston commented 2 years ago

Implemented in #69, and the times table display mechanism is updated in #75