Background
As part of the Navigation refresh, T373712, we are creating a profile view that will be accessible from both article view and the main view for quick access to notifications, watchlist, and other items throughout the entire app.
Requirements
Must have
- Profile view should be dismissible using "Done" or by swiping down
- Notifications displays an active state if there are unread notifications
- Supports Dynamic Type
- Displays well in Landscape mode
- Create equivalent version for iPad
Nice to have
- Notifications shows the number of unread notifications
Designs
| 1. Logged-in view | 2. Logged-out view |
Engineering Notes
Should be SwiftUI view wrapped up in hosting controller (use WMFCanvasViewController or WMFComponentViewController)
- Should handle both logged in and logged out states, as well as badged or not badged state for notifications center. This info can be passed in via the view model. The view model will be created app-side, and logged in/logged out state will be set by looking at WMFAuthenticationManager. Notifications badge flag will be set by the same logic as the current Explore nav bar bell icon badge.
- Show list of items. UI should lean on WMFFont and WMFSFSymbolsIcon or WMFIcon. Properly theme using WMFTheme, and ensure UI scales with dynamic type.
- (Maybe) Add translations (If we have some target wikis)
- Add logging when tapping sidebar buttons
- Add logging on sidebar impression (viewDidAppear, onAppear?)
Test notes:
- Open app, navigate to the profile view
- Ensure it is properly displaying based on whether or not you're logged in, repeat process after logged out
- Not all navigational elements work yet

















