zeeguu / web

Frontend for the zeeguu web application.
https://www.zeeguu.org
5 stars 7 forks source link

Words Review Redesign #392

Closed tfnribeiro closed 3 months ago

tfnribeiro commented 4 months ago

This has become quite a large change, but I will try to summarize the changes included.

This requires API changes: https://github.com/zeeguu/api/pull/156

Main features:

Screencaps:

Review Word Screen

Desktop Mobile
image image

Review Word Screen (Editing)

Desktop Mobile
image image

Review Word Screen - InfoBox after user Edits

image

Review Word Screen - InfoBox if no words for exercises

image

New Edit Word Screen

Desktop Mobile
image image
netlify[bot] commented 4 months ago

Deploy Preview for voluble-nougat-015dd1 ready!

Name Link
Latest commit ec3dd5a33044fe739048a85d6ae52f8c0ce7337b
Latest deploy log https://app.netlify.com/sites/voluble-nougat-015dd1/deploys/66632c141de9db000847ed37
Deploy Preview https://deploy-preview-392--voluble-nougat-015dd1.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

tfnribeiro commented 4 months ago

One thing I thought about, which is worth considering: If the user edits words during review, should we reschedule words when they come back?

Example (This is from the DEV environment, so no translations):

Initial Screen:

image image

I remove 5 words:

image image

I reload the page:

image

We can see that the words that weren't selected and not altered by the user are re-added for the user to study. Is this a behaviour we want? Or if the user has edited any of the words, we "freeze" that state and don't change it unless the user edits them?

mircealungu commented 4 months ago

One thing I thought about, which is worth considering: If the user edits words during review, should we reschedule words when they come back?

Example (This is from the DEV environment, so no translations):

Initial Screen:

image image

I remove 5 words:

image image

I reload the page:

image

We can see that the words that weren't selected and not altered by the user are re-added for the user to study. Is this a behaviour we want? Or if the user has edited any of the words, we "freeze" that state and don't change it unless the user edits them?

This is much more complicated than I've ever imagined :)

solutions

  1. we expect them to not reload the page; if they reload it's their problem
  2. we track their preference at the end of editing phase with some state representing "user-approved pre-pipeline bookmarks for article"?!
  3. we track their indiference wrt. some words, i.e. add another state to each bookmark that says: "ignored in the past"...

I am tempted to let 1 happen. Let's see how people use this feature first before investing more in it.

tfnribeiro commented 4 months ago

@mircealungu But it's not that hard to implement the behavior of nothing changing. Here's how I did it:

image

This ensures if there is any bookmarks with user preference, then it's safe to assume the user has altered the original list - and that should cover most cases. This seeks to avoid the fact that I reduced the list to... say 2 words, and then I come back and have 10 again?