blank.dart 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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 buildWidget(PluginContext context) => const BlankPage();
  37. @override
  38. List<NavigationItem> get navigationItems => [this];
  39. }
  40. class BlankPage extends StatefulWidget {
  41. const BlankPage({Key? key}) : super(key: key);
  42. @override
  43. State<BlankPage> createState() => _BlankPageState();
  44. }
  45. class _BlankPageState extends State<BlankPage> {
  46. @override
  47. Widget build(BuildContext context) {
  48. return SizedBox.expand(
  49. child: Container(
  50. color: Theme.of(context).colorScheme.surface,
  51. child: Padding(
  52. padding: const EdgeInsets.all(10),
  53. child: Container(),
  54. ),
  55. ),
  56. );
  57. }
  58. }