personal-logger
personal-logger copied to clipboard
Re-think list view(s)
Rather than homogenous lists of all foods, exercises, etc. it would be nice to show a heterogenous list that shows each day as a card, beginning with sleep, and then continuing with interleaved food, symptoms, and exercise.
Example
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Tuesday, January 2, 2018 ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ Slept 8hrs, awoke twice. ┃
┠───────────────────────────────┨
┃ 8:00am Ate cereal ┃
┠───────────────────────────────┨
┃ 8:05am Drank soy latte ┃
┠───────────────────────────────┨
┃ 10:00am Energy level high ┃
┠───────────────────────────────┨
┃ ...and so on... ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Pros
- The interleaved format might make it easier to spot certain types of patterns, and the cards could be used to highlight missing entries (eg. no sleep entry, fewer than 3 food entries, etc.).
- I could get rid of the individual list views entirely. Perhaps either relying on a summary-like view if I want to filter only specific types of data.
- The new-entry floating action button could pop out a couple of options (one for each data-entry type) when touched. The main button could conver to an "x" to undo the spring. (This is how several of the material UIs work.)
- I could color-code day-cards based on symptoms (to make it easier to visually scan for "good" days and "bad" days).
Cons
- This layout would make react-virtualized integration more difficult. But perhaps I don't actually need to window the displayed elements, if I only show the most recent 1-2 weeks? If pagination was necessary, week boundaries seem like a reasonable place to do it.
- The day "cards" might get long (and possibly hard to view on a single mobile screen). Perhaps this can be mitigated through the use of symbols to reduce the amount of text required.