===Why are we doing this?
We want to provide a way for logged in users to access notifications within the iOS app
===What do we need to do?
Add affordance to top bar (“add bell”), what happens when there’s no explore feed, add toast behavior for when user is in article
===Design proposals
=====Figma: https://www.figma.com/file/cedgOU5CyOR0UVqtjDOvzE/iOS-Notifications
====Bell badging
// Assets: https://phabricator.wikimedia.org/T288652 //
|Explore feed with unread messages | Explore feed with NO unread messages | Explore feed off with unread messages | Explore feed off with NO unread messages
|--- | --- |--- | ---
| {F34597604 width=220} | {F34597606 width=220} | {F34597608 width=220} | {F34597610 width=220}
====In-app notifications
// Tapping on either notification style pushes user to the in-app notification center //
|System style | Custom style
|--- |---
| {F34597666 width=220} | {F34597668 width=220}
----
====Questions
- If we utilize system notifications for in-app alerts when the bell icon is not visible, will users who have push notifications turned off be able to see these notifications?
- If we utilize system notifications for in-app alerts when the bell icon is not visible, will users who have 'moon mode' turned on be able to see these notifications?
====Dependencies
https://phabricator.wikimedia.org/T287310
https://phabricator.wikimedia.org/T288652
https://phabricator.wikimedia.org/T288669
==Testing Notes for QA==
To test, we need to confirm that:
- Push notifications appear on top of the app while app is foregrounded (if they have enabled push notifications via app Settings).
- The user can tap a push notification when the app is in these 3 states. Confirm the following happens in each state:
**When app is in foreground and background**
- If the navigation hierarchy is set up so that the app IS NOT presenting modals (that is, any screen that animates up from the bottom, like Settings), Notifications Center simply pushes on from the right. The user can then tap Back to get to where they were before. For example, user Taps Explore > Featured Article > Push notification appears and user taps > Notifications Center pushes on from the right > User can then tap Back to go back to the Featured Article.
- If the navigation hierarchy is set up so that the app IS presenting modals (like Settings), the modals are first automatically dismissed, then Notifications Center is pushed on from the right.
- If the navigation hierarchy is set up so that the app IS presenting modals, AND that modal is showing some sort of editor (say, our wikitext section editor, article description editor, or user talk new topic or reply screens), we first show an editor confirmation alert to confirm the user is okay with losing their changes. If they tap cancel, nothing happens, the user isn't navigated out of editor. If the user taps "Discard Edits", the modals are then dismissed, then Notifications Center is pushed on from the right.
{F35023725}
**When app is terminated and not in memory**
- When the user taps a push notification while the app is terminated, the user is brought straight to Notifications Center when the app launches.