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> { class _AppsRouter extends CustState<AppsRouter> {
Object? action;
@override @override
Widget doBuild(BuildContext context) { Widget doBuild(BuildContext context) {
var s = S.of(context); var s = S.of(context);
@@ -40,6 +42,8 @@ class _AppsRouter extends CustState<AppsRouter> {
var _appProvider = Provider.of<AppProvider>(context); var _appProvider = Provider.of<AppProvider>(context);
var appList = _appProvider.appList; var appList = _appProvider.appList;
action = RouterUtil.routerArgs(context);
var _remoteSigningProvider = Provider.of<RemoteSigningProvider>(context); var _remoteSigningProvider = Provider.of<RemoteSigningProvider>(context);
List<Widget> mainList = []; List<Widget> mainList = [];
@@ -189,13 +193,7 @@ class _AppsRouter extends CustState<AppsRouter> {
), ),
actions: [ actions: [
GestureDetector( GestureDetector(
onTap: () { onTap: openAddRemote,
if (keyProvider.pubkeys.isEmpty) {
UserLoginDialog.show(context);
return;
}
RouterUtil.router(context, RouterPath.ADD_REMOTE_APP);
},
child: Container( child: Container(
padding: const EdgeInsets.all(Base.BASE_PADDING), padding: const EdgeInsets.all(Base.BASE_PADDING),
child: Icon(Icons.add), child: Icon(Icons.add),
@@ -213,5 +211,17 @@ class _AppsRouter extends CustState<AppsRouter> {
} }
@override @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) { Widget doBuild(BuildContext context) {
var mediaQueryData = MediaQuery.of(context); var mediaQueryData = MediaQuery.of(context);
var themeData = Theme.of(context); var themeData = Theme.of(context);
var cardColor = themeData.cardColor;
var _appProvider = Provider.of<AppProvider>(context); var _appProvider = Provider.of<AppProvider>(context);
var _keyProvider = Provider.of<KeyProvider>(context); var _keyProvider = Provider.of<KeyProvider>(context);
s = S.of(context); s = S.of(context);
@@ -189,11 +190,50 @@ class _MeRouter extends CustState<MeRouter> {
RouterUtil.router(context, RouterPath.DOWNLOADS); RouterUtil.router(context, RouterPath.DOWNLOADS);
}, },
)); ));
// webItemList.add(MeRouterWebItemComponent( webItemList.add(GestureDetector(
// num: 102, onTap: () {
// name: "Bookmark", RouterUtil.router(context, RouterPath.APPS, "addRemote");
// iconData: Icons.bookmark, },
// )); 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( var webItemWidget = Container(
margin: listWidgetMargin, margin: listWidgetMargin,
child: Row( child: Row(

View File

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