mirror of
https://github.com/cypherstack/stack_wallet.git
synced 2025-01-11 13:14:32 +00:00
desktop about ui fix
This commit is contained in:
parent
e41f8088b0
commit
43deb9f81f
1 changed files with 497 additions and 436 deletions
|
@ -140,262 +140,123 @@ class DesktopAboutView extends ConsumerWidget {
|
||||||
children: [
|
children: [
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.fromLTRB(24, 10, 24, 35),
|
padding: const EdgeInsets.fromLTRB(24, 10, 24, 35),
|
||||||
child: RoundedWhiteContainer(
|
child: Row(
|
||||||
width: 929,
|
children: [
|
||||||
height: 411,
|
Expanded(
|
||||||
child: Padding(
|
child: RoundedWhiteContainer(
|
||||||
padding: const EdgeInsets.only(left: 10, top: 10),
|
width: 929,
|
||||||
child: Column(
|
height: 411,
|
||||||
// mainAxisAlignment: MainAxisAlignment.start,
|
child: Padding(
|
||||||
children: [
|
padding: const EdgeInsets.only(left: 10, top: 10),
|
||||||
Row(
|
child: Column(
|
||||||
mainAxisAlignment: MainAxisAlignment.start,
|
// mainAxisAlignment: MainAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Row(
|
||||||
"Stack Wallet",
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
style: STextStyles.desktopH3(context),
|
|
||||||
textAlign: TextAlign.start,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
const SizedBox(height: 16),
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
RichText(
|
|
||||||
textAlign: TextAlign.start,
|
|
||||||
text: TextSpan(
|
|
||||||
style: STextStyles.label(context),
|
|
||||||
children: [
|
children: [
|
||||||
TextSpan(
|
Text(
|
||||||
text:
|
"Stack Wallet",
|
||||||
"By using Stack Wallet, you agree to the ",
|
style: STextStyles.desktopH3(context),
|
||||||
style: STextStyles.desktopTextExtraExtraSmall(
|
textAlign: TextAlign.start,
|
||||||
context)
|
|
||||||
.copyWith(
|
|
||||||
color: Theme.of(context)
|
|
||||||
.extension<StackColors>()!
|
|
||||||
.textDark3),
|
|
||||||
),
|
|
||||||
TextSpan(
|
|
||||||
text: "Terms of service",
|
|
||||||
style: STextStyles.richLink(context)
|
|
||||||
.copyWith(fontSize: 14),
|
|
||||||
recognizer: TapGestureRecognizer()
|
|
||||||
..onTap = () {
|
|
||||||
launchUrl(
|
|
||||||
Uri.parse(
|
|
||||||
"https://stackwallet.com/terms-of-service.html"),
|
|
||||||
mode: LaunchMode.externalApplication,
|
|
||||||
);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
TextSpan(
|
|
||||||
text: " and ",
|
|
||||||
style: STextStyles.desktopTextExtraExtraSmall(
|
|
||||||
context)
|
|
||||||
.copyWith(
|
|
||||||
color: Theme.of(context)
|
|
||||||
.extension<StackColors>()!
|
|
||||||
.textDark3),
|
|
||||||
),
|
|
||||||
TextSpan(
|
|
||||||
text: "Privacy policy",
|
|
||||||
style: STextStyles.richLink(context)
|
|
||||||
.copyWith(fontSize: 14),
|
|
||||||
recognizer: TapGestureRecognizer()
|
|
||||||
..onTap = () {
|
|
||||||
launchUrl(
|
|
||||||
Uri.parse(
|
|
||||||
"https://stackwallet.com/privacy-policy.html"),
|
|
||||||
mode: LaunchMode.externalApplication,
|
|
||||||
);
|
|
||||||
},
|
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
const SizedBox(height: 16),
|
||||||
],
|
Row(
|
||||||
),
|
children: [
|
||||||
const SizedBox(height: 32),
|
RichText(
|
||||||
Padding(
|
textAlign: TextAlign.start,
|
||||||
padding: const EdgeInsets.only(right: 10, bottom: 10),
|
text: TextSpan(
|
||||||
child: Column(
|
style: STextStyles.label(context),
|
||||||
children: [
|
children: [
|
||||||
FutureBuilder(
|
TextSpan(
|
||||||
future: PackageInfo.fromPlatform(),
|
text:
|
||||||
builder:
|
"By using Stack Wallet, you agree to the ",
|
||||||
(context, AsyncSnapshot<PackageInfo> snapshot) {
|
style: STextStyles
|
||||||
String version = "";
|
.desktopTextExtraExtraSmall(
|
||||||
String signature = "";
|
context)
|
||||||
String build = "";
|
.copyWith(
|
||||||
|
color: Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.textDark3),
|
||||||
|
),
|
||||||
|
TextSpan(
|
||||||
|
text: "Terms of service",
|
||||||
|
style: STextStyles.richLink(context)
|
||||||
|
.copyWith(fontSize: 14),
|
||||||
|
recognizer: TapGestureRecognizer()
|
||||||
|
..onTap = () {
|
||||||
|
launchUrl(
|
||||||
|
Uri.parse(
|
||||||
|
"https://stackwallet.com/terms-of-service.html"),
|
||||||
|
mode:
|
||||||
|
LaunchMode.externalApplication,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
TextSpan(
|
||||||
|
text: " and ",
|
||||||
|
style: STextStyles
|
||||||
|
.desktopTextExtraExtraSmall(
|
||||||
|
context)
|
||||||
|
.copyWith(
|
||||||
|
color: Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.textDark3),
|
||||||
|
),
|
||||||
|
TextSpan(
|
||||||
|
text: "Privacy policy",
|
||||||
|
style: STextStyles.richLink(context)
|
||||||
|
.copyWith(fontSize: 14),
|
||||||
|
recognizer: TapGestureRecognizer()
|
||||||
|
..onTap = () {
|
||||||
|
launchUrl(
|
||||||
|
Uri.parse(
|
||||||
|
"https://stackwallet.com/privacy-policy.html"),
|
||||||
|
mode:
|
||||||
|
LaunchMode.externalApplication,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
const SizedBox(height: 32),
|
||||||
|
Padding(
|
||||||
|
padding:
|
||||||
|
const EdgeInsets.only(right: 10, bottom: 10),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
FutureBuilder(
|
||||||
|
future: PackageInfo.fromPlatform(),
|
||||||
|
builder: (context,
|
||||||
|
AsyncSnapshot<PackageInfo> snapshot) {
|
||||||
|
String version = "";
|
||||||
|
String signature = "";
|
||||||
|
String build = "";
|
||||||
|
|
||||||
if (snapshot.connectionState ==
|
if (snapshot.connectionState ==
|
||||||
ConnectionState.done &&
|
ConnectionState.done &&
|
||||||
snapshot.hasData) {
|
snapshot.hasData) {
|
||||||
version = snapshot.data!.version;
|
version = snapshot.data!.version;
|
||||||
build = snapshot.data!.buildNumber;
|
build = snapshot.data!.buildNumber;
|
||||||
signature = snapshot.data!.buildSignature;
|
signature = snapshot.data!.buildSignature;
|
||||||
}
|
}
|
||||||
|
|
||||||
return Column(
|
return Column(
|
||||||
mainAxisAlignment:
|
mainAxisAlignment:
|
||||||
MainAxisAlignment.spaceBetween,
|
MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
Column(
|
Column(
|
||||||
crossAxisAlignment:
|
|
||||||
CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
"Version",
|
|
||||||
style: STextStyles
|
|
||||||
.desktopTextExtraExtraSmall(
|
|
||||||
context)
|
|
||||||
.copyWith(
|
|
||||||
color: Theme.of(context)
|
|
||||||
.extension<
|
|
||||||
StackColors>()!
|
|
||||||
.textDark),
|
|
||||||
),
|
|
||||||
const SizedBox(
|
|
||||||
height: 2,
|
|
||||||
),
|
|
||||||
SelectableText(
|
|
||||||
version,
|
|
||||||
style: STextStyles.itemSubtitle(
|
|
||||||
context),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
const SizedBox(
|
|
||||||
width: 400,
|
|
||||||
),
|
|
||||||
Column(
|
|
||||||
crossAxisAlignment:
|
|
||||||
CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
"Build number",
|
|
||||||
style: STextStyles
|
|
||||||
.desktopTextExtraExtraSmall(
|
|
||||||
context)
|
|
||||||
.copyWith(
|
|
||||||
color: Theme.of(context)
|
|
||||||
.extension<
|
|
||||||
StackColors>()!
|
|
||||||
.textDark),
|
|
||||||
),
|
|
||||||
const SizedBox(
|
|
||||||
height: 2,
|
|
||||||
),
|
|
||||||
SelectableText(
|
|
||||||
build,
|
|
||||||
style: STextStyles.itemSubtitle(
|
|
||||||
context),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
const SizedBox(height: 32),
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
Column(
|
|
||||||
crossAxisAlignment:
|
|
||||||
CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
"Build signature",
|
|
||||||
style: STextStyles
|
|
||||||
.desktopTextExtraExtraSmall(
|
|
||||||
context)
|
|
||||||
.copyWith(
|
|
||||||
color: Theme.of(context)
|
|
||||||
.extension<
|
|
||||||
StackColors>()!
|
|
||||||
.textDark),
|
|
||||||
),
|
|
||||||
const SizedBox(
|
|
||||||
height: 2,
|
|
||||||
),
|
|
||||||
SelectableText(
|
|
||||||
signature,
|
|
||||||
style: STextStyles.itemSubtitle(
|
|
||||||
context),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
const SizedBox(
|
|
||||||
width: 350,
|
|
||||||
),
|
|
||||||
FutureBuilder(
|
|
||||||
future: commitFiroFuture,
|
|
||||||
builder: (context,
|
|
||||||
AsyncSnapshot<dynamic> snapshot) {
|
|
||||||
bool commitExists = false;
|
|
||||||
bool isHead = false;
|
|
||||||
CommitStatus stateOfCommit =
|
|
||||||
CommitStatus.notLoaded;
|
|
||||||
|
|
||||||
if (snapshot.connectionState ==
|
|
||||||
ConnectionState.done &&
|
|
||||||
snapshot.hasData) {
|
|
||||||
commitExists =
|
|
||||||
snapshot.data![0] as bool;
|
|
||||||
isHead =
|
|
||||||
snapshot.data![1] as bool;
|
|
||||||
if (commitExists && isHead) {
|
|
||||||
stateOfCommit =
|
|
||||||
CommitStatus.isHead;
|
|
||||||
} else if (commitExists) {
|
|
||||||
stateOfCommit =
|
|
||||||
CommitStatus.isOldCommit;
|
|
||||||
} else {
|
|
||||||
stateOfCommit =
|
|
||||||
CommitStatus.notACommit;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
TextStyle indicationStyle =
|
|
||||||
STextStyles.itemSubtitle(
|
|
||||||
context);
|
|
||||||
switch (stateOfCommit) {
|
|
||||||
case CommitStatus.isHead:
|
|
||||||
indicationStyle = STextStyles
|
|
||||||
.itemSubtitle(context)
|
|
||||||
.copyWith(
|
|
||||||
color: Theme.of(context)
|
|
||||||
.extension<
|
|
||||||
StackColors>()!
|
|
||||||
.accentColorGreen);
|
|
||||||
break;
|
|
||||||
case CommitStatus.isOldCommit:
|
|
||||||
indicationStyle = STextStyles
|
|
||||||
.itemSubtitle(context)
|
|
||||||
.copyWith(
|
|
||||||
color: Theme.of(context)
|
|
||||||
.extension<
|
|
||||||
StackColors>()!
|
|
||||||
.accentColorYellow);
|
|
||||||
break;
|
|
||||||
case CommitStatus.notACommit:
|
|
||||||
indicationStyle = STextStyles
|
|
||||||
.itemSubtitle(context)
|
|
||||||
.copyWith(
|
|
||||||
color: Theme.of(context)
|
|
||||||
.extension<
|
|
||||||
StackColors>()!
|
|
||||||
.accentColorRed);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return Column(
|
|
||||||
crossAxisAlignment:
|
crossAxisAlignment:
|
||||||
CrossAxisAlignment.start,
|
CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"Firo Build Commit",
|
"Version",
|
||||||
style: STextStyles
|
style: STextStyles
|
||||||
.desktopTextExtraExtraSmall(
|
.desktopTextExtraExtraSmall(
|
||||||
context)
|
context)
|
||||||
|
@ -410,84 +271,22 @@ class DesktopAboutView extends ConsumerWidget {
|
||||||
height: 2,
|
height: 2,
|
||||||
),
|
),
|
||||||
SelectableText(
|
SelectableText(
|
||||||
firoCommit,
|
version,
|
||||||
style: indicationStyle,
|
style:
|
||||||
|
STextStyles.itemSubtitle(
|
||||||
|
context),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
),
|
||||||
}),
|
const SizedBox(
|
||||||
],
|
width: 400,
|
||||||
),
|
),
|
||||||
const SizedBox(height: 35),
|
Column(
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
FutureBuilder(
|
|
||||||
future: commitEpicFuture,
|
|
||||||
builder: (context,
|
|
||||||
AsyncSnapshot<dynamic> snapshot) {
|
|
||||||
bool commitExists = false;
|
|
||||||
bool isHead = false;
|
|
||||||
CommitStatus stateOfCommit =
|
|
||||||
CommitStatus.notLoaded;
|
|
||||||
|
|
||||||
if (snapshot.connectionState ==
|
|
||||||
ConnectionState.done &&
|
|
||||||
snapshot.hasData) {
|
|
||||||
commitExists =
|
|
||||||
snapshot.data![0] as bool;
|
|
||||||
isHead =
|
|
||||||
snapshot.data![1] as bool;
|
|
||||||
if (commitExists && isHead) {
|
|
||||||
stateOfCommit =
|
|
||||||
CommitStatus.isHead;
|
|
||||||
} else if (commitExists) {
|
|
||||||
stateOfCommit =
|
|
||||||
CommitStatus.isOldCommit;
|
|
||||||
} else {
|
|
||||||
stateOfCommit =
|
|
||||||
CommitStatus.notACommit;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
TextStyle indicationStyle =
|
|
||||||
STextStyles.itemSubtitle(
|
|
||||||
context);
|
|
||||||
switch (stateOfCommit) {
|
|
||||||
case CommitStatus.isHead:
|
|
||||||
indicationStyle = STextStyles
|
|
||||||
.itemSubtitle(context)
|
|
||||||
.copyWith(
|
|
||||||
color: Theme.of(context)
|
|
||||||
.extension<
|
|
||||||
StackColors>()!
|
|
||||||
.accentColorGreen);
|
|
||||||
break;
|
|
||||||
case CommitStatus.isOldCommit:
|
|
||||||
indicationStyle = STextStyles
|
|
||||||
.itemSubtitle(context)
|
|
||||||
.copyWith(
|
|
||||||
color: Theme.of(context)
|
|
||||||
.extension<
|
|
||||||
StackColors>()!
|
|
||||||
.accentColorYellow);
|
|
||||||
break;
|
|
||||||
case CommitStatus.notACommit:
|
|
||||||
indicationStyle = STextStyles
|
|
||||||
.itemSubtitle(context)
|
|
||||||
.copyWith(
|
|
||||||
color: Theme.of(context)
|
|
||||||
.extension<
|
|
||||||
StackColors>()!
|
|
||||||
.accentColorRed);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return Column(
|
|
||||||
crossAxisAlignment:
|
crossAxisAlignment:
|
||||||
CrossAxisAlignment.start,
|
CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"Epic Cash Build Commit",
|
"Build number",
|
||||||
style: STextStyles
|
style: STextStyles
|
||||||
.desktopTextExtraExtraSmall(
|
.desktopTextExtraExtraSmall(
|
||||||
context)
|
context)
|
||||||
|
@ -502,82 +301,24 @@ class DesktopAboutView extends ConsumerWidget {
|
||||||
height: 2,
|
height: 2,
|
||||||
),
|
),
|
||||||
SelectableText(
|
SelectableText(
|
||||||
epicCashCommit,
|
build,
|
||||||
style: indicationStyle,
|
style:
|
||||||
|
STextStyles.itemSubtitle(
|
||||||
|
context),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
),
|
||||||
}),
|
],
|
||||||
const SizedBox(
|
),
|
||||||
width: 105,
|
const SizedBox(height: 32),
|
||||||
),
|
Row(
|
||||||
FutureBuilder(
|
children: [
|
||||||
future: commitMoneroFuture,
|
Column(
|
||||||
builder: (context,
|
|
||||||
AsyncSnapshot<dynamic> snapshot) {
|
|
||||||
bool commitExists = false;
|
|
||||||
bool isHead = false;
|
|
||||||
CommitStatus stateOfCommit =
|
|
||||||
CommitStatus.notLoaded;
|
|
||||||
|
|
||||||
if (snapshot.connectionState ==
|
|
||||||
ConnectionState.done &&
|
|
||||||
snapshot.hasData) {
|
|
||||||
commitExists =
|
|
||||||
snapshot.data![0] as bool;
|
|
||||||
isHead =
|
|
||||||
snapshot.data![1] as bool;
|
|
||||||
if (commitExists && isHead) {
|
|
||||||
stateOfCommit =
|
|
||||||
CommitStatus.isHead;
|
|
||||||
} else if (commitExists) {
|
|
||||||
stateOfCommit =
|
|
||||||
CommitStatus.isOldCommit;
|
|
||||||
} else {
|
|
||||||
stateOfCommit =
|
|
||||||
CommitStatus.notACommit;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
TextStyle indicationStyle =
|
|
||||||
STextStyles.itemSubtitle(
|
|
||||||
context);
|
|
||||||
switch (stateOfCommit) {
|
|
||||||
case CommitStatus.isHead:
|
|
||||||
indicationStyle = STextStyles
|
|
||||||
.itemSubtitle(context)
|
|
||||||
.copyWith(
|
|
||||||
color: Theme.of(context)
|
|
||||||
.extension<
|
|
||||||
StackColors>()!
|
|
||||||
.accentColorGreen);
|
|
||||||
break;
|
|
||||||
case CommitStatus.isOldCommit:
|
|
||||||
indicationStyle = STextStyles
|
|
||||||
.itemSubtitle(context)
|
|
||||||
.copyWith(
|
|
||||||
color: Theme.of(context)
|
|
||||||
.extension<
|
|
||||||
StackColors>()!
|
|
||||||
.accentColorYellow);
|
|
||||||
break;
|
|
||||||
case CommitStatus.notACommit:
|
|
||||||
indicationStyle = STextStyles
|
|
||||||
.itemSubtitle(context)
|
|
||||||
.copyWith(
|
|
||||||
color: Theme.of(context)
|
|
||||||
.extension<
|
|
||||||
StackColors>()!
|
|
||||||
.accentColorRed);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return Column(
|
|
||||||
crossAxisAlignment:
|
crossAxisAlignment:
|
||||||
CrossAxisAlignment.start,
|
CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"Monero Build Commit",
|
"Build signature",
|
||||||
style: STextStyles
|
style: STextStyles
|
||||||
.desktopTextExtraExtraSmall(
|
.desktopTextExtraExtraSmall(
|
||||||
context)
|
context)
|
||||||
|
@ -592,60 +333,380 @@ class DesktopAboutView extends ConsumerWidget {
|
||||||
height: 2,
|
height: 2,
|
||||||
),
|
),
|
||||||
SelectableText(
|
SelectableText(
|
||||||
moneroCommit,
|
signature,
|
||||||
style: indicationStyle,
|
style:
|
||||||
|
STextStyles.itemSubtitle(
|
||||||
|
context),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
),
|
||||||
}),
|
const SizedBox(
|
||||||
],
|
width: 350,
|
||||||
),
|
),
|
||||||
const SizedBox(height: 35),
|
FutureBuilder(
|
||||||
Row(
|
future: commitFiroFuture,
|
||||||
children: [
|
builder: (context,
|
||||||
Column(
|
AsyncSnapshot<dynamic>
|
||||||
crossAxisAlignment:
|
snapshot) {
|
||||||
CrossAxisAlignment.start,
|
bool commitExists = false;
|
||||||
children: [
|
bool isHead = false;
|
||||||
Text(
|
CommitStatus stateOfCommit =
|
||||||
"Website",
|
CommitStatus.notLoaded;
|
||||||
style: STextStyles
|
|
||||||
.desktopTextExtraExtraSmall(
|
if (snapshot.connectionState ==
|
||||||
context)
|
ConnectionState
|
||||||
.copyWith(
|
.done &&
|
||||||
color: Theme.of(context)
|
snapshot.hasData) {
|
||||||
.extension<
|
commitExists = snapshot
|
||||||
StackColors>()!
|
.data![0] as bool;
|
||||||
.textDark),
|
isHead = snapshot.data![1]
|
||||||
),
|
as bool;
|
||||||
const SizedBox(
|
if (commitExists &&
|
||||||
height: 2,
|
isHead) {
|
||||||
),
|
stateOfCommit =
|
||||||
BlueTextButton(
|
CommitStatus.isHead;
|
||||||
text: "https://stackwallet.com",
|
} else if (commitExists) {
|
||||||
onTap: () {
|
stateOfCommit =
|
||||||
launchUrl(
|
CommitStatus
|
||||||
Uri.parse(
|
.isOldCommit;
|
||||||
"https://stackwallet.com"),
|
} else {
|
||||||
mode: LaunchMode
|
stateOfCommit =
|
||||||
.externalApplication,
|
CommitStatus
|
||||||
);
|
.notACommit;
|
||||||
},
|
}
|
||||||
),
|
}
|
||||||
],
|
TextStyle indicationStyle =
|
||||||
)
|
STextStyles.itemSubtitle(
|
||||||
],
|
context);
|
||||||
)
|
switch (stateOfCommit) {
|
||||||
],
|
case CommitStatus.isHead:
|
||||||
);
|
indicationStyle = STextStyles
|
||||||
},
|
.itemSubtitle(
|
||||||
|
context)
|
||||||
|
.copyWith(
|
||||||
|
color: Theme.of(
|
||||||
|
context)
|
||||||
|
.extension<
|
||||||
|
StackColors>()!
|
||||||
|
.accentColorGreen);
|
||||||
|
break;
|
||||||
|
case CommitStatus
|
||||||
|
.isOldCommit:
|
||||||
|
indicationStyle = STextStyles
|
||||||
|
.itemSubtitle(
|
||||||
|
context)
|
||||||
|
.copyWith(
|
||||||
|
color: Theme.of(
|
||||||
|
context)
|
||||||
|
.extension<
|
||||||
|
StackColors>()!
|
||||||
|
.accentColorYellow);
|
||||||
|
break;
|
||||||
|
case CommitStatus
|
||||||
|
.notACommit:
|
||||||
|
indicationStyle = STextStyles
|
||||||
|
.itemSubtitle(
|
||||||
|
context)
|
||||||
|
.copyWith(
|
||||||
|
color: Theme.of(
|
||||||
|
context)
|
||||||
|
.extension<
|
||||||
|
StackColors>()!
|
||||||
|
.accentColorRed);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return Column(
|
||||||
|
crossAxisAlignment:
|
||||||
|
CrossAxisAlignment
|
||||||
|
.start,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
"Firo Build Commit",
|
||||||
|
style: STextStyles
|
||||||
|
.desktopTextExtraExtraSmall(
|
||||||
|
context)
|
||||||
|
.copyWith(
|
||||||
|
color: Theme.of(
|
||||||
|
context)
|
||||||
|
.extension<
|
||||||
|
StackColors>()!
|
||||||
|
.textDark),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 2,
|
||||||
|
),
|
||||||
|
SelectableText(
|
||||||
|
firoCommit,
|
||||||
|
style: indicationStyle,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
const SizedBox(height: 35),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
FutureBuilder(
|
||||||
|
future: commitEpicFuture,
|
||||||
|
builder: (context,
|
||||||
|
AsyncSnapshot<dynamic>
|
||||||
|
snapshot) {
|
||||||
|
bool commitExists = false;
|
||||||
|
bool isHead = false;
|
||||||
|
CommitStatus stateOfCommit =
|
||||||
|
CommitStatus.notLoaded;
|
||||||
|
|
||||||
|
if (snapshot.connectionState ==
|
||||||
|
ConnectionState
|
||||||
|
.done &&
|
||||||
|
snapshot.hasData) {
|
||||||
|
commitExists = snapshot
|
||||||
|
.data![0] as bool;
|
||||||
|
isHead = snapshot.data![1]
|
||||||
|
as bool;
|
||||||
|
if (commitExists &&
|
||||||
|
isHead) {
|
||||||
|
stateOfCommit =
|
||||||
|
CommitStatus.isHead;
|
||||||
|
} else if (commitExists) {
|
||||||
|
stateOfCommit =
|
||||||
|
CommitStatus
|
||||||
|
.isOldCommit;
|
||||||
|
} else {
|
||||||
|
stateOfCommit =
|
||||||
|
CommitStatus
|
||||||
|
.notACommit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
TextStyle indicationStyle =
|
||||||
|
STextStyles.itemSubtitle(
|
||||||
|
context);
|
||||||
|
switch (stateOfCommit) {
|
||||||
|
case CommitStatus.isHead:
|
||||||
|
indicationStyle = STextStyles
|
||||||
|
.itemSubtitle(
|
||||||
|
context)
|
||||||
|
.copyWith(
|
||||||
|
color: Theme.of(
|
||||||
|
context)
|
||||||
|
.extension<
|
||||||
|
StackColors>()!
|
||||||
|
.accentColorGreen);
|
||||||
|
break;
|
||||||
|
case CommitStatus
|
||||||
|
.isOldCommit:
|
||||||
|
indicationStyle = STextStyles
|
||||||
|
.itemSubtitle(
|
||||||
|
context)
|
||||||
|
.copyWith(
|
||||||
|
color: Theme.of(
|
||||||
|
context)
|
||||||
|
.extension<
|
||||||
|
StackColors>()!
|
||||||
|
.accentColorYellow);
|
||||||
|
break;
|
||||||
|
case CommitStatus
|
||||||
|
.notACommit:
|
||||||
|
indicationStyle = STextStyles
|
||||||
|
.itemSubtitle(
|
||||||
|
context)
|
||||||
|
.copyWith(
|
||||||
|
color: Theme.of(
|
||||||
|
context)
|
||||||
|
.extension<
|
||||||
|
StackColors>()!
|
||||||
|
.accentColorRed);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return Column(
|
||||||
|
crossAxisAlignment:
|
||||||
|
CrossAxisAlignment
|
||||||
|
.start,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
"Epic Cash Build Commit",
|
||||||
|
style: STextStyles
|
||||||
|
.desktopTextExtraExtraSmall(
|
||||||
|
context)
|
||||||
|
.copyWith(
|
||||||
|
color: Theme.of(
|
||||||
|
context)
|
||||||
|
.extension<
|
||||||
|
StackColors>()!
|
||||||
|
.textDark),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 2,
|
||||||
|
),
|
||||||
|
SelectableText(
|
||||||
|
epicCashCommit,
|
||||||
|
style: indicationStyle,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
const SizedBox(
|
||||||
|
width: 105,
|
||||||
|
),
|
||||||
|
FutureBuilder(
|
||||||
|
future: commitMoneroFuture,
|
||||||
|
builder: (context,
|
||||||
|
AsyncSnapshot<dynamic>
|
||||||
|
snapshot) {
|
||||||
|
bool commitExists = false;
|
||||||
|
bool isHead = false;
|
||||||
|
CommitStatus stateOfCommit =
|
||||||
|
CommitStatus.notLoaded;
|
||||||
|
|
||||||
|
if (snapshot.connectionState ==
|
||||||
|
ConnectionState
|
||||||
|
.done &&
|
||||||
|
snapshot.hasData) {
|
||||||
|
commitExists = snapshot
|
||||||
|
.data![0] as bool;
|
||||||
|
isHead = snapshot.data![1]
|
||||||
|
as bool;
|
||||||
|
if (commitExists &&
|
||||||
|
isHead) {
|
||||||
|
stateOfCommit =
|
||||||
|
CommitStatus.isHead;
|
||||||
|
} else if (commitExists) {
|
||||||
|
stateOfCommit =
|
||||||
|
CommitStatus
|
||||||
|
.isOldCommit;
|
||||||
|
} else {
|
||||||
|
stateOfCommit =
|
||||||
|
CommitStatus
|
||||||
|
.notACommit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
TextStyle indicationStyle =
|
||||||
|
STextStyles.itemSubtitle(
|
||||||
|
context);
|
||||||
|
switch (stateOfCommit) {
|
||||||
|
case CommitStatus.isHead:
|
||||||
|
indicationStyle = STextStyles
|
||||||
|
.itemSubtitle(
|
||||||
|
context)
|
||||||
|
.copyWith(
|
||||||
|
color: Theme.of(
|
||||||
|
context)
|
||||||
|
.extension<
|
||||||
|
StackColors>()!
|
||||||
|
.accentColorGreen);
|
||||||
|
break;
|
||||||
|
case CommitStatus
|
||||||
|
.isOldCommit:
|
||||||
|
indicationStyle = STextStyles
|
||||||
|
.itemSubtitle(
|
||||||
|
context)
|
||||||
|
.copyWith(
|
||||||
|
color: Theme.of(
|
||||||
|
context)
|
||||||
|
.extension<
|
||||||
|
StackColors>()!
|
||||||
|
.accentColorYellow);
|
||||||
|
break;
|
||||||
|
case CommitStatus
|
||||||
|
.notACommit:
|
||||||
|
indicationStyle = STextStyles
|
||||||
|
.itemSubtitle(
|
||||||
|
context)
|
||||||
|
.copyWith(
|
||||||
|
color: Theme.of(
|
||||||
|
context)
|
||||||
|
.extension<
|
||||||
|
StackColors>()!
|
||||||
|
.accentColorRed);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return Column(
|
||||||
|
crossAxisAlignment:
|
||||||
|
CrossAxisAlignment
|
||||||
|
.start,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
"Monero Build Commit",
|
||||||
|
style: STextStyles
|
||||||
|
.desktopTextExtraExtraSmall(
|
||||||
|
context)
|
||||||
|
.copyWith(
|
||||||
|
color: Theme.of(
|
||||||
|
context)
|
||||||
|
.extension<
|
||||||
|
StackColors>()!
|
||||||
|
.textDark),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 2,
|
||||||
|
),
|
||||||
|
SelectableText(
|
||||||
|
moneroCommit,
|
||||||
|
style: indicationStyle,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
const SizedBox(height: 35),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Column(
|
||||||
|
crossAxisAlignment:
|
||||||
|
CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
"Website",
|
||||||
|
style: STextStyles
|
||||||
|
.desktopTextExtraExtraSmall(
|
||||||
|
context)
|
||||||
|
.copyWith(
|
||||||
|
color: Theme.of(
|
||||||
|
context)
|
||||||
|
.extension<
|
||||||
|
StackColors>()!
|
||||||
|
.textDark),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 2,
|
||||||
|
),
|
||||||
|
BlueTextButton(
|
||||||
|
text:
|
||||||
|
"https://stackwallet.com",
|
||||||
|
onTap: () {
|
||||||
|
launchUrl(
|
||||||
|
Uri.parse(
|
||||||
|
"https://stackwallet.com"),
|
||||||
|
mode: LaunchMode
|
||||||
|
.externalApplication,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
],
|
||||||
|
)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
},
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
)
|
),
|
||||||
],
|
),
|
||||||
),
|
),
|
||||||
),
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
Loading…
Reference in a new issue