show static method

void show(
  1. BuildContext context,
  2. VideoEditorController controller
)

Implementation

static void show(BuildContext context, VideoEditorController controller) {
  if (!controller.hasProject) {
    EditorFeedback.showMessage(context, 'Add clips first');
    return;
  }
  EditorSheetScaffold.show<void>(
    context,
    (sheetContext) => DefaultTabController(
      length: categories.length,
      child: EditorSheetScaffold(
        title: 'Stickers',
        trailing: TextButton.icon(
          onPressed: () async {
            Navigator.of(sheetContext).pop();
            await _pickImage(context, controller);
          },
          icon: const Icon(Icons.add_photo_alternate),
          label: const Text('Image'),
        ),
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: [
            TabBar(
              isScrollable: true,
              tabAlignment: TabAlignment.start,
              labelColor: VideoEditorColors.primary,
              unselectedLabelColor: VideoEditorColors.textSecondary,
              indicatorColor: VideoEditorColors.primary,
              tabs: [for (final name in categories.keys) Tab(text: name)],
            ),
            const SizedBox(height: VideoEditorSpacing.sm),
            SizedBox(
              height: 240,
              child: TabBarView(
                children: [
                  for (final emojis in categories.values)
                    GridView.count(
                      crossAxisCount: 6,
                      children: [
                        for (final emoji in emojis)
                          InkWell(
                            borderRadius: BorderRadius.circular(VideoEditorRadii.card),
                            onTap: () {
                              controller.addEmojiSticker(emoji);
                              Navigator.of(sheetContext).pop();
                            },
                            child: Center(
                              child: Text(
                                emoji,
                                style: const TextStyle(fontSize: 30),
                              ),
                            ),
                          ),
                      ],
                    ),
                ],
              ),
            ),
          ],
        ),
      ),
    ),
  );
}