feat: blocks widget v61 + OS widget#547
Draft
jvsena42 wants to merge 4 commits intofeat/headlines-v61from
Draft
Conversation
# Conflicts: # Bitkit/ViewModels/WidgetsViewModel.swift # Bitkit/Views/Widgets/WidgetEditLogic.swift # Bitkit/Views/Widgets/WidgetEditView.swift
Member
Author
|
feature implemented, pending a code cleanup |
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.
This PR:
mempool.space.Description
The in-app Bitcoin Blocks widget gets the v61 layout: a vertical list of icon + label + value rows where each icon is rendered in brand orange. The compact (small) variant drops the label column and only renders icon + value rows so the small card stays readable.
The option set drops
weight,difficulty,hash, andmerkleRootand adds a newfeesfield that surfaces total block fees. Defaults are now Block, Time, Date, and Transactions.BlocksWidgetOptionskeeps a customCodableshim so existing on-disk preferences from older builds decode without losing the four still-supported fields. The mempool fetcher moves to/api/v1/block/{hash}so it can readextras.totalFees.A new Bitcoin Blocks home-screen widget ships as
BitkitBlocksWidget, supporting.systemSmalland.systemMediumfamilies. Both sizes cap rendering at four rows using the same default-priority logic — Block, Time, Date, Transactions take precedence; Size, Fees, and Source fill any remaining slot only when one of the defaults is toggled off. The widget mirrors the in-app options through the existinggroup.bitkitApp Group via a newBlocksHomeScreenWidgetOptionsStore, and the timeline provider refreshes every ~15 minutes (with cache fallback when the network call fails). Rendering honorswidgetRenderingModeso the widget reads correctly in full-color, accented (Liquid Glass / StandBy), and lock-screen modes.The edit screen is restructured into a single DATA section, with each row showing the brand-orange field icon next to its label and live value. The
WidgetEditViewnow treats.blockslike.price— the navigation bar shows the widget name and the description block is hidden.The preview screen is rewritten to mirror the price/headlines preview: description, "Widget Settings" cell, Compact↔Wide carousel, size label and dot indicator, and Save Widget / Delete buttons.
While in there: copied the seven Blocks-widget icons (cube, clock, calendar, arrow-up-down, file-text, coins, globe) into the widget extension's asset catalog so the home-screen widget can render them, and updated
WidgetsBackupConverterto map the AndroidshowFeespreference into the new iOS field.Mirrors the v61 redesign shipped on Android in bitkit-android#922.
Linked Issues/Tasks
N/A
Screenshot / Video
Simulator.Screen.Recording.-.iPhone.16.-.2026-05-07.at.16.01.54.mp4
QA Notes
Manual Tests