From d5c461c2e6cde773ca0ee646aad55ae2213d541c Mon Sep 17 00:00:00 2001 From: rasputin Date: Sun, 14 Jun 2026 14:03:21 +0200 Subject: [PATCH] define ui facing models --- .../gudariwallet/data/model/ContactSummary.kt | 6 +++ .../data/model/PaymentFeedItem.kt | 44 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 app/src/main/java/com/bitcointxoko/gudariwallet/data/model/ContactSummary.kt create mode 100644 app/src/main/java/com/bitcointxoko/gudariwallet/data/model/PaymentFeedItem.kt diff --git a/app/src/main/java/com/bitcointxoko/gudariwallet/data/model/ContactSummary.kt b/app/src/main/java/com/bitcointxoko/gudariwallet/data/model/ContactSummary.kt new file mode 100644 index 0000000..848e54a --- /dev/null +++ b/app/src/main/java/com/bitcointxoko/gudariwallet/data/model/ContactSummary.kt @@ -0,0 +1,6 @@ +package com.bitcointxoko.gudariwallet.data.model + +data class ContactSummary( + val id: String, + val displayName: String // localAlias → displayName → name, resolved at mapping time +) diff --git a/app/src/main/java/com/bitcointxoko/gudariwallet/data/model/PaymentFeedItem.kt b/app/src/main/java/com/bitcointxoko/gudariwallet/data/model/PaymentFeedItem.kt new file mode 100644 index 0000000..77100fc --- /dev/null +++ b/app/src/main/java/com/bitcointxoko/gudariwallet/data/model/PaymentFeedItem.kt @@ -0,0 +1,44 @@ +package com.bitcointxoko.gudariwallet.data.model + +data class PaymentFeedItem( + + // ── Identity ───────────────────────────────────────────────────── + val id: String, // = paymentHash; stable LazyColumn key + + // ── Row (PaymentRow) ───────────────────────────────────────────── + val isOutgoing: Boolean, + val amountSat: Long, + val memo: String?, + val contactName: String?, // resolved: localAlias → displayName → name + val createdAt: Long?, + val time: Long?, + val isPending: Boolean, + val isFailed: Boolean, + val fiatCurrency: String?, + val fiatSatsPerUnit: Double?, + + // ── Filter / search keys ───────────────────────────────────────── + val paymentHash: String, // free-text search + technical detail + val tag: String?, // type filter (bolt11, keysend, etc.) + val contactIds: Set, // contact-ID filter + + // ── Detail (PaymentDetailScreen) — amounts ─────────────────────── + val feeSat: Long?, // shown if > 0 + + // ── Detail — contacts ──────────────────────────────────────────── + val linkedContacts: List, + + // ── Detail — basic info ────────────────────────────────────────── + val comment: String?, + + // ── Detail — LNURL success action ──────────────────────────────── + val successActionMessage: String?, + val successActionUrl: String?, + val successActionDescription: String?, + + // ── Detail — technical ─────────────────────────────────────────── + val preimage: String?, + val pubkey: String?, + val alias: String?, // live from NodeAliasCache, fallback to snapshot + val bolt11: String?, +)