Skip to content

Commit b58a6dc

Browse files
committed
chore: use Link instead of launchUrl whenever possible
1 parent 6fd23b8 commit b58a6dc

File tree

3 files changed

+38
-38
lines changed

3 files changed

+38
-38
lines changed

lib/widgets/device_grid/desktop/stream_data.dart

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import 'package:flutter/material.dart';
3030
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
3131
import 'package:provider/provider.dart';
3232
import 'package:unity_video_player/unity_video_player.dart';
33+
import 'package:url_launcher/link.dart';
3334
import 'package:url_launcher/url_launcher.dart';
3435

3536
Future<Device?> showStreamDataDialog(
@@ -326,11 +327,14 @@ class _StreamDataState extends State<StreamData> {
326327
if (widget.device.externalData?.serverIp != null)
327328
Padding(
328329
padding: const EdgeInsetsDirectional.only(end: 8.0),
329-
child: TextButton(
330-
onPressed: () {
331-
launchUrl(widget.device.externalData!.serverIp!);
330+
child: Link(
331+
uri: widget.device.externalData!.serverIp!,
332+
builder: (context, open) {
333+
return TextButton(
334+
onPressed: open,
335+
child: const Text('Open server'),
336+
);
332337
},
333-
child: const Text('Open server'),
334338
),
335339
),
336340
const Spacer(),

lib/widgets/servers/add_server.dart

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import 'package:bluecherry_client/widgets/servers/error.dart';
2828
import 'package:flutter/material.dart';
2929
import 'package:flutter/services.dart';
3030
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
31-
import 'package:url_launcher/url_launcher.dart';
31+
import 'package:url_launcher/link.dart';
3232

3333
class AddServerWizard extends StatefulWidget {
3434
final VoidCallback onFinish;
@@ -174,30 +174,27 @@ class AddServerInfoScreen extends StatelessWidget {
174174
),
175175
const SizedBox(height: 16.0),
176176
Row(mainAxisAlignment: MainAxisAlignment.end, children: [
177-
TextButton(
178-
onPressed: () {
179-
launchUrl(
180-
Uri.https(
181-
'www.bluecherrydvr.com',
182-
'/',
183-
),
184-
mode: LaunchMode.externalApplication,
177+
Link(
178+
uri: Uri.https('www.bluecherrydvr.com', '/'),
179+
builder: (context, open) {
180+
return TextButton(
181+
onPressed: open,
182+
child: Text(loc.website),
185183
);
186184
},
187-
child: Text(loc.website),
188185
),
189186
const SizedBox(width: 8.0),
190-
TextButton(
191-
onPressed: () {
192-
launchUrl(
193-
Uri.https(
194-
'www.bluecherrydvr.com',
195-
'/product/v3license/',
196-
),
197-
mode: LaunchMode.externalApplication,
187+
Link(
188+
uri: Uri.https(
189+
'www.bluecherrydvr.com',
190+
'/product/v3license/',
191+
),
192+
builder: (context, open) {
193+
return TextButton(
194+
onPressed: open,
195+
child: Text(loc.purchase),
198196
);
199197
},
200-
child: Text(loc.purchase),
201198
),
202199
]),
203200
const Divider(thickness: 1.0),

lib/widgets/settings/shared/update.dart

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart';
2626
import 'package:intl/intl.dart';
2727
import 'package:provider/provider.dart';
2828
import 'package:url_launcher/link.dart';
29-
import 'package:url_launcher/url_launcher.dart';
3029

3130
/// The card that displays the update information.
3231
class AppUpdateCard extends StatelessWidget {
@@ -362,22 +361,22 @@ class About extends StatelessWidget {
362361
style: theme.textTheme.displayMedium,
363362
),
364363
const SizedBox(height: 8.0),
365-
MaterialButton(
366-
onPressed: () {
367-
launchUrl(
368-
Uri.https('www.bluecherrydvr.com', '/'),
369-
mode: LaunchMode.externalApplication,
364+
Link(
365+
uri: Uri.https('www.bluecherrydvr.com', '/'),
366+
builder: (context, open) {
367+
return MaterialButton(
368+
onPressed: open,
369+
padding: EdgeInsetsDirectional.zero,
370+
minWidth: 0.0,
371+
child: Text(
372+
loc.website,
373+
semanticsLabel: 'www.bluecherrydvr.com',
374+
style: TextStyle(
375+
color: theme.colorScheme.primary,
376+
),
377+
),
370378
);
371379
},
372-
padding: EdgeInsetsDirectional.zero,
373-
minWidth: 0.0,
374-
child: Text(
375-
loc.website,
376-
semanticsLabel: 'www.bluecherrydvr.com',
377-
style: TextStyle(
378-
color: theme.colorScheme.primary,
379-
),
380-
),
381380
),
382381
]),
383382
);

0 commit comments

Comments
 (0)