blank.dart 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import 'package:app_flowy/startup/tasks/load_plugin.dart';
  2. import 'package:app_flowy/workspace/presentation/home/home_stack.dart';
  3. import 'package:easy_localization/easy_localization.dart';
  4. import 'package:flowy_infra_ui/style_widget/text.dart';
  5. import 'package:flutter/material.dart';
  6. import 'package:app_flowy/generated/locale_keys.g.dart';
  7. import 'package:app_flowy/plugin/plugin.dart';
  8. class BlankPluginBuilder extends PluginBuilder {
  9. @override
  10. Plugin build(dynamic data) {
  11. return BlankPagePlugin(pluginType: pluginType);
  12. }
  13. @override
  14. String get menuName => "Blank";
  15. @override
  16. PluginType get pluginType => DefaultPlugin.blank.type();
  17. }
  18. class BlankPluginConfig implements PluginConfig {
  19. @override
  20. bool get creatable => false;
  21. }
  22. class BlankPagePlugin extends Plugin {
  23. final PluginType _pluginType;
  24. BlankPagePlugin({
  25. required PluginType pluginType,
  26. }) : _pluginType = pluginType;
  27. @override
  28. void dispose() {}
  29. @override
  30. PluginDisplay get pluginDisplay => BlankPagePluginDisplay();
  31. @override
  32. PluginId get pluginId => "BlankStack";
  33. @override
  34. PluginType get pluginType => _pluginType;
  35. }
  36. class BlankPagePluginDisplay extends PluginDisplay {
  37. @override
  38. Widget get leftBarItem => FlowyText.medium(LocaleKeys.blankPageTitle.tr(), fontSize: 12);
  39. @override
  40. Widget buildWidget() => const BlankStackPage();
  41. @override
  42. List<NavigationItem> get navigationItems => [this];
  43. }
  44. class BlankStackPage extends StatefulWidget {
  45. const BlankStackPage({Key? key}) : super(key: key);
  46. @override
  47. State<BlankStackPage> createState() => _BlankStackPageState();
  48. }
  49. class _BlankStackPageState extends State<BlankStackPage> {
  50. @override
  51. Widget build(BuildContext context) {
  52. return SizedBox.expand(
  53. child: Container(
  54. color: Theme.of(context).colorScheme.surface,
  55. child: Padding(
  56. padding: const EdgeInsets.all(10),
  57. child: Container(),
  58. ),
  59. ),
  60. );
  61. }
  62. }