import 'package:app_flowy/plugin/plugin.dart'; import 'package:flowy_infra/image.dart'; import 'package:flowy_sdk/protobuf/flowy-folder-data-model/view.pb.dart'; import 'package:flutter/material.dart'; enum FlowyPlugin { editor, kanban, } extension FlowyPluginExtension on FlowyPlugin { String displayName() { switch (this) { case FlowyPlugin.editor: return "Doc"; case FlowyPlugin.kanban: return "Kanban"; default: return ""; } } bool enable() { switch (this) { case FlowyPlugin.editor: return true; case FlowyPlugin.kanban: return false; default: return false; } } } extension ViewExtension on View { Widget renderThumbnail({Color? iconColor}) { String thumbnail = this.thumbnail; if (thumbnail.isEmpty) { thumbnail = "file_icon"; } final Widget widget = svg(thumbnail, color: iconColor); return widget; } Plugin plugin() { final plugin = makePlugin(pluginType: pluginType, data: this); return plugin; } }