MathematicalMedicine / diver-issues

Semipublic tracking of issues for the DIVER front end
0 stars 0 forks source link

Add a "per-user dismissible hints text"/"tutorial text" system to diverweb #270

Open Viqsi opened 1 week ago

Viqsi commented 1 week ago

While working on #269 (and contemplating challenges for #141), I had a bit of a brainwave. Hypothetically, it's possible to create embedded text "hints" that are dismissible by a given user (click on a "close this hint" box and it goes away and stays away). Information on what's dismissed can be kept in the user state that we retrieve on login (and stored in the DB in the keyvalue store like we do Current Project).

That would neatly sidestep any concerns about solving #141 by adding "permanent text", because then as the user gains experience it would no longer be permanent.

We'd probably also want a "Reset all hints" function somewhere; I'm not sure where that would go in the current application as there's really no such thing as user preferences (even tho this is very much a user preference). But that's potentially quite plausible.

I'm milestoneing this as Second Public Release mostly because I'm uncertain if it's doable in the time we have left, but if it's possible to get this in Initial that would be nice (especially since #141 is in initial).

Viqsi commented 1 week ago

In diverweb it'd probably be best implemented as a TextHint component that takes as parameters a "hint name" (for recognition of whether or not it should be displayed AND for updating user state if it's dismissed) and child elements that comprise the text (using children because that way Link elements can be incorporated). Then just style everything up in a container div with a "dismiss" button.

Viqsi commented 1 week ago

Really, getting the styling right would be the biggest hurdle. (Kids these days and their overcomplicated CSS; why, back in my day it was nice and straightforward, harrumph harrumph...)