import 'package:flutter/material.dart'; import 'package:syncrow_web/pages/spaces_management/model/community_model.dart'; import 'package:syncrow_web/pages/spaces_management/model/product_model.dart'; import 'package:syncrow_web/pages/spaces_management/model/space_model.dart'; import 'package:syncrow_web/pages/spaces_management/widgets/community_structure_widget.dart'; import 'package:syncrow_web/pages/spaces_management/widgets/gradient_canvas_border_widget.dart'; import 'package:syncrow_web/pages/spaces_management/widgets/sidebar_widget.dart'; class LoadedSpaceView extends StatefulWidget { final List communities; final CommunityModel? selectedCommunity; final SpaceModel? selectedSpace; final List? products; const LoadedSpaceView({ super.key, required this.communities, this.selectedCommunity, this.selectedSpace, this.products, }); @override _LoadedStateViewState createState() => _LoadedStateViewState(); } class _LoadedStateViewState extends State { @override Widget build(BuildContext context) { return Stack( clipBehavior: Clip.none, children: [ Row( children: [ SidebarWidget( communities: widget.communities, selectedSpaceUuid: widget.selectedSpace?.uuid ?? widget.selectedCommunity?.uuid ?? '', ), CommunityStructureArea( selectedCommunity: widget.selectedCommunity, selectedSpace: widget.selectedSpace, spaces: widget.selectedCommunity?.spaces ?? [], products: widget.products, communities: widget.communities, ), ], ), const GradientCanvasBorderWidget(), ], ); } SpaceModel? findSpaceByUuid(String? uuid, List communities) { for (var community in communities) { for (var space in community.spaces) { if (space.uuid == uuid) return space; } } return null; } }