CW-59-New-update-highlight-popup (#863)
* add update pop up * add release notes for monero com * PR comments fixes * Pr coments fixes * minor fixes * update from main * [skip ci] remove unrelated mac os files * add check isNewInstall * update pop-up UI * fix size * Add update popup to desktop dashboard page [skip ci] --------- Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>wow-support
parent
3fc927f742
commit
8ffac75e8c
@ -0,0 +1,13 @@
|
||||
Added Fixed Rate for exchanges (enter the "receive" amount on the exchange page to get the fixed rate)Added Fixed Rate for exchanges
|
||||
WWEE(enter the "receive" amount on the exchange page to get the fixed rate)Added Fixed Rate for exchanges (enter the "receive" amount on the exchange page to get the fixed rate)Added Fixed Rate for exchanges (enter the "receive" amount on the exchange page to get the fixed rate)
|
||||
Changed algorithm for choosing of change address for BTC and LTC electrum wallets
|
||||
Changed algorithm for choosing of change address for BTC and LTC electrum wallets
|
||||
Keep screen awake while the synchronization function
|
||||
Added Fixed Rate for exchanges (enter the "receive" amount on the exchange page to get the fixed rate)
|
||||
Changed algorithm for choosing of change address for BTC and LTC electrum wallets
|
||||
Changed algorithm for choosing of change address for BTC and LTC electrum wallets
|
||||
Keep screen awake while the synchronization function
|
||||
Added Fixed Rate for exchanges (enter the "receive" amount on the exchange page to get the fixed rate)
|
||||
Changed algorithm for choosing of change address for BTC and LTC electrum wallets
|
||||
Changed algorithm for choosing of change address for BTC and LTC electrum wallets
|
||||
Keep screen awake while the synchronizatio
|
@ -0,0 +1,13 @@
|
||||
Added Fixed Rate for exchanges (enter the "receive" amount on the exchange page to get the fixed rate)Added Fixed Rate for exchanges
|
||||
WWEE(enter the "receive" amount on the exchange page to get the fixed rate)Added Fixed Rate for exchanges (enter the "receive" amount on the exchange page to get the fixed rate)Added Fixed Rate for exchanges (enter the "receive" amount on the exchange page to get the fixed rate)
|
||||
Changed algorithm for choosing of change address for BTC and LTC electrum wallets
|
||||
Changed algorithm for choosing of change address for BTC and LTC electrum wallets
|
||||
Keep screen awake while the synchronization function
|
||||
Added Fixed Rate for exchanges (enter the "receive" amount on the exchange page to get the fixed rate)
|
||||
Changed algorithm for choosing of change address for BTC and LTC electrum wallets
|
||||
Changed algorithm for choosing of change address for BTC and LTC electrum wallets
|
||||
Keep screen awake while the synchronization function
|
||||
Added Fixed Rate for exchanges (enter the "receive" amount on the exchange page to get the fixed rate)
|
||||
Changed algorithm for choosing of change address for BTC and LTC electrum wallets
|
||||
Changed algorithm for choosing of change address for BTC and LTC electrum wallets
|
||||
Keep screen awake while the synchronizatio
|
@ -0,0 +1,141 @@
|
||||
import 'dart:convert';
|
||||
import 'package:cake_wallet/src/widgets/alert_background.dart';
|
||||
import 'package:cake_wallet/src/widgets/alert_close_button.dart';
|
||||
import 'package:cake_wallet/wallet_type_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
class ReleaseNotesScreen extends StatelessWidget {
|
||||
const ReleaseNotesScreen({
|
||||
required this.title,
|
||||
});
|
||||
|
||||
final String title;
|
||||
|
||||
Future<List<String>> _loadStrings() async {
|
||||
String notesContent = await rootBundle.loadString(
|
||||
isMoneroOnly ? 'assets/text/Monerocom_Release_Notes.txt' : 'assets/text/Release_Notes.txt');
|
||||
return LineSplitter().convert(notesContent);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Stack(
|
||||
alignment: Alignment.center,
|
||||
children: [
|
||||
AlertBackground(
|
||||
child: AlertDialog(
|
||||
insetPadding: EdgeInsets.only(left: 16, right: 16, bottom: 48),
|
||||
elevation: 0.0,
|
||||
contentPadding: EdgeInsets.zero,
|
||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(30))),
|
||||
content: Container(
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(30.0),
|
||||
gradient: LinearGradient(colors: [
|
||||
Theme.of(context).colorScheme.secondary,
|
||||
Theme.of(context).scaffoldBackgroundColor,
|
||||
], begin: Alignment.centerLeft, end: Alignment.centerRight)),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 24.0),
|
||||
child: Stack(
|
||||
children: [
|
||||
SingleChildScrollView(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(top: 16.0),
|
||||
child: Container(
|
||||
alignment: Alignment.bottomCenter,
|
||||
child: DefaultTextStyle(
|
||||
style: TextStyle(
|
||||
decoration: TextDecoration.none,
|
||||
fontSize: 24.0,
|
||||
fontWeight: FontWeight.bold,
|
||||
fontFamily: 'Lato',
|
||||
color: Theme.of(context).accentTextTheme!.headline2!.backgroundColor!,
|
||||
),
|
||||
child: Text(title),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
SingleChildScrollView(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.only(top: 48, bottom: 16),
|
||||
child: Container(
|
||||
width: double.maxFinite,
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
ConstrainedBox(
|
||||
constraints: BoxConstraints(
|
||||
maxHeight: MediaQuery.of(context).size.height * 0.7,
|
||||
),
|
||||
child: _getNotesWidget(),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
AlertCloseButton(
|
||||
bottom: 30,
|
||||
)
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
Widget _getNotesWidget() {
|
||||
return FutureBuilder<List<String>>(
|
||||
future: _loadStrings(),
|
||||
builder: (BuildContext context, AsyncSnapshot<List<String>> snapshot) {
|
||||
if (snapshot.hasData) {
|
||||
return ListView.builder(
|
||||
shrinkWrap: true,
|
||||
itemCount: snapshot.data!.length,
|
||||
itemBuilder: (BuildContext context, int index) {
|
||||
return _getNoteItemWidget(snapshot.data![index], context);
|
||||
},
|
||||
);
|
||||
} else if (snapshot.hasError) {
|
||||
return Text('Error: ${snapshot.error}');
|
||||
} else {
|
||||
return Center(child: CircularProgressIndicator());
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Widget _getNoteItemWidget(String myString, BuildContext context) {
|
||||
return Column(
|
||||
children: [
|
||||
DefaultTextStyle(
|
||||
style: TextStyle(
|
||||
decoration: TextDecoration.none,
|
||||
fontSize: 16.0,
|
||||
fontFamily: 'Lato',
|
||||
color: Theme.of(context).accentTextTheme!.headline2!.backgroundColor!,
|
||||
),
|
||||
child: Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(right: 8.0),
|
||||
child: Text('•'),
|
||||
),
|
||||
Expanded(
|
||||
child: Text(myString),
|
||||
),
|
||||
],
|
||||
)),
|
||||
SizedBox(
|
||||
height: 16.0,
|
||||
)
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
class VersionComparator {
|
||||
static bool isVersion1Greater({required String v1, required String v2}) {
|
||||
int v1Number = getExtendedVersionNumber(v1);
|
||||
int v2Number = getExtendedVersionNumber(v2);
|
||||
return v1Number > v2Number;
|
||||
}
|
||||
|
||||
static int getExtendedVersionNumber(String version) {
|
||||
List<String> stringVersionCells = version.split('.');
|
||||
List<int> intVersionCells = stringVersionCells.map((i) => int.parse(i)).toList();
|
||||
return intVersionCells[0] * 100000 + intVersionCells[1] * 1000 + intVersionCells[2];
|
||||
}
|
||||
}
|
Loading…
Reference in new issue