Skip to content

Conversation

rh12
Copy link
Contributor

@rh12 rh12 commented Jun 5, 2024

refs: MBL-17289
affects: Student, Teacher
release note: Create ToDo screen in Calendar was updated with new visuals.

What's new

  • Reworked CreateToDo and SelectCalendar screens
  • Added loading overlay functionality to BaseScreen
  • Added NavigationBarButton component
  • Added various cells & views to InstUI
  • Added dynamicTypeSize environment property in most places (sizeCategory is deprecated)
  • Added disabled and placeholder colors to be used where customization is needed/possible
  • Added new & missing tests for colors & icons
  • Updated Xcode schemes to calculate coverage for Core

Known issues

  • SelectCalendar screen back button is not styled (happy to fix it if you have ideas)
  • TextField height bumps a little bit when it's focused (see "Add title...")
  • TextEditor jumps to top when it's already scrolled and some text is pasted at the bottom (only on iOS 17; iOS 16 works fine)
  • TextField and TextEditor doesn't defocus when tapped outside of CreateToDo screen (eg. on iPad)
  • When VoiceOver active tapping on bottom area of CreateToDo screen doesn't activate Details TextEditor (as it does without VoiceOver)

Test plan

  • Compare CreateToDo and SelectCalendar screens with Figma
  • Verify ToDo is created and Calendar is refreshed
  • Verify SelectCalendar screen doesn't show Group Calendars and sorts as expected
  • Verify that on CreateToDo screen the personal calendar is always selected by default

Screenshots

BeforeAfter

Checklist

  • Follow-up e2e test ticket created
  • A11y checked
  • Tested on phone
  • Tested on tablet
  • Tested in dark mode
  • Tested in light mode
  • Approve from product

@rh12 rh12 self-assigned this Jun 5, 2024
@inst-danger
Copy link
Contributor

inst-danger commented Jun 5, 2024

Release Note:

Create ToDo screen in Calendar was updated with new visuals.

Affected Apps: Student, Teacher

MBL-17289

Coverage New % Master % Delta
Canvas iOS 91.81% 91.68% 0.13%

Generated by 🚫 dangerJS against db235f0

@inst-danger
Copy link
Contributor

inst-danger commented Jun 5, 2024

Student Build QR Code:

@inst-danger
Copy link
Contributor

inst-danger commented Jun 5, 2024

Teacher Build QR Code:

@domonkosadam domonkosadam mentioned this pull request Jun 7, 2024
6 tasks
@rh12 rh12 force-pushed the feature/MBL-17289-Create-ToDo-screen branch from 6320c4c to 62af9a5 Compare June 7, 2024 11:21
@rh12 rh12 force-pushed the feature/MBL-17289-Create-ToDo-screen branch from 5e201e3 to 06b65fc Compare June 7, 2024 12:47
@rh12 rh12 marked this pull request as ready for review June 7, 2024 13:09
Copy link
Collaborator

@vargaat vargaat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Went through the code and added some findings, in addition to those we talked about the icons and colors scripts usage in private. Good job in overall, especially on extending the InstUI toolset.

Copy link
Collaborator

@szabinst szabinst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have now a bunch of *Cell components but are they really only used in lists? What I mean is that could they be simply named *View?

When testing for error scenarios I receive a Publishing changes from within view updates is not allowed, this will cause undefined behavior. on the CreateTodo screen.

Comment on lines +23 to +34
public struct LabelValueCell<Label: View>: View {
@Environment(\.dynamicTypeSize) private var dynamicTypeSize

private let label: Label
private let value: String?
private let action: () -> Void

public init(label: Label, value: String?, action: @escaping () -> Void) {
self.label = label
self.value = value
self.action = action
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this component is actually a button, not just a label I think we should either change the name or change the name and make the action parameter optional.

Comment on lines +82 to +83
// end of today, to match default web behaviour
date = .now.endOfDay()
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For me this behaviour was strange, I'd expect a picker to work like other mobile app pickers. Idk if we should talk about this with Marci and Judit.

@rh12
Copy link
Contributor Author

rh12 commented Jun 14, 2024

Code Review + 1 for Attila's changes.
Thank you both for the comments and changes!

Copy link
Collaborator

@vargaat vargaat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QA+1

@vargaat vargaat merged commit 8ea4e55 into master Jun 14, 2024
@vargaat vargaat deleted the feature/MBL-17289-Create-ToDo-screen branch June 14, 2024 15:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants