Добавление элемента
Используется пакет introvert_widgetbook
.
Переходим в lib/features/
- добавляем новую папку или расширяем текущую.
Создание нового элемента(stories)
Новый stories файл должен обязательно называться your_name.stories.dart
дефолтный код создается по сниппету stry
import 'package:flutter/widgets.dart';
import 'package:widgetbook/widgetbook.dart';
part 'frost_knowledge_notification.stories.book.dart';
final meta = Meta<Widget>();
final $Default = WidgetStory();`
Пример по переносу knowledge_sprint_frost_notification в отдельный пакет и добавление его в WidgetBook
Переносим файл knowledge_sprint_frost_notification.dart из основного приложения в пакет notifications:
Исправляем баги в перенесенном файле. В случае, если были ассеты - нужно их перенести в ассеты пакета и при необходимости добавить новые папки ассетов в pubspec.yaml
.
Далее в файле widgets.dart нужно сделать экспорт для доступности перенесенного файла в других пакетах:
Для удобства можно использовать extention VSCode Dart Barrel File Generator
ПКМ на папке с новым файлом -> GDBF: Folders' files(recursive)
Кодоген добавит экспорт нового файла:
Далее резолвим в основном проекте импорты, оставляя только тот файл, который мы перенесли в пакет.
Теперь в пакете с widgetbook заполняем ранее созданный stories файл:
Сохраняем и запускаем кодоген виджетбука командой melos widgetbook:stories
Теперь заполняем файл(Важно! Для stories типы данных всегда идут с Arg
в конце):
Теперь проверяем работоспособность: Запускаем сборку widgetbook в Chrome:
Все работает в штатном режиме, вы прекрасны!