improve title

This commit is contained in:
Fabian Freund
2025-12-22 09:47:38 +01:00
parent fae6b774a6
commit ba4534a896
4 changed files with 21 additions and 19 deletions
@@ -42,6 +42,8 @@ class TabState extends WebPageInfo {
@override
String get title => super.title!;
String get titleOrAuthority => (title.isNotEmpty) ? title : url.authority;
final EquatableImage? icon;
@override
@@ -151,7 +151,7 @@ class TabMenu extends HookConsumerWidget {
await BookmarkEntryAddRoute(
bookmarkInfo: jsonEncode(
BookmarkInfo(
title: tabState.title,
title: tabState.titleOrAuthority,
url: tabState.url.toString(),
).encode(),
),
@@ -152,7 +152,7 @@ class TabPreview extends HookConsumerWidget {
padding: const EdgeInsets.only(left: 6.0, top: 2.0),
child: Text(
overflow: TextOverflow.ellipsis,
tabState.title,
tabState.titleOrAuthority,
maxLines: 2,
style: tabState.isPrivate
? const TextStyle(color: Colors.white)
@@ -167,15 +167,13 @@ class TabPreview extends HookConsumerWidget {
return child!;
},
menuChildren: [
?onDeleteAll.mapNotNull(
(value) => MenuItemButton(
onPressed: () {
value(tabState.url.host);
},
MenuItemButton(
onPressed: () {
onDeleteAll?.call(tabState.url.host);
},
leadingIcon: const Icon(MdiIcons.closeBoxMultiple),
child: Text('Close all from ${tabState.url.host}'),
),
leadingIcon: const Icon(MdiIcons.closeBoxMultiple),
child: Text('Close all from ${tabState.url.host}'),
),
],
child: IconButton(
@@ -184,13 +182,15 @@ class TabPreview extends HookConsumerWidget {
vertical: -4.0,
),
onPressed: onDelete,
onLongPress: () {
if (extendedDeleteMenuController.isOpen) {
extendedDeleteMenuController.close();
} else {
extendedDeleteMenuController.open();
}
},
onLongPress: onDeleteAll != null
? () {
if (extendedDeleteMenuController.isOpen) {
extendedDeleteMenuController.close();
} else {
extendedDeleteMenuController.open();
}
}
: null,
icon: const Icon(Icons.close),
),
),
@@ -55,7 +55,7 @@ class WebsiteTitleTile extends HookConsumerWidget {
),
contentPadding: EdgeInsets.zero,
title: Text(
info.title.whenNotEmpty ?? 'Untitled',
info.title.whenNotEmpty ?? info.url.authority,
maxLines: 6,
overflow: TextOverflow.ellipsis,
),
@@ -77,7 +77,7 @@ class WebsiteTitleTile extends HookConsumerWidget {
width: 24,
),
contentPadding: EdgeInsets.zero,
title: Text(initialTabState.title.whenNotEmpty ?? 'Untitled'),
title: Text(initialTabState.titleOrAuthority),
subtitle: UriBreadcrumb(uri: initialTabState.url),
),
),