Skip to content

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

Используется пакет sandbox.

Переходим в lib/features/ - добавляем новую папку или расширяем текущую.

Создание нового элемента(stories)

Новый stories файл должен обязательно называться your_name.stories.dart

дефолтный код создается по сниппету stry

import 'package:flutter/widgets.dart';
import 'package:sandboxed_core/sandboxed_core.dart';


Meta get meta => Meta<Widget>();
final $Default = WidgetStory();`

Пример по переносу knowledge_sprint_frost_notification в отдельный пакет и добавление его в Sandbox

Переносим файл knowledge_sprint_frost_notification.dart из основного приложения в пакет notifications:

Исправляем баги в перенесенном файле. В случае, если были ассеты - нужно их перенести в ассеты пакета и при необходимости добавить новые папки ассетов в pubspec.yaml.

Далее в файле widgets.dart нужно сделать экспорт для доступности перенесенного файла в других пакетах:

Для удобства можно использовать extention VSCode Dart Barrel File Generator ПКМ на папке с новым файлом -> GDBF: Folders' files(recursive)

Кодоген добавит экспорт нового файла:

Далее резолвим в основном проекте импорты, оставляя только тот файл, который мы перенесли в пакет.

Теперь в пакете с Sandboxed заполняем ранее созданный stories файл:

Сохраняем и запускаем кодоген виджетбука командой melos sb:stories

Теперь заполняем файл(Важно! Для stories типы данных всегда идут с Arg в конце):

Теперь проверяем работоспособность: Запускаем сборку Sandbox в Chrome:

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

Авторы

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

История