show static method
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),
),
),
),
],
),
],
),
),
],
),
),
),
);
}