blank.dart 1.8 KB

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