Raise the declared minimums in pubspec.yaml to what our deps already require: Flutter >=3.35.0 / Dart >=3.9.0 (was 3.19.0 / 3.5.0). alchemist 0.12 needs Flutter 3.32; Dart 3.9 first ships in Flutter 3.35, so 3.35 is the binding floor. Pin the exact build toolchain in .fvmrc (Flutter 3.44.1). Moving to the Dart 3.9 language level switches `dart format` to the new "tall" style and enables two new lints. This commit is the resulting mechanical churn, isolated from any behaviour change: - whole-tree `dart format` reformat (tall style) - `dart fix` for unnecessary_underscores + use_null_aware_elements No runtime behaviour change; `make test` green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
32 lines
1.0 KiB
Dart
32 lines
1.0 KiB
Dart
import 'package:flutter/services.dart' show rootBundle;
|
|
import 'package:flutter/widgets.dart';
|
|
import 'package:jovial_svg/jovial_svg.dart';
|
|
|
|
class ClideSvgView extends StatelessWidget {
|
|
const ClideSvgView.asset(this.assetPath, {super.key, this.width, this.height}) : svgString = null;
|
|
const ClideSvgView.string(this.svgString, {super.key, this.width, this.height}) : assetPath = null;
|
|
|
|
final String? assetPath;
|
|
final String? svgString;
|
|
final double? width;
|
|
final double? height;
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
Widget child;
|
|
if (assetPath != null) {
|
|
child = ScalableImageWidget.fromSISource(si: ScalableImageSource.fromSvg(rootBundle, assetPath!));
|
|
} else if (svgString != null) {
|
|
final si = ScalableImage.fromSvgString(svgString!);
|
|
child = ScalableImageWidget(si: si);
|
|
} else {
|
|
return const SizedBox.shrink();
|
|
}
|
|
|
|
if (width != null || height != null) {
|
|
child = SizedBox(width: width, height: height, child: child);
|
|
}
|
|
return child;
|
|
}
|
|
}
|