feat: open in browser

Closes #140

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-01-11 10:05:01 +08:00
parent 54d13fe7f2
commit 2d338450f4
17 changed files with 60 additions and 166 deletions

View File

@@ -1035,10 +1035,7 @@ class _VideoInfoState extends State<VideoInfo> with TickerProviderStateMixin {
recognizer: TapGestureRecognizer()
..onTap = () {
try {
Get.toNamed(
'/webview',
parameters: {'url': matchStr},
);
Utils.handleWebview(matchStr);
} catch (err) {
SmartDialog.showToast(err.toString());
}

View File

@@ -167,14 +167,7 @@ class IntroDetail extends StatelessWidget {
..onTap = () {
// 处理点击事件
try {
Get.toNamed(
'/webview',
parameters: {
'url': match.group(0)!,
'type': 'url',
'pageTitle': match.group(0)!,
},
);
Utils.handleWebview(match.group(0)!);
} catch (err) {
SmartDialog.showToast(err.toString());
}

View File

@@ -838,24 +838,10 @@ class ReplyItem extends StatelessWidget {
redirectUrl,
);
} else {
Get.toNamed(
'/webview',
parameters: {
'url': redirectUrl,
'type': 'url',
'pageTitle': title
},
);
Utils.handleWebview(redirectUrl);
}
} else {
Get.toNamed(
'/webview',
parameters: {
'url': matchStr,
'type': 'url',
'pageTitle': title
},
);
Utils.handleWebview(matchStr);
}
}
},
@@ -890,10 +876,7 @@ class ReplyItem extends StatelessWidget {
color: Theme.of(context).colorScheme.primary,
),
recognizer: TapGestureRecognizer()
..onTap = () => Get.toNamed(
'/webview',
parameters: {'url': matchStr},
),
..onTap = () => Utils.handleWebview(matchStr),
),
);
} else {
@@ -935,14 +918,7 @@ class ReplyItem extends StatelessWidget {
),
recognizer: TapGestureRecognizer()
..onTap = () {
Get.toNamed(
'/webview',
parameters: {
'url': patternStr,
'type': 'url',
'pageTitle': content.jumpUrl[patternStr]['title']
},
);
Utils.handleWebview(patternStr);
},
)
],
@@ -997,14 +973,8 @@ class ReplyItem extends StatelessWidget {
color: Theme.of(context).colorScheme.primary,
),
recognizer: TapGestureRecognizer()
..onTap = () => Get.toNamed(
'/webview',
parameters: {
'url': content.richText['note']['click_url'],
'type': 'note',
'pageTitle': '笔记预览'
},
),
..onTap = () =>
Utils.handleWebview(content.richText['note']['click_url']),
),
);
}

View File

@@ -870,24 +870,10 @@ class ReplyItemGrpc extends StatelessWidget {
redirectUrl,
);
} else {
Get.toNamed(
'/webview',
parameters: {
'url': redirectUrl,
'type': 'url',
'pageTitle': title
},
);
Utils.handleWebview(redirectUrl);
}
} else {
Get.toNamed(
'/webview',
parameters: {
'url': matchStr,
'type': 'url',
'pageTitle': title
},
);
Utils.handleWebview(matchStr);
}
}
},
@@ -922,10 +908,7 @@ class ReplyItemGrpc extends StatelessWidget {
color: Theme.of(context).colorScheme.primary,
),
recognizer: TapGestureRecognizer()
..onTap = () => Get.toNamed(
'/webview',
parameters: {'url': matchStr},
),
..onTap = () => Utils.handleWebview(matchStr),
),
);
} else {
@@ -966,14 +949,7 @@ class ReplyItemGrpc extends StatelessWidget {
),
recognizer: TapGestureRecognizer()
..onTap = () {
Get.toNamed(
'/webview',
parameters: {
'url': patternStr,
'type': 'url',
'pageTitle': content.url[patternStr]!.title
},
);
Utils.handleWebview(patternStr);
},
)
],
@@ -1028,14 +1004,7 @@ class ReplyItemGrpc extends StatelessWidget {
color: Theme.of(context).colorScheme.primary,
),
recognizer: TapGestureRecognizer()
..onTap = () => Get.toNamed(
'/webview',
parameters: {
'url': content.richText.note.clickUrl,
'type': 'note',
'pageTitle': '笔记预览'
},
),
..onTap = () => Utils.handleWebview(content.richText.note.clickUrl),
),
);
}

View File

@@ -190,14 +190,7 @@ class AiDetail extends StatelessWidget {
..onTap = () {
// 处理点击事件
try {
Get.toNamed(
'/webview',
parameters: {
'url': match.group(0)!,
'type': 'url',
'pageTitle': match.group(0)!,
},
);
Utils.handleWebview(match.group(0)!);
} catch (err) {
SmartDialog.showToast(err.toString());
}