Draft
Conversation
…dits, default mint copy update.
…iable hit testing, adjust row padding to maintain visual alignment
…the default mint.
…e is off The screen title showed "Auto-Withdraw" everywhere — renamed to "Withdraw" in the nav bar and hero section across all locales (en/es/pt). Destination and Trigger Settings sections were always visible even with the toggle off; they are now fully hidden when disabled and smoothly animate in/out when the toggle changes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… mode The disabled state used a 20% opacity background color compounded with 0.5 alpha on the view, resulting in ~10% visibility. Fixed at the component level so all screens using Widget.Button.Primary.Green benefit: - Disabled bg now uses color_bg_tertiary (theme-aware solid color) - Added text color selector with proper disabled state via color_text_tertiary - Removed redundant alpha hacks from XML layouts and Kotlin code - Removed inconsistent textStyle="bold" overrides on withdraw buttons Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Both withdraw layouts had an explicit color_bg_surface background on the ScrollView, creating a visible seam against the nav bar. Other settings screens (Security, Language, Currency) inherit color_bg_white from the root with no ScrollView background override. Removed the override so both withdraw screens match. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… spacing The section headers (DESTINATION, TRIGGER SETTINGS, etc.) were using inline styling with sans-serif (regular) and 0.03 letter spacing instead of the shared Text.SectionHeader style used across 8+ other screens. Refactored all 4 headers to use the shared style (sans-serif-medium, 0.05 letter spacing). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Both rows used the same lightning bolt icon. Auto-Withdraw now uses a Material Design autorenew icon to convey automatic/repeating behavior, and Withdraw Now uses the down arrow icon consistent with withdraw line items in the activity screen. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ermark Dialed back the gradient to barely-there warmth — light mode goes from pure white to a ~3% orange tint, dark mode shifts subtly from default surface to a faint ember tone. Removed the orange border stroke that added to the warning-banner feel. Added an oversized 120dp lightning bolt at the bottom-right corner at 6% opacity as a brand watermark, clipped by the card edges. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Restructured layout so the bolt sits outside the padded content layer in its own FrameLayout, flush against the card edges with -30dp margins and clipped by the CardView corner radius. Added -15deg counter-clockwise rotation, a vertical fade-out overlay (theme-aware, transparent to card bg color), and bumped opacity from 6% to 12% for better visibility. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ation on toggle Renamed hero card title from "Withdraw" to "Auto-Withdraw" across all locales. Added a LightningStrikeView that plays an orange lightning bolt animation when the Auto-Withdraw toggle is switched on — forked bolt path with amber glow, no screen flash, 400ms duration, auto-removes after completion. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Reduced to a single bolt, added smooth fade-in/hold/fade-out timing (550ms), lowered overall opacity to 70%, thinned stroke widths and glow radii for a subtler effect. Removed the lightning bolt icon from the Lightning Address input label. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Removed clock icon from recent activity empty state, made history card, auto-withdraw toggle card, and withdraw now card backgrounds transparent so they blend seamlessly in both themes — matching the borderless appearance already seen in light mode. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The mint profile icon wasn't reliably loading, showing a fallback bitcoin icon instead. Removed the icon container entirely for a cleaner layout — mint items now show just name, URL, balance, and chevron. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Removed gray card backgrounds from invoice and address components (both XML and programmatic setCardBackgroundColor). Removed lightning bolt and envelope icons from section headers. Fixed SEND TO and CASHU TOKEN headers to use shared Text.SectionHeader style. Applied hero gradient to the balance card. Made cashu input and token result cards transparent. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Simplified Lightning Invoice and Address sections to match the Auto-Withdraw screen's clean pattern (label, input, helper text). Replaced QR scan icon with a Scan Invoice secondary button. Renamed SEND TO header to DESTINATION. Removed lightning bolt icon from mint name. Added real-time fiat balance below the BTC amount using BitcoinPriceWorker. Removed address helper text. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Fixed cashu tab spacing to match destination section by removing extra marginTop. Renamed "Amount (sats)" to "Amount" across all locales. Fixed scan icon on Scan Invoice button — switched from drawableStart (ignored by MaterialButton) to app:icon with textStart gravity. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replaced the custom segment toggle (bg_input_pill container, 14sp medium text, bg_segment_tab_selected) with the same implementation used on the payment request screen (bg_button_secondary_pill container, 18sp bold text, bg_button_primary_green selected state, 42dp height, 125dp min width). Both screens now use identical toggle styling. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ling Updated history item icons to match the Activity screen — up arrow in gray circle with green checkmark badge overlay for completed entries. Removed redundant "Sent" badge. Fixed badge clipping with clipChildren. Changed Withdraw Now icon from orange to gray to match. Centered share icon vertically with text content for cashu token entries. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Updated history item text to match the Withdraw screen's row styles instead of the Activity screen's styles. Amount now uses 17sp medium (matching row titles like "Withdraw Now"), detail lines use 14sp secondary (matching row descriptions). This makes Recent Activity feel typographically unified with the rest of the Withdraw screen. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Inner circle was 40dp while Auto-Withdraw and Withdraw Now rows use 44dp. Expanded inner circle to 44dp and outer container to 50dp so the green checkmark badge can still overflow the edge cleanly. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Removed elevation shadow from both withdraw screen title bars and replaced inline 20sp title styling with shared Text.Title style (17sp) to match Security & Privacy and other screens. Fixed centering with textAlignment. Updated mint selection bottom sheet fonts to match withdraw screen typography — mint name uses medium 17sp, URL uses 14sp secondary, balance uses medium instead of bold. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Switched to explicit MaterialButton with app:strokeColor/strokeWidth for visible border, since the style's android:background was being ignored. Added insetTop/insetBottom="0dp" to match Continue button's 52dp height. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Removed gray background (color_bg_surface on root and ScrollView), removed title bar elevation/divider, replaced inline 20sp title with Text.Title style, updated TO label to use Text.SectionHeader, made card backgrounds transparent, matched button width to other screens (40dp margin), removed word "actual" from fee note text across all locales. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The history section header and card were appearing statically while other elements above them had a staggered reveal. Added both to the entrance animation sequence at 250ms and 300ms delays, continuing the top-to-bottom stagger pattern. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Hero card switches between orange/amber gradient (inactive) and green gradient (active) when Auto-Withdraw is toggled, including the lightning bolt watermark tint. Instant swap with no flicker. Replaced blue accent color on the percentage slider and See All button with Numo orange to match the app's brand palette. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Icon is now gray/neutral when off (matching Withdraw Now style) and switches to green when toggled on. Changes in sync with the hero card gradient transition. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove TermsBottomSheet and revert welcome screen styling (TOS dialog, terms text style, accept button elevation) back to master so splash screen updates can be done on a separate branch. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… system Use Widget.Button.Primary.Green and Widget.Button.Secondary.Outlined styles from the withdraw branch for consistency. Replace the ad-hoc bottom sheet scan row with a proper outlined MaterialButton. Fix purple button color by adding colorPrimary to the bottom sheet theme. Add text color state list so disabled buttons show readable gray text. Update hint copy to "Enter mint URL". Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the plain Default Mint header + row with a hero card matching the Auto-Withdraw design — gradient background, lightning bolt watermark, and elevated typography. Remove chevrons from wallet setup options. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove 5 tests that referenced view IDs from an abandoned drag-and-drop UI iteration (add_different_mint_card, mints_subtitle, mints_list_container, mints_count_text). These IDs no longer exist in activity_onboarding.xml. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…green Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…-v3' into feat/app-ui-refresh
…-v3' into feat/app-ui-refresh
…creens Update shared design system (typography, spacing, buttons, drawables) and apply consistently across all in-scope screens: - Shared: new Text.RowTitle/RowSubtitle/Helper styles, pill-shaped primary buttons (100dp radius), dashed secondary buttons (12dp radius), 36dp circular nav back buttons, custom checkbox drawables, EntranceAnimator utility with staggered fade-up animations - Settings: all rows use 40dp icon circles, 15sp/12sp title/subtitle, section headers via Text.SectionHeader style, entrance animations - Sub-screens (Security, Language, Currency, Theme): same row pattern, custom checkbox replacing system radio indicators, entrance animations - Add Items: remove nav divider, apply Text.RowTitle/RowSubtitle to item rows, RecyclerView entrance animation - Basket: pill-shaped checkout/save buttons, updated item typography - Withdraw: restructure auto-withdraw hero card to match default mint hero pattern (green gradient, label + row + badge + helper), update nav bars, preserve LightningStrikeView toggle animation Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…Mints refresh - Remove icon circle backgrounds (bg_circle_light) from all Settings rows, Security rows, and auto-withdraw hero card - Remove nav back/close button circle backgrounds globally by converting bg_nav_back_button to invisible ripple mask - Move auto-withdraw status pill from content row to top-right corner of hero card, aligned with the AUTO-WITHDRAW label - Replace checkmark indicators with radio buttons on Language, Currency, and Theme selection screens (single-select = radio) - Change checkbox/radio fill from green to neutral monochrome (color_text_primary fill + color_bg_white mark — theme-aware for both light and dark mode) - Update onboarding mint checkmarks to neutral color (was green) - Full design refresh of Mints Settings screen: hero card treatment for Lightning Mint section, shared section header styles, updated nav bar - Fix Tip confirm button dark mode: replace inline textColor (color_bg_white which inverts to dark-on-dark) with shared Widget.Button.Primary.Green style that uses properly themed color_button_primary_green_text Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Auto-withdraw hero: remove "AUTO-WITHDRAW" label, autorenew icon, divider, and helper text. Move status pill to top-left. Card now shows just: status pill → title → subtitle. Change active-state lightning bolt watermark from green to amber (color_bitcoin_orange) when auto-withdraw is toggled on. Remove green border stroke from both hero gradient drawables (bg_hero_gradient_green light + dark) — affects auto-withdraw and default mint hero cards. Gradient background alone provides sufficient visual distinction. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…tton - Text.RowSubtitle: 12sp/secondary → 13sp/tertiary for better contrast from titles (matches Activity screen's Text.Caption pattern) - Mints screen: remove gray ScrollView background, orange bolt badge, and "LIGHTNING MINT" green label from hero card - Mints hero bolt turns amber when swap toggle is ON, green when OFF - Replace AddMintInputCard with dashed button + AddMintBottomSheet (reuses onboarding bottom sheet pattern) - Add colorControlActivated=color_success_green to Theme.Numo for green toggle track when switches are ON (cascades globally) - Enter Wallet button: replace inline MaterialButton with shared Widget.Button.Primary.Green style (proper theming, no shadow) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ails - Remove all entrance/stagger animations app-wide: delete EntranceAnimator utility and entrance_fade_up anim, strip animation calls from Settings×5, ItemList, OnboardingAdapter, MintsSettings, WithdrawLightning, TipSelection - Onboarding back buttons: ic_arrow_back → ic_chevron_back for consistency - Add New Mint button text: green → color_text_secondary (neutral default) - Withdraw section headers: remove extra 4dp marginStart, standardize to paddingTop 28dp / paddingBottom 14dp (matches Settings pattern) - Mint Details full redesign: nav bar via Text.Title (17sp), section headers via Text.SectionHeader, rows via Text.RowTitle/RowSubtitle, standardized 14dp/20dp padding, removed gray background and CardView wrappers, removed entrance animations Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…signs - Remove entrance animations from Withdraw screen (startEntranceAnimations, animateCardEntrance, history item fade-in). Keep interactive animations (toggle pulse, config show/hide, lightning strike). - Reorder Security & Privacy: WALLET BACKUP → PIN PROTECTION → WALLET RECOVERY (PIN moved above recovery for better flow) - Add explicit switch thumb/track color selectors (green track when ON, white thumb) applied to all 4 SwitchCompat instances globally - Withdraw screen: remove icon circle containers from toggle and manual withdraw rows, standardize to plain 24dp icons with 14dp gap - Basket Names redesign: shared nav bar, dashed add button, left-aligned empty state, shared typography, 20dp padding - Add Item redesign: white background (was gray), transparent cards, shared section headers and row title styles, 20dp padding - Mint Details: hero card wrapper on header, neutral lightning icon, 24dp action icons, standardized contact padding - Webhooks redesign: shared nav bar, dashed add endpoint button, standard sync row, shared typography, removed card wrappers Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The Auto-Withdraw and Withdraw Now rows had 40dp effective left padding (20dp on parent "Main Content Area" + 20dp on each row) vs Security's 20dp (row only, no parent padding). Removed paddingHorizontal from the parent container and added individual paddingHorizontal/marginHorizontal to section headers and cards that were relying on it. Rows now align pixel-identically with Security & Privacy. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
WIP: App-wide UI refresh and design system standardization
This is a large draft PR focused on deep UI consistency and design system work across the app.
It combines and builds on top of two existing WIP PRs:
feat/withdraw-ui-updates— withdraw screen redesignfix/onboarding-ui-mint-selection-v3— mint selection onboarding refinementsFrom there this branch goes much further, working toward a unified design system with reusable components and consistent patterns across the entire app. The goal is to standardize typography, spacing, buttons, icons, empty states, toggles, section headers, row components, and nav bars so that every screen feels like it belongs to the same app.
Still actively working through this. Screens being touched include settings and all sub-screens (mints, mint details, webhooks, basket names, fiat currency, language, security & privacy, tips), the withdraw flow, add items, and the onboarding mint selection.
Key areas of work: