Skip to content

Commit

Permalink
Only load markdown once (#14)
Browse files Browse the repository at this point in the history
  • Loading branch information
Feichtmeier committed Feb 29, 2024
1 parent cba82b2 commit 5d9c699
Showing 1 changed file with 27 additions and 5 deletions.
32 changes: 27 additions & 5 deletions lib/getting_started_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,40 @@ import 'build_context_x.dart';
import 'constants.dart';
import 'sub_page.dart';

class GettingStartedPage extends StatelessWidget {
class GettingStartedPage extends StatefulWidget {
const GettingStartedPage({super.key});

@override
State<GettingStartedPage> createState() => _GettingStartedPageState();
}

class _GettingStartedPageState extends State<GettingStartedPage> {
late Future<String> _markdown;

@override
void initState() {
super.initState();
_markdown = loadMarkdown();
}

@override
Widget build(BuildContext context) {
final width = context.mq.size.width;
return SubPage(
body: Center(
child: FutureBuilder(
future: loadMarkdown(),
builder: (context, shot) {
if (!shot.hasData) {
future: _markdown,
builder: (context, snapshot) {
if (snapshot.hasError) {
return Center(
child: Padding(
padding: const EdgeInsets.all(kYaruPagePadding),
child: Text(snapshot.error.toString()),
),
);
}

if (!snapshot.hasData) {
return const Center(
child: YaruCircularProgressIndicator(),
);
Expand All @@ -31,7 +53,7 @@ class GettingStartedPage extends StatelessWidget {
vertical: kYaruPagePadding,
horizontal: width < 700 ? kYaruPagePadding : width * 0.18,
),
data: shot.data!,
data: snapshot.data!,
selectable: true,
syntaxHighlighter: DartSH(),
);
Expand Down

0 comments on commit 5d9c699

Please sign in to comment.