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