33 lines
815 B
Dart
33 lines
815 B
Dart
|
|
import '../../database/database.dart';
|
||
|
|
import '../../l10n/strings.dart';
|
||
|
|
import '../../mews/document.dart';
|
||
|
|
import 'page_blocks.dart';
|
||
|
|
|
||
|
|
Future<MewsPage> buildHistoryPage(
|
||
|
|
Uri url, {
|
||
|
|
required MewsDatabase db,
|
||
|
|
required Strings strings,
|
||
|
|
}) async {
|
||
|
|
final visits = await db.recentVisits();
|
||
|
|
final title = strings.t('history-title');
|
||
|
|
|
||
|
|
return internalPage(
|
||
|
|
url: url,
|
||
|
|
title: title,
|
||
|
|
body: [
|
||
|
|
...chrome(title: title, current: url, strings: strings),
|
||
|
|
if (visits.isEmpty)
|
||
|
|
ParagraphBlock([MewsText(strings.t('history-empty'))])
|
||
|
|
else
|
||
|
|
itemList([
|
||
|
|
for (final visit in visits)
|
||
|
|
itemRow(
|
||
|
|
href: visit.url,
|
||
|
|
label: visit.title ?? visit.url,
|
||
|
|
date: dayTimeText(visit.visitedAt),
|
||
|
|
),
|
||
|
|
]),
|
||
|
|
],
|
||
|
|
);
|
||
|
|
}
|