mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-19 05:58:50 +02:00
Fixes
This commit is contained in:
@@ -1,9 +1,7 @@
|
||||
import 'dart:async';
|
||||
import 'package:cake_wallet/entities/contact_record.dart';
|
||||
import 'package:hive/hive.dart';
|
||||
import 'package:mobx/mobx.dart';
|
||||
import 'package:cake_wallet/core/contact_service.dart';
|
||||
import 'package:cake_wallet/store/contact_list_store.dart';
|
||||
import 'package:cake_wallet/entities/contact_record.dart';
|
||||
import 'package:cake_wallet/entities/contact.dart';
|
||||
import 'package:cake_wallet/utils/mobx.dart';
|
||||
|
||||
@@ -13,24 +11,16 @@ class ContactListViewModel = ContactListViewModelBase
|
||||
with _$ContactListViewModel;
|
||||
|
||||
abstract class ContactListViewModelBase with Store {
|
||||
ContactListViewModelBase(
|
||||
this.addressBookStore, this.contactService, this.contactSource) {
|
||||
_subscription = contactSource.bindToListWithTransform(addressBookStore.contacts,
|
||||
(Contact contact) => ContactRecord(contactSource, contact),
|
||||
ContactListViewModelBase(this.contactSource)
|
||||
: contacts = ObservableList<ContactRecord>() {
|
||||
_subscription = contactSource.bindToListWithTransform(
|
||||
contacts, (Contact contact) => ContactRecord(contactSource, contact),
|
||||
initialFire: true);
|
||||
}
|
||||
|
||||
final ContactListStore addressBookStore;
|
||||
final ContactService contactService;
|
||||
final Box<Contact> contactSource;
|
||||
|
||||
ObservableList<ContactRecord> get contacts => addressBookStore.contacts;
|
||||
|
||||
final ObservableList<ContactRecord> contacts;
|
||||
StreamSubscription<BoxEvent> _subscription;
|
||||
|
||||
void dispose() {
|
||||
// _subscription.cancel();
|
||||
}
|
||||
|
||||
Future<void> delete(Contact contact) async => contactService.delete(contact);
|
||||
Future<void> delete(ContactRecord contact) async => contact.original.delete();
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ import 'package:hive/hive.dart';
|
||||
import 'package:mobx/mobx.dart';
|
||||
import 'package:cake_wallet/core/execution_state.dart';
|
||||
import 'package:cake_wallet/core/wallet_base.dart';
|
||||
import 'package:cake_wallet/core/contact_service.dart';
|
||||
import 'package:cake_wallet/entities/contact.dart';
|
||||
import 'package:cake_wallet/entities/crypto_currency.dart';
|
||||
|
||||
@@ -12,13 +11,13 @@ part 'contact_view_model.g.dart';
|
||||
class ContactViewModel = ContactViewModelBase with _$ContactViewModel;
|
||||
|
||||
abstract class ContactViewModelBase with Store {
|
||||
ContactViewModelBase(this._contacts, this._wallet, {ContactRecord contact})
|
||||
ContactViewModelBase(this._contacts, {ContactRecord contact})
|
||||
: state = InitialExecutionState(),
|
||||
currencies = CryptoCurrency.all,
|
||||
_contact = contact {
|
||||
name = _contact?.name;
|
||||
address = _contact?.address;
|
||||
currency = _contact?.type; //_wallet.currency;
|
||||
currency = _contact?.type;
|
||||
}
|
||||
|
||||
@observable
|
||||
@@ -40,7 +39,6 @@ abstract class ContactViewModelBase with Store {
|
||||
(address?.isNotEmpty ?? false);
|
||||
|
||||
final List<CryptoCurrency> currencies;
|
||||
final WalletBase _wallet;
|
||||
final Box<Contact> _contacts;
|
||||
final ContactRecord _contact;
|
||||
|
||||
@@ -60,10 +58,7 @@ abstract class ContactViewModelBase with Store {
|
||||
_contact.address = address;
|
||||
_contact.type = currency;
|
||||
await _contact.save();
|
||||
// await _contacts.put(_contact.key, _contact);
|
||||
} else {
|
||||
// final contact = ContactRecordBase.create(_contacts, name, address, currency);
|
||||
// await contact.save();
|
||||
await _contacts
|
||||
.add(Contact(name: name, address: address, type: currency));
|
||||
}
|
||||
|
||||
@@ -70,15 +70,17 @@ abstract class SendViewModelBase with Store {
|
||||
|
||||
@computed
|
||||
String get balance {
|
||||
String balance = '0.0';
|
||||
|
||||
if (_wallet is MoneroWallet) {
|
||||
_wallet.balance.formattedUnlockedBalance;
|
||||
balance = _wallet.balance.formattedUnlockedBalance as String ?? '';
|
||||
}
|
||||
|
||||
if (_wallet is BitcoinWallet) {
|
||||
_wallet.balance.confirmedFormatted;
|
||||
balance = _wallet.balance.confirmedFormatted as String ?? '';
|
||||
}
|
||||
|
||||
return '0.0';
|
||||
return balance;
|
||||
}
|
||||
|
||||
@computed
|
||||
|
||||
@@ -1,27 +1,24 @@
|
||||
import 'package:cake_wallet/core/wallet_base.dart';
|
||||
import 'package:cake_wallet/entities/biometric_auth.dart';
|
||||
import 'package:cake_wallet/entities/wallet_type.dart';
|
||||
import 'package:cake_wallet/di.dart';
|
||||
import 'package:cake_wallet/store/theme_changer_store.dart';
|
||||
import 'package:cake_wallet/themes.dart';
|
||||
import 'package:cake_wallet/view_model/settings/version_list_item.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:mobx/mobx.dart';
|
||||
import 'package:package_info/package_info.dart';
|
||||
import 'package:cake_wallet/routes.dart';
|
||||
import 'package:cake_wallet/generated/i18n.dart';
|
||||
import 'package:cake_wallet/core/wallet_base.dart';
|
||||
import 'package:cake_wallet/store/settings_store.dart';
|
||||
import 'package:cake_wallet/entities/biometric_auth.dart';
|
||||
import 'package:cake_wallet/entities/wallet_type.dart';
|
||||
import 'package:cake_wallet/entities/balance_display_mode.dart';
|
||||
import 'package:cake_wallet/entities/fiat_currency.dart';
|
||||
import 'package:cake_wallet/entities/node.dart';
|
||||
import 'package:cake_wallet/entities/transaction_priority.dart';
|
||||
import 'package:cake_wallet/entities/action_list_display_mode.dart';
|
||||
import 'package:cake_wallet/src/screens/auth/auth_page.dart';
|
||||
import 'package:cake_wallet/view_model/settings/version_list_item.dart';
|
||||
import 'package:cake_wallet/view_model/settings/link_list_item.dart';
|
||||
import 'package:cake_wallet/view_model/settings/picker_list_item.dart';
|
||||
import 'package:cake_wallet/view_model/settings/regular_list_item.dart';
|
||||
import 'package:cake_wallet/view_model/settings/settings_list_item.dart';
|
||||
import 'package:cake_wallet/view_model/settings/switcher_list_item.dart';
|
||||
import 'package:package_info/package_info.dart';
|
||||
import 'package:cake_wallet/src/screens/auth/auth_page.dart';
|
||||
|
||||
part 'settings_view_model.g.dart';
|
||||
|
||||
@@ -111,13 +108,8 @@ abstract class SettingsViewModelBase with Store {
|
||||
SwitcherListItem(
|
||||
title: S.current.settings_dark_mode,
|
||||
value: () => _settingsStore.isDarkTheme,
|
||||
onValueChange: (_, bool value) {
|
||||
_settingsStore.isDarkTheme = value;
|
||||
getIt
|
||||
.get<ThemeChangerStore>()
|
||||
.themeChanger
|
||||
.setTheme(value ? Themes.darkTheme : Themes.lightTheme);
|
||||
})
|
||||
onValueChange: (_, bool value) =>
|
||||
_settingsStore.isDarkTheme = value)
|
||||
],
|
||||
[
|
||||
LinkListItem(
|
||||
|
||||
Reference in New Issue
Block a user