statefulWidget static method

String statefulWidget(
  1. String className,
  2. String snakeFileName
)

Template StatefulWidget component

Implementation

static String statefulWidget(String className, String snakeFileName) {
  return '''
import '../../theme/ds_theme.dart';
import 'package:flutter/material.dart';
import 'package:design_system_project/base/ds_base.dart';

class $className extends StatefulWidget {
final ${className}Variants variant;
const $className({super.key, this.variant = ${className}Variants.primary});

@override
State<$className> createState() => _${className}State();
}

class _${className}State extends DSStateBase<$className> {
late ${className}Theme componentTheme =
    theme.extension<${className}ThemeExtension>()!.${className.camelCase}Theme;

@override
Widget build(BuildContext context) {
  return Container();
}
}
''';
}