feat: OS widgets foundation + price widget#538
Open
jvsena42 wants to merge 18 commits into
Open
Conversation
jvsena42
commented
May 5, 2026
Member
Author
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 95e132a147
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Member
Author
|
Large widget removed in #542 |
This comment was marked as resolved.
This comment was marked as resolved.
Member
Author
|
@piotr-iohk probably still need E2E update here |
* feat: port price widgets related screens to figma V61 * fix: spacing and alignment * feat: hide menu button from nabigation bar * fix: padding * fix: remove systemLarge widget option * fix: collect results in input order instead of completion order * fix: pr comments * fix: pr comments * refactor: simplify doc * refactor: replace onApper with task * refactor: replace onChange with task id * refactor: simplify comments * refactor: simplyfy comments * refactor: simplify comments * refactor: simplify comments * refactor: simplify comments * refactor: remove multi-pair legacy code * fix: fallback to os widget options after remove in-app * fix: make chart height adaptable * feat: set backgroud color Gray7 * fix: reuse existing text component and remove scale factor * fix: display white32 checkmark for unselected item * fix: vertical padding anchored to checkbox image * fix: remove the gray bg and custom bg from Navigation bar * fix: try to fetch real data for preview * refactor: make string keys generic to be reused in the furue implementtions * fix: make prevew frame height adaptable * fix: remove app group fallback * test: widget test ids adjustment * fixes --------- Co-authored-by: Piotr Stachyra <piotr.stachyra@gmail.com> Co-authored-by: Philipp Walter <philippwalter@proton.me>
* feat: port price widgets related screens to figma V61 * fix: spacing and alignment * feat: hide menu button from nabigation bar * fix: padding * fix: remove systemLarge widget option * fix: collect results in input order instead of completion order * fix: pr comments * fix: pr comments * refactor: simplify doc * refactor: replace onApper with task * refactor: replace onChange with task id * refactor: simplify comments * refactor: simplyfy comments * refactor: simplify comments * refactor: simplify comments * refactor: simplify comments * refactor: remove multi-pair legacy code * fix: fallback to os widget options after remove in-app * fix: make chart height adaptable * feat: set backgroud color Gray7 * feat: migrate news widget to design v61 and port OS widget * fix: push source text to bottom * refactor: extract articles url to a shared files * feat: open browser on widget click * doc: changelog entry * fix: small and medium sizes displaying different random url * chore: remove schedule file * fix: replace onAppear with task * fix: use stable dafe format identifier * fix: reuse existing text component and remove scale factor * fix: display white32 checkmark for unselected item * fix: vertical padding anchored to checkbox image * fix: remove the gray bg and custom bg from Navigation bar * fix: try to fetch real data for preview * refactor: make string keys generic to be reused in the furue implementtions * fix: make prevew frame height adaptable * fix: display checkmark for title * fix: remove app group fallback * test: widget test ids adjustment * test: widget test ids adjustment * fixes * fixes * fixes --------- Co-authored-by: Piotr Stachyra <piotr.stachyra@gmail.com> Co-authored-by: Philipp Walter <philippwalter@proton.me>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR adds the foundation for native iOS Home Screen widgets via WidgetKit, with the Bitcoin price widget as the first concrete example mirroring its in-app counterpart.
The foundation establishes the contract that future home-screen widgets will reuse:
group.bitkitis the only sync channel between the main app and the widget extension — no shared MMKV, redux-persist, or keychain.UserDefaultsand triggerWidgetCenter.reloadTimelineswhenever the in-app editor saves changes, so the home-screen widget reflects edits within ~1s.placeholder/getSnapshot, kicks off a fresh fetch ingetTimeline, and falls back to cache (or a graceful error state) when offline.PBXFileSystemSynchronizedBuildFileExceptionSet, keeping the extension binary minimal.widgetRenderingModeso they render correctly in both full-color and accented (Liquid Glass / StandBy) modes.The price widget itself ships small, medium, and large families. Small shows the price and 24h change badge. Medium and large add a Charts-based sparkline that picks color from the change direction and respects rendering mode. Selected pairs, period, and the optional Bitfinex.com source line all flow from the in-app price widget editor.
Linked Issues/Tasks
Mirrors the foundation introduced on Android in bitkit-android#895.
Screenshot / Video
Simulator.Screen.Recording.-.iPhone.16.-.2026-05-05.at.14.09.49.mp4
Simulator.Screen.Recording.-.iPhone.16.-.2026-05-06.at.07.11.40.mp4
QA Notes
1. Add the widget from the gallery
2. Configuration flows through App Group
selectedPairsto include BTC/EUR, switch period to1W, toggleshowSourceon.3. Rendering modes
Color.clearbackground and tint-friendly text.4. Unrelated regressions
master.