AmericaSCORESBayArea / AmericaScores-CoachApp

React native based mobile app for Americas scores attendance management
5 stars 2 forks source link

(Often) After logging in a coach with active sessions typically sees none and has to go through the Team flow before any appear #467

Closed CritiqalPete closed 1 week ago

CritiqalPete commented 3 months ago

to reproduce this:

  1. Select a team with regular attendance type, a roster of students and at least three sessions two weeks apart
  2. set the user Profile>Calendar Option to M=Month
  3. Switch to Sessions View
  4. Verify the month is selected on the calendar where a session should appear
  5. Pull down to refresh (to be sure of a load)
  6. Switch to the Team View
  7. Select the team being used for testing
  8. Observe the list of Team Sessions that appear RESULT: The lists do not match. The Sessions View may include one or two but not all teams or sessions that are connected to that user. Tested with LautiTestCoach Yuri Morales

Expectation: The Sessions View should show ALL of the sessions with that coach assigned in any role that is within the selected date range. This should happen by default without requiring a refresh the first time, at least. And should populate fully if the dates are changed.

CritiqalPete commented 2 months ago

@za-zohaib please review this. Is it clear how we can move the update of the Sessions data to a place where the screen is populated with current Sessions and not have to interact with the Calendar first?

za-zohaib commented 1 month ago

Hi @CritiqalPete what i understood from this is that we shouldnot need to pull down and refresh the screen to show correct session. As i have tried this with sessions and team sessions screen both works fine if we pull down and refresh the screen. Do let me know if you want anything else. Thanks

za-zohaib commented 1 month ago

@CritiqalPete one more thing i noticed is that when we sign in the default date range on calendar is one week previous and one week ahead from today. e.g if today is 16 may 2024 the date range on calendar will be 9 may 2024 - 23 may 2024. And if we change the selection on Profile>Calendar Option to M/W/T it works on both session and teams page after refresh ( pull down ). There are two questions i have here

Do let me know if there is any confusion we can have a chat and discuss. Thanks

za-zohaib commented 1 month ago

@CritiqalPete one more thing i noticed

and if we select M/W/T from profile screen then that date range will be shown on refresh on both Tabs.

Is this desired behaviour ? 2 weeks range for Sessions Tab and 3 weeks for Teams Tab or both Tabs should have same date range ??

Do let me know if there is any confusion we can have a chat and discuss. Thanks .

za-zohaib commented 1 month ago

@CritiqalPete wanted to know if you were able to look at above questions.

CritiqalPete commented 1 month ago

Responses to previous UX questions:

  1. when a user completed an operation that potentially changes what will be seen on the Sessions view (e.g. add/edit a session) the app should do the refresh for them automatically
  2. in some cases we have seen: a blank session screen (based on an empty date range), add a session in that range, pull-refresh and the view stays blank, suggesting there was an incomplete transaction or error.

    Requested Changes:

    • analytics for when the view is refreshed that have additional parameters: Min_Date, Max_Date, RowCount (number of records displayed)
    • analytics for session create/edit includes session_date so we can determine if it should appear in the view
    • if the view is empty and the recently updated session record is outside the date range, a message: The session you updated will not appear with the present date range. Tap [Include Recent] to expand the range to include this session.

Comments:

An empty session screen should be very very rare for typical everyday coach usage. I expanded the default days on the calendar to reduce this but the app simply needs to be smarter and I would like the Design Team to explore "1-tap" solutions to emphasize TODAY, THIS WEEK, THIS MONTH, especially as an alternative to a blank screen.

za-zohaib commented 1 month ago

@CritiqalPete above Request changes sounds good. One question I have i that where should we put [include Recent] button.

CritiqalPete commented 1 month ago

since it's only seen periodically and in the context of an empty view (where a list of Sessions is expected) let's try putting it front and center on that view, above the [+ADD SESSION] Button.

CritiqalPete commented 1 month ago

Date Range Defaults: Let's align on 2 weeks before and after {Today} when the date filter has not been set but let's make that a Global Tunable Parameter which may added in the user Profile options when we have time

CritiqalPete commented 1 month ago

reviewed and tested all the basic flows. Let's merge!

za-zohaib commented 1 month ago

@CritiqalPete how will we know the recent included session? If a user has not added any session lets say for one month?

za-zohaib commented 1 month ago

Secondly one question got unanswered from above

If a user has selected default M/W/T from his Profile then after coming to teams or sesions screen he sees the date range according to his selected default after refresh but if he manually change the date range again then what should happen with the selected default from Profile because if he refresh the screen that Profile default date range is applied rather then the one he selected manually from date range.

CritiqalPete commented 1 week ago

@za-zohaib I want to close this now but it gives me an idea. How about a little widget on the Sessions view to let the user toggle between a Month/Week/Day filter? I will make a ticket.