close tab

This commit is contained in:
DASHU
2024-09-06 00:25:48 +08:00
parent ef5324b8ef
commit 71cf709056
3 changed files with 24 additions and 2 deletions

View File

@@ -28,8 +28,6 @@ class _WebHomeComponent extends State<WebHomeComponent> {
@override
void initState() {
super.initState();
// textEditingController.text = "https://nostr.build/login/";
// textEditingController.text = "https://web.nostrmo.com/";
}
@override

View File

@@ -79,6 +79,23 @@ class WebProvider extends ChangeNotifier {
notifyListeners();
}
void closeTab(WebInfo webInfo) {
int i = 0;
for (; i < webInfos.length; i++) {
var owi = webInfos[i];
if (owi.id == webInfo.id) {
break;
}
}
if (i < index) {
index--;
}
webInfos.removeAt(i);
notifyListeners();
}
}
class WebNumInfo {

View File

@@ -3,6 +3,8 @@ import 'package:nostr_sdk/utils/string_util.dart';
import 'package:nowser/component/image_component.dart';
import 'package:nowser/component/webview/web_info.dart';
import 'package:nowser/const/base.dart';
import 'package:nowser/main.dart';
import 'package:nowser/util/router_util.dart';
class WebTabsSelectItemComponent extends StatefulWidget {
WebInfo webInfo;
@@ -68,6 +70,11 @@ class _WebTabsSelectItemComponent extends State<WebTabsSelectItemComponent> {
}
Widget removeIcon = GestureDetector(
onTap: () {
webProvider.closeTab(widget.webInfo);
RouterUtil.back(context);
},
behavior: HitTestBehavior.translucent,
child: Icon(Icons.close),
);