add remote app btn

This commit is contained in:
DASHU
2025-07-22 20:53:53 +08:00
parent 26768364f0
commit 2c48957b33
3 changed files with 67 additions and 14 deletions

View File

@@ -33,6 +33,8 @@ class AppsRouter extends StatefulWidget {
}
class _AppsRouter extends CustState<AppsRouter> {
Object? action;
@override
Widget doBuild(BuildContext context) {
var s = S.of(context);
@@ -40,6 +42,8 @@ class _AppsRouter extends CustState<AppsRouter> {
var _appProvider = Provider.of<AppProvider>(context);
var appList = _appProvider.appList;
action = RouterUtil.routerArgs(context);
var _remoteSigningProvider = Provider.of<RemoteSigningProvider>(context);
List<Widget> mainList = [];
@@ -189,13 +193,7 @@ class _AppsRouter extends CustState<AppsRouter> {
),
actions: [
GestureDetector(
onTap: () {
if (keyProvider.pubkeys.isEmpty) {
UserLoginDialog.show(context);
return;
}
RouterUtil.router(context, RouterPath.ADD_REMOTE_APP);
},
onTap: openAddRemote,
child: Container(
padding: const EdgeInsets.all(Base.BASE_PADDING),
child: Icon(Icons.add),
@@ -213,5 +211,17 @@ class _AppsRouter extends CustState<AppsRouter> {
}
@override
Future<void> onReady(BuildContext context) async {}
Future<void> onReady(BuildContext context) async {
if (action == "addRemote") {
openAddRemote();
}
}
void openAddRemote() {
if (keyProvider.pubkeys.isEmpty) {
UserLoginDialog.show(context);
return;
}
RouterUtil.router(context, RouterPath.ADD_REMOTE_APP);
}
}

View File

@@ -62,6 +62,7 @@ class _MeRouter extends CustState<MeRouter> {
Widget doBuild(BuildContext context) {
var mediaQueryData = MediaQuery.of(context);
var themeData = Theme.of(context);
var cardColor = themeData.cardColor;
var _appProvider = Provider.of<AppProvider>(context);
var _keyProvider = Provider.of<KeyProvider>(context);
s = S.of(context);
@@ -189,11 +190,50 @@ class _MeRouter extends CustState<MeRouter> {
RouterUtil.router(context, RouterPath.DOWNLOADS);
},
));
// webItemList.add(MeRouterWebItemComponent(
// num: 102,
// name: "Bookmark",
// iconData: Icons.bookmark,
// ));
webItemList.add(GestureDetector(
onTap: () {
RouterUtil.router(context, RouterPath.APPS, "addRemote");
},
child: Container(
alignment: Alignment.center,
// margin: widget.margin,
child: Container(
width: 80,
padding: const EdgeInsets.only(
left: Base.BASE_PADDING,
right: Base.BASE_PADDING,
top: Base.BASE_PADDING,
bottom: Base.BASE_PADDING,
),
decoration: BoxDecoration(
color: cardColor,
borderRadius: BorderRadius.circular(Base.BASE_PADDING),
),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Icon(Icons.add),
Text(
"Add",
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontSize: themeData.textTheme.bodySmall!.fontSize! - 2,
),
),
Text(
"Remote",
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontSize: themeData.textTheme.bodySmall!.fontSize! - 2,
),
),
],
),
),
),
));
var webItemWidget = Container(
margin: listWidgetMargin,
child: Row(

View File

@@ -4,6 +4,8 @@ import 'package:nowser/const/base.dart';
class MeRouterWebItemComponent extends StatefulWidget {
int? num;
String? numText;
String name;
IconData iconData;
@@ -12,6 +14,7 @@ class MeRouterWebItemComponent extends StatefulWidget {
MeRouterWebItemComponent({
this.num,
this.numText,
required this.name,
required this.iconData,
this.onTap,
@@ -63,7 +66,7 @@ class _MeRouterWebItemComponent extends State<MeRouterWebItemComponent> {
),
),
Text(
"${widget.num ?? 0}",
widget.numText ?? "${widget.num ?? 0}",
maxLines: 1,
overflow: TextOverflow.ellipsis,
),