Skip to content

Добавление элемента

Используется пакет 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:

Все работает в штатном режиме, вы прекрасны!

Авторы

The avatar of contributor named as melvspace melvspace
The avatar of contributor named as Vadim Melnikov Vadim Melnikov

История