mirror of
https://github.com/inventree/inventree-app.git
synced 2025-04-27 21:16:48 +00:00
73 lines
1.6 KiB
Dart
73 lines
1.6 KiB
Dart
import "package:flutter/material.dart";
|
|
import "package:flutter_markdown/flutter_markdown.dart";
|
|
import "package:inventree/app_colors.dart";
|
|
import "package:url_launcher/url_launcher.dart";
|
|
|
|
import "package:inventree/l10.dart";
|
|
import "package:inventree/helpers.dart";
|
|
|
|
|
|
class ReleaseNotesWidget extends StatelessWidget {
|
|
|
|
const ReleaseNotesWidget(this.releaseNotes);
|
|
|
|
final String releaseNotes;
|
|
|
|
@override
|
|
Widget build (BuildContext context) {
|
|
return Scaffold(
|
|
appBar: AppBar(
|
|
title: Text(L10().releaseNotes),
|
|
backgroundColor: COLOR_APP_BAR,
|
|
),
|
|
body: Markdown(
|
|
selectable: false,
|
|
data: releaseNotes,
|
|
onTapLink: (url, href, title) {
|
|
var link = href ?? "";
|
|
if (link.isNotEmpty) {
|
|
openLink(link);
|
|
}
|
|
},
|
|
)
|
|
);
|
|
}
|
|
}
|
|
|
|
|
|
class CreditsWidget extends StatelessWidget {
|
|
|
|
const CreditsWidget(this.credits);
|
|
|
|
final String credits;
|
|
|
|
// Callback function when a link is clicked in the markdown
|
|
Future<void> openLink(String url) async {
|
|
|
|
final link = Uri.parse(url);
|
|
|
|
if (await canLaunchUrl(link)) {
|
|
await launchUrl(link);
|
|
}
|
|
}
|
|
|
|
@override
|
|
Widget build (BuildContext context) {
|
|
return Scaffold(
|
|
appBar: AppBar(
|
|
title: Text(L10().credits),
|
|
backgroundColor: COLOR_APP_BAR,
|
|
),
|
|
body: Markdown(
|
|
selectable: false,
|
|
data: credits,
|
|
onTapLink: (url, href, title) {
|
|
var link = href ?? "";
|
|
if (link.isNotEmpty) {
|
|
openLink(link);
|
|
}
|
|
},
|
|
)
|
|
);
|
|
}
|
|
} |