cuappdev / cuappdev/announcements-ios
MOBILE-2: Create iOS library
- Dominant language
- Swift
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
### Acceptance Criteria
1. Create the UI according to the [[Figma](https://www.figma.com/design/cPPL4aIN9EdMaAca6Us0hu/Announcements?node-id=1167-56484&node-type=FRAME&t=Zx8TNAowTeZuFHGP-0)](https://www.figma.com/design/cPPL4aIN9EdMaAca6Us0hu/Announcements?node-id=1167-56484&node-type=FRAME&t=Zx8TNAowTeZuFHGP-0).
1. Make sure to use the padding and font sizes specified in the **Desktop** version.
2. The component should be able to take in the following:
1. The host URL.
2. The slug.
3. (Optional) A specified font for the title.
4. (Optional) A specified font for the body.
3. Multiple back to back announcements should be handled.
1. Loop through the active announcements fetched from the API.
2. For every announcement, check if it’s already seen (in local storage).
3. If so, don’t display the announcement. If not, display the announcement, store in local storage, and exit out of the for loop so that **only one announcement shows at at time.**
4. Tapping on the announcement banner should open the link in browser **and dismiss the view without animation.**
5. Tapping on the close button should dismiss the view **with animation.**
1. 0.2 seconds, ease-in-out, opacity and translate up.
6. The announcement should dismiss by itself after **8 seconds with animation.**
1. 0.2 seconds, ease-in-out, opacity and translate up.
7. The announcement should appear **with animation, after a delay of 4 seconds.**
1. 0.4 seconds, ease-in-out, opacity and translate down.
8. Create a function to reset local storage.
9. Should be compatible with SwiftUI and UIKit.
### Out of Scope
1. Publishing the library via SPM.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.