Commit Graph
51 Commits
Author SHA1 Message Date
tyiuandClaude Sonnet 5 f35fb05e7c Make the max-supply warning's BTC amount a link on every platform
Tapping "21,000,000 BTC" in the exceeds-max-supply warning now sets the BTC
field to that value, on both Compose (Android/Desktop/Web) and the native
SwiftUI screen (iOS/macOS) — Compose UI isn't rendered on iOS/macOS at all,
so that side needed its own AttributedString-based link.

The link is styled to match the surrounding warning text: Compose's
LinkAnnotation otherwise falls back to the theme's accent color unless every
interaction state's style is set explicitly, and SwiftUI renders `.link`
runs in the accent color regardless of the Text's own foregroundColor
modifier unless it's set directly on the link's AttributedString range.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QpjMKWGoiT5aJBzhxvXkwp
2026-09-08 10:30:10 +03:00
tyiuandClaude Sonnet 5 b77455bfc8 Move currency row overflow menu to the right of the amount field
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QpjMKWGoiT5aJBzhxvXkwp
2026-09-08 09:46:38 +03:00
tyiuandClaude Sonnet 5 200319de86 Fix Intl interop crash on Kotlin/JS web target
js("new Foo(x).bar()") can misparse so `new` binds to the whole chain
instead of just the constructor call, throwing "X.resolvedOptions is not a
constructor" at runtime on the JS target (Kotlin/Wasm was unaffected, since
its js() compiles through a different path). Binding the constructor result
to a local variable first removes the ambiguity.

This was also silently breaking systemCurrencies() and the currency display
name lookup, and had been cascading into an unrelated CoinGecko test
failure in the same karma bundle.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QpjMKWGoiT5aJBzhxvXkwp
2026-09-08 09:34:40 +03:00
tyiuandClaude Sonnet 5 14298d450e Persist exchange rates, selected currencies, and price source via SQLDelight
Adds a SQLDelight-backed AppDatabase (Android, Desktop, iOS/macOS) so the
converter survives restarts: the last-known rates per price source, the
user's selected fiat currencies (with order preserved), and the last-used
price source all reload before the first network fetch completes. Web isn't
a shipped platform and SQLDelight's driver there needs a worker plus a wasm
sqlite binary, so it gets a lighter localStorage-backed implementation of
the same store interfaces instead.

