fix: double delimters in activity view

This commit is contained in:
poka 2023-02-10 22:54:36 +01:00
parent 60427463b5
commit 22c59613ee
2 changed files with 17 additions and 16 deletions

View File

@ -253,7 +253,7 @@ Future<QueryResult> _execQuery(
return await client.query(options);
}
Map computeHistoryView(repository, lastDateDelimiter, isDouble) {
Map computeHistoryView(repository) {
bool isTody = false;
bool isYesterday = false;
bool isThisWeek = false;
@ -281,27 +281,26 @@ Map computeHistoryView(repository, lastDateDelimiter, isDouble) {
final yesterdayDate = DateTime(now.year, now.month, now.day - 1);
if (transactionDate == todayDate && !isTody) {
dateDelimiter = lastDateDelimiter = "today".tr();
dateDelimiter = "today".tr();
isTody = true;
} else if (transactionDate == yesterdayDate && !isYesterday) {
dateDelimiter = lastDateDelimiter = "yesterday".tr();
dateDelimiter = "yesterday".tr();
isYesterday = true;
} else if (weekNumber(date) == weekNumber(now) &&
date.year == now.year &&
transactionDate != yesterdayDate &&
transactionDate != todayDate &&
!isThisWeek) {
dateDelimiter = lastDateDelimiter = "thisWeek".tr();
dateDelimiter = "thisWeek".tr();
isThisWeek = true;
} else if (lastDateDelimiter != "${monthsInYear[date.month]} ${date.year}" &&
} else if (dateDelimiter != "${monthsInYear[date.month]} ${date.year}" &&
transactionDate != todayDate &&
transactionDate != yesterdayDate &&
!(weekNumber(date) == weekNumber(now) && date.year == now.year)) {
if (date.year == now.year) {
dateDelimiter = lastDateDelimiter = monthsInYear[date.month];
dateDelimiter = monthsInYear[date.month];
} else {
dateDelimiter =
lastDateDelimiter = "${monthsInYear[date.month]} ${date.year}";
dateDelimiter = "${monthsInYear[date.month]} ${date.year}";
}
} else {
isDelimiter = false;

View File

@ -141,9 +141,8 @@ class HistoryQuery extends StatelessWidget {
final duniterIndexer = Provider.of<DuniterIndexer>(context, listen: false);
int keyID = 0;
const double avatarSize = 200;
String? lastDateDelimiter;
bool? isDouble;
bool isMigrationPassed = false;
List<String> pastDelimiters = [];
return duniterIndexer.transBC == null
? Column(children: <Widget>[
@ -156,11 +155,9 @@ class HistoryQuery extends StatelessWidget {
: Column(children: <Widget>[
Column(
children: duniterIndexer.transBC!.map((repository) {
final answer =
computeHistoryView(repository, lastDateDelimiter, isDouble);
isDouble = lastDateDelimiter == answer['dateDelimiter'] ||
answer['dateDelimiter'] == '';
lastDateDelimiter = answer['dateDelimiter'];
final answer = computeHistoryView(repository);
pastDelimiters.add(answer['dateDelimiter']);
bool isMigrationTime = false;
if (answer['isMigrationTime'] && !isMigrationPassed) {
isMigrationPassed = true;
@ -190,7 +187,12 @@ class HistoryQuery extends StatelessWidget {
],
),
),
if (!isDouble!)
// if ((countsDelimiter[answer['dateDelimiter']] ?? 0) >= 1)
if (pastDelimiters.length == 1 ||
pastDelimiters.length >= 2 &&
!(pastDelimiters[pastDelimiters.length - 2] ==
answer['dateDelimiter']))
Padding(
padding: const EdgeInsets.symmetric(vertical: 30),
child: Text(