From 568092c1adb846dfff00bdc72e3a270928136165 Mon Sep 17 00:00:00 2001 From: Harry Sild <46851868+Kypsis@users.noreply.github.com> Date: Tue, 7 Feb 2023 15:26:32 +0200 Subject: [PATCH] fix: [NO-TASK] Get MDS version dynamically (#7) * [NO-TASK] Get MDS version dynamically * [NO-TASK] Restore deleted changes --- .../src/storybook/common/widgets/version.dart | 29 ++++++++++++++----- example/lib/src/storybook/storybook.dart | 2 +- example/pubspec.lock | 2 +- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/example/lib/src/storybook/common/widgets/version.dart b/example/lib/src/storybook/common/widgets/version.dart index 1bb5da4b..bcdb08e9 100644 --- a/example/lib/src/storybook/common/widgets/version.dart +++ b/example/lib/src/storybook/common/widgets/version.dart @@ -2,13 +2,28 @@ import 'package:flutter/material.dart'; import 'package:moon_design/moon_design.dart'; -class MoonVersionWidget extends StatelessWidget { - final String version; +class MoonVersionWidget extends StatefulWidget { + const MoonVersionWidget({super.key}); - const MoonVersionWidget({ - super.key, - required this.version, - }); + @override + State createState() => _MoonVersionWidgetState(); +} + +class _MoonVersionWidgetState extends State { + String? _version = ""; + + @override + Future didChangeDependencies() async { + super.didChangeDependencies(); + + final fileContent = await DefaultAssetBundle.of(context).loadString("../pubspec.lock"); + final entry = fileContent.split("moon_design:")[1].split("version:")[1]; + final version = RegExp('"(.*?)"').firstMatch(entry)?.group(0)?.replaceAll('"', ""); + + setState(() { + _version = version; + }); + } @override Widget build(BuildContext context) { @@ -26,7 +41,7 @@ class MoonVersionWidget extends StatelessWidget { style: MoonTypography.textStyles.text.text16, ), const SizedBox(width: 6.0), - Text("v$version", style: MoonTypography.textStyles.heading.text16), + Text("v$_version", style: MoonTypography.textStyles.heading.text16), ], ), ), diff --git a/example/lib/src/storybook/storybook.dart b/example/lib/src/storybook/storybook.dart index b91b06fd..cadde30b 100644 --- a/example/lib/src/storybook/storybook.dart +++ b/example/lib/src/storybook/storybook.dart @@ -59,7 +59,7 @@ class StorybookPage extends StatelessWidget { ), const Align( alignment: Alignment.bottomCenter, - child: MoonVersionWidget(version: "0.1.0"), + child: MoonVersionWidget(), ), ], ); diff --git a/example/pubspec.lock b/example/pubspec.lock index 8d457660..086ba6bc 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -161,7 +161,7 @@ packages: path: ".." relative: true source: path - version: "0.0.1" + version: "0.1.0" nested: dependency: transitive description: