-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: added the external router for deep links #320
feat: added the external router for deep links #320
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Initial review.
Later, it will be added feedback after testing.
Overall, the approach is good, mostly code-style things.
enum class CourseTab { | ||
COURSE, | ||
VIDEOS, | ||
DISCUSSION, | ||
DATES, | ||
HANDOUTS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need this new dependency in the Core?
I'm not sure that Core should know about course screen UI. Maybe we can replace it just with bool flags?
let's discuss it.
@HamzaIsrar12 your opinion?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with your point but I also see it as a deeplink-screen instead of a UI-screen. But to handle your concern, we can pass the tab value as ordinal or string and parse it on the other end.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
enum class HomeTab { | ||
DISCOVER, | ||
DASHBOARD, | ||
PROGRAMS, | ||
PROFILE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here.
cc @HamzaIsrar12
60d7b05
to
2031380
Compare
@HamzaIsrar12 please spare some time to review this PR 🙏 |
I finally have the time to start the review. Thanks for your patience. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the PR. ✨ It does the required job perfectly, but after some internal discussion, we've identified a few additional requirements.
Currently, the deep links are direct and lack backtrace functionality. We should maintain backtrace, similar to what we have implemented for iOS.
I also really appreciated the approach used in iOS with their DeepLinkManager
, which works in the same way as our AnalyticsManager. It's a standalone class that integrates all the related SDKs and manages them effectively.
I'm attaching the iOS PR for inspiration, along with a video demo of their screen navigation.
Thanks again!
b7bc005
to
9210e92
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for addressing the comments. However, the feedback related to backtrace mentioned in the description of the last review still needs to be implemented.
Posting it again:
Thank you for the PR. ✨ It does the required job perfectly, but after some internal discussion, we've identified a few additional requirements.
Currently, the deep links are direct and lack backtrace functionality. We should maintain backtrace, similar to what we have implemented for iOS.
I also really appreciated the approach used in iOS with their
DeepLinkManager
, which works in the same way as our AnalyticsManager. It's a standalone class that integrates all the related SDKs and manages them effectively.I'm attaching the iOS PR for inspiration, along with a video demo of their deeplink navigation.
Thanks again!
110c56f
to
3cc55bf
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the changes Igor. It works perfectly. ✨
Minor nits only.
enum class CourseTab { | ||
COURSE, | ||
VIDEOS, | ||
DISCUSSION, | ||
DATES, | ||
HANDOUTS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with your point but I also see it as a deeplink-screen instead of a UI-screen. But to handle your concern, we can pass the tab value as ordinal or string and parse it on the other end.
3cc55bf
to
3f45dd8
Compare
bdb7ba5
to
aaaf5d8
Compare
aaaf5d8
to
db98d4b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me 🏎️
Added ability to redirect from deep links/push notifications to different screens.
Screen_Recording_20240515_113916_Skype.mp4