Android needs an app Context for its driver, wired via a new
SatsPriceApplication. iOS/macOS need libsqlite3 linked explicitly (Swift's
autolinking only covers Shared.framework itself, not its C library
dependencies), plus two extension-loading symbols marked optional since
macOS's system sqlite build omits them.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QpjMKWGoiT5aJBzhxvXkwp
2026-09-08 09:34:21 +03:00
tyiuandClaude Sonnet 5 8a73b140c4 Stop tracking moko-resources generated webpack/karma config
These config.d fragments are regenerated identically by the moko-resources
Gradle plugin on every build, so they're build output rather than source.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QpjMKWGoiT5aJBzhxvXkwp
2026-09-08 09:33:59 +03:00
tyiu 14ec044c44 Fix currencies screen padding and section header styling 2026-09-07 22:39:35 +03:00
tyiu d42a3c3241 Upgrade Gradle and plugin version 2026-09-07 22:25:51 +03:00
tyiu 2925c845bd Add manual currency sorting and improve currency categorization 2026-09-07 22:15:29 +03:00
tyiu deef01a58a Add support for macOS and backport to older OS versions 2026-09-03 20:06:59 +03:00
tyiu abf7cf2e83 Replace Skip implementation with Kotlin Multiplatform implementation 2026-09-02 22:11:32 +03:00
tyiu 902b683779 Add logo.png to attempt to fix Android app store listings 2025-03-31 08:58:34 -04:00
tyiu d2721d8dde Update zapstore description 2025-03-31 00:53:43 -04:00
tyiu 482e50b6ba Update version to v1.2.0 v1.2.0 2025-03-30 23:05:34 -04:00
tyiu 0d9debf7ca Update README (#1) 2025-03-30 23:02:38 -04:00
tyiu 82dbf16466 Improve formatting of numbers by adding grouping separators and limiting the number of fractional digits 2025-03-30 22:00:25 -04:00
tyiu 5cd4d9189b Fix indentation on #if macros 2024-12-01 19:28:14 +01:00
tyiu 44251a85a6 Add zapstore.yaml 2024-11-21 00:46:33 +02:00
tyiu 38310d922f Fix proguard-rules to keep com.sun.jna.** so that Android release APKs run on device v1.1.0 2024-11-20 23:26:25 +02:00
tyiu b13a472b10 Update app version to 1.1.0 (9) 2024-11-20 21:16:16 +02:00
tyiu d7cbd96e09 Consolidate sections for current currency and selected currencies 2024-11-20 20:33:23 +02:00
tyiu da21b78588 Add persistence of selected currencies to disk via SQLite 2024-11-20 20:22:39 +02:00
tyiu 303cad1076 Create separate CurrencyPickerView and tighten up ContentView 2024-11-11 00:45:39 +01:00
tyiu 9321f920b4 Add support for multiple currencies 2024-11-10 23:10:33 +01:00
tyiu 9faaa24e8d Add PriceFetcher API to fetch prices of multiple currencies 2024-11-10 14:08:25 +01:00
tyiu 6e8ef69136 Update build number to 8 2024-09-17 07:10:15 -07:00
tyiu e6eb78faa2 Fix macOS entitlements to enable outgoing connections 2024-09-17 07:08:13 -07:00
tyiu 5e11ffd3b1 Update version to 1.0.0 (7) v1.0.0 2024-09-14 21:21:06 -04:00
tyiu f11d6f437a Add missing titles to text fields 2024-09-14 21:16:22 -04:00
tyiu c39ab5ca7b Update app version to 0.2.0 (6) 2024-09-14 12:22:23 -04:00
tyiu 9a615b139b Fix build for macOS 2024-09-14 12:20:53 -04:00
tyiu ad61ff0575 Update app version to 0.2.0 (5) 2024-09-14 12:06:04 -04:00
tyiu e38c8dac85 Change currency picker style to navigation link 2024-09-14 11:35:22 -04:00
tyiu ba0be8bb93 Update build version to 0.2.0 (4) 2024-09-07 06:30:59 +03:00
tyiu c99cca7f87 Fix bug where clearing out currency value field does not clear out BTC value field 2024-09-07 06:30:27 +03:00
tyiu 3560b12c24 Add warning when BTC and sats exceed the maximum 2024-09-07 06:10:09 +03:00
tyiu edb10c48e6 Add support for currency selection 2024-09-07 05:55:34 +03:00
tyiu cb0397ba98 Update build version to 0.2.0 (2) 2024-09-02 10:14:58 +03:00
tyiu 94fa2b3975 Prevent most recent inputted amounts to be implicitly overwritten by calculations 2024-09-02 10:10:28 +03:00
tyiu c15eb81995 Fix last updated timestamp to be accurate when switching price source 2024-08-31 10:39:35 +03:00
tyiu 7f22956557 Convert SatsPrice to a Skip multiplatform app 2024-08-31 10:24:07 +03:00
tyiu 29650a3ea4 Add support for manual price entry 2024-08-29 23:19:42 +03:00
tyiu 46d2c2c7ef Update build to 0.1 (3) 2024-08-29 18:48:37 +03:00
tyiu 50ca5ee751 Add privacy policy 2024-02-21 10:14:20 -05:00
tyiu 1d6416798e Fix app icon assets to not have alpha channel transparency due to App Store restrictions 2024-02-21 10:09:47 -05:00
tyiu a9bee9c3f7 Fix compilation error for release build 2024-02-21 10:09:22 -05:00
tyiu b99c1b6981 Set version to 0.1 (1) 2024-02-21 09:53:39 -05:00
tyiu 86da8b1bba Add fake price fetcher for debug mode 2024-02-21 09:48:26 -05:00
tyiu e9c44eec2c Rename SpotPrice* to Price* 2024-02-21 09:22:21 -05:00
tyiu 4e1ac7040c Restructure OS-specific compilation 2024-02-21 08:25:14 -05:00
tyiu 46b47a092a Add support for iOS 15 2024-02-21 08:22:11 -05:00