| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | import 'package:app_flowy/startup/plugin/plugin.dart';import 'package:flowy_infra/image.dart';import 'package:flowy_sdk/protobuf/flowy-folder/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 ViewPB {  Widget renderThumbnail({Color? iconColor}) {    String thumbnail = "file_icon";    final Widget widget = svgWidget(thumbnail, color: iconColor);    return widget;  }  PluginType get pluginType {    switch (layout) {      case ViewLayoutTypePB.Board:        return PluginType.board;      case ViewLayoutTypePB.Document:        return PluginType.editor;      case ViewLayoutTypePB.Grid:        return PluginType.grid;    }    throw UnimplementedError;  }  Plugin plugin() {    final plugin = makePlugin(pluginType: pluginType, data: this);    return plugin;  }}
 |