blank.dart 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import 'package:appflowy/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:appflowy/generated/locale_keys.g.dart';
  6. import 'package:appflowy/startup/plugin/plugin.dart';
  7. class BlankPluginBuilder extends PluginBuilder {
  8. @override
  9. Plugin build(dynamic data) {
  10. return BlankPagePlugin();
  11. }
  12. @override
  13. String get menuName => "Blank";
  14. @override
  15. String get menuIcon => "";
  16. @override
  17. PluginType get pluginType => PluginType.blank;
  18. }
  19. class BlankPluginConfig implements PluginConfig {
  20. @override
  21. bool get creatable => false;
  22. }
  23. class BlankPagePlugin extends Plugin {
  24. @override
  25. PluginWidgetBuilder get widgetBuilder => BlankPagePluginWidgetBuilder();
  26. @override
  27. PluginId get id => "BlankStack";
  28. @override
  29. PluginType get pluginType => PluginType.blank;
  30. }
  31. class BlankPagePluginWidgetBuilder extends PluginWidgetBuilder
  32. with NavigationItem {
  33. @override
  34. Widget get leftBarItem => FlowyText.medium(LocaleKeys.blankPageTitle.tr());
  35. @override
  36. Widget tabBarItem(String pluginId) => leftBarItem;
  37. @override
  38. Widget buildWidget({PluginContext? context, required bool shrinkWrap}) =>
  39. const BlankPage();
  40. @override
  41. List<NavigationItem> get navigationItems => [this];
  42. }
  43. class BlankPage extends StatefulWidget {
  44. const BlankPage({Key? key}) : super(key: key);
  45. @override
  46. State<BlankPage> createState() => _BlankPageState();
  47. }
  48. class _BlankPageState extends State<BlankPage> {
  49. @override
  50. Widget build(BuildContext context) {
  51. return SizedBox.expand(
  52. child: Container(
  53. color: Theme.of(context).colorScheme.surface,
  54. child: Padding(
  55. padding: const EdgeInsets.all(10),
  56. child: Container(),
  57. ),
  58. ),
  59. );
  60. }
  61. }