view_widget.dart 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import 'package:app_flowy/startup/startup.dart';
  2. import 'package:app_flowy/workspace/domain/page_stack/page_stack.dart';
  3. import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
  4. import 'package:flutter/material.dart';
  5. class ViewWidget extends StatelessWidget {
  6. final View view;
  7. final Widget icon;
  8. const ViewWidget({Key? key, required this.view, required this.icon})
  9. : super(key: key);
  10. @override
  11. Widget build(BuildContext context) {
  12. return InkWell(
  13. onTap: _openView(context),
  14. child: Container(
  15. height: 30,
  16. child: buildContent(),
  17. ));
  18. }
  19. Row buildContent() {
  20. return Row(
  21. children: [
  22. icon,
  23. const SizedBox(
  24. width: 4,
  25. ),
  26. Text(
  27. view.name,
  28. textAlign: TextAlign.start,
  29. style: const TextStyle(fontSize: 15),
  30. )
  31. ],
  32. );
  33. }
  34. Function() _openView(BuildContext context) {
  35. return () {
  36. final stackView = stackViewFromView(view);
  37. getIt<HomePageStack>().setStackView(stackView);
  38. };
  39. }
  40. }