Skip to content

feat: redesign price widget v61#914

Open
jvsena42 wants to merge 23 commits intofeat/system-widgets-foundationfrom
feat/price-widget-v61
Open

feat: redesign price widget v61#914
jvsena42 wants to merge 23 commits intofeat/system-widgets-foundationfrom
feat/price-widget-v61

Conversation

@jvsena42
Copy link
Copy Markdown
Member

@jvsena42 jvsena42 commented Apr 27, 2026

FIGMA

This PR:

  1. Applies the v61 Figma layouts to both the home screen widget (Wide / Compact) and the in-app price card
  2. Drops multi-pair selection — a single trading pair is selected at a time
  3. Redesigns the widget config and edit screens with sectioned currency/timeframe lists
  4. Redesigns the price preview screen with a small/wide widget carousel
  5. Updates the system widget XML preview to match the new Wide layout

Description

The price widget has been redesigned to match Figma v61. The Glance widget now picks between two layouts based on its rendered size: a Wide layout (343×152dp) with a 34sp headline price and a thin chart, and a Compact layout (163×192dp) with a stacked title price, change % and a taller chart. The chart bitmap drops its previous gradient fill in favor of a line-only stroke, and the period overlay is removed from the chart since the timeframe label now lives in the header.

Currency selection moves from a multi-toggle list to single-select. The Glance widget always renders the first enabled pair; the in-app PriceCard does the same. Both edit screens (AppWidgetConfigScreen for the system widget, PriceEditScreen for the in-app feed) are restructured into two sections — CURRENCY and TIMEFRAME — with selectable rows that highlight the active option in white with a Brand-colored checkmark and dim the rest.

The preview screen drops the headline + chart icon header in favor of a centered Bitcoin Price top bar, a description block, a Widget Settings row, and a horizontal pager that swipes between the small and wide widget previews with a size label and dot indicator below. The widget metadata XML now allows a 2×2 placement (lower minWidth/minHeight) and defaults to a 4×2 cell target so the widget lands on the Wide layout out of the box.

Preview

os-widget.webm
app-widget.webm

QA Notes

System widget

  1. Long-press the home screen and select "Widgets"
    • Find "Bitcoin Price" — verify the picker preview shows the new Wide layout (single pair, big headline price, line chart)
  2. Drop the widget at 4×2 (default) — verify it renders the Wide layout
  3. Resize the widget down to 2×2 — verify it switches to the Compact layout (split BTC/USD ↔ 1D row, 22sp price, 15sp change, taller chart)
  4. Tap the widget
    • Verify the config screen opens with Bitcoin Price title, CURRENCY and TIMEFRAME sections
    • Verify currency rows are single-select (selecting one deselects the rest)
    • Verify timeframe rows show full labels (Day / Week / Month / Year)
    • Pick a pair + period, hit Save — verify the widget re-renders with the new selection

In-app price widget

  1. Open the widgets feed → Bitcoin Price
    • Verify the preview screen shows the redesigned layout: top-bar title, description, Widget Settings row, carousel (default page = Wide), Wide/Small label, dot indicator, Save Widget button
    • Swipe the carousel — verify the small (163×192dp) preview renders correctly and the label switches to Small
  2. Tap Widget Settings — verify the edit screen mirrors the system widget config (CURRENCY / TIMEFRAME, single-select)
  3. Save and verify the in-app card on the home screen shows the new Wide layout (no multi-pair list, no source toggle, line-only chart)
  4. With the widget already added, reopen the preview screen — verify both Delete and Save buttons appear

@jvsena42 jvsena42 marked this pull request as draft April 27, 2026 15:49
Comment thread app/src/main/java/to/bitkit/appwidget/config/AppWidgetConfigViewModel.kt Outdated
Comment thread app/src/main/java/to/bitkit/ui/screens/widgets/price/PriceViewModel.kt Outdated
Comment thread app/src/main/java/to/bitkit/ui/screens/widgets/price/PriceCard.kt Outdated
Comment thread app/src/main/java/to/bitkit/appwidget/ui/price/PriceGlanceContent.kt Outdated
Comment thread app/src/main/java/to/bitkit/appwidget/ui/price/PriceGlanceContent.kt Outdated
Comment thread app/src/main/java/to/bitkit/ui/screens/widgets/price/PricePreviewScreen.kt Outdated
@claude

This comment has been minimized.

…into feat/price-widget-v61

# Conflicts:
#	app/src/main/java/to/bitkit/appwidget/config/AppWidgetConfigScreen.kt
#	app/src/main/java/to/bitkit/appwidget/ui/price/PriceGlanceContent.kt
@jvsena42 jvsena42 self-assigned this Apr 28, 2026
@jvsena42 jvsena42 marked this pull request as ready for review April 28, 2026 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant