generateWidgetbook function
String
generateWidgetbook({
- required String name,
- required List<
WidgetbookStoryData> stories, - required List<
Device> devices, - required bool foldersExpanded,
- required bool widgetsExpanded,
- WidgetbookThemeData? lightTheme,
- WidgetbookThemeData? darkTheme,
- bool? defaultThemeIsDark,
Generates the code of the Widgetbook
Implementation
String generateWidgetbook({
required String name,
required List<WidgetbookStoryData> stories,
required List<Device> devices,
required bool foldersExpanded,
required bool widgetsExpanded,
WidgetbookThemeData? lightTheme,
WidgetbookThemeData? darkTheme,
bool? defaultThemeIsDark,
}) {
final category =
_generateCategoryInstance(stories, foldersExpanded, widgetsExpanded);
final widgetbookInstanceCode = WidgetbookInstance(
appInfoInstance: AppInfoInstance(name: name),
lightThemeInstance:
lightTheme != null ? ThemeInstance(name: lightTheme.name) : null,
darkThemeInstance:
darkTheme != null ? ThemeInstance(name: darkTheme.name) : null,
defaultThemeInstance: defaultThemeIsDark != null
? ThemeModeInstance(name: defaultThemeIsDark ? 'dark' : 'light')
: null,
devices: devices.map((device) => DeviceInstance(device: device)).toList(),
categories: [
category,
],
).toCode();
return '''
class HotReload extends StatelessWidget {
const HotReload({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return $widgetbookInstanceCode;
}
}
''';
}