view_widget.dart 1.1 KB

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