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 Arutyun Gevorkyan Arutyun Gevorkyan
The avatar of contributor named as Pavel Nochevnoy Pavel Nochevnoy

История