feat: Space settings route

This commit is contained in:
Christian Pauly 2021-08-04 09:56:05 +02:00
parent e7044e0e67
commit d487ddc05b
3 changed files with 19 additions and 4 deletions

View File

@ -46,6 +46,11 @@ class AppRoutes {
path: '/rooms',
widget: ChatList(),
stackedRoutes: [
VWidget(
path: '/spaces/:roomid',
widget: ChatDetails(),
stackedRoutes: _chatDetailsRoutes,
),
VWidget(path: ':roomid', widget: Chat(), stackedRoutes: [
VWidget(
path: 'encryption',
@ -103,6 +108,12 @@ class AppRoutes {
widget: EmptyPage(),
buildTransition: _fadeTransition,
stackedRoutes: [
VWidget(
path: '/spaces/:roomid',
widget: ChatDetails(),
buildTransition: _fadeTransition,
stackedRoutes: _chatDetailsRoutes,
),
VWidget(
path: '/newprivatechat',
widget: NewPrivateChat(),

View File

@ -57,9 +57,10 @@ class ChatListController extends State<ChatList> {
setState(() => _activeSpaceId = spaceId);
}
void editSpace(BuildContext context, String spaceId) {
void editSpace(BuildContext context, String spaceId) async {
Scaffold.of(context).openEndDrawer();
VRouter.of(context).to('/rooms/$spaceId');
await Matrix.of(context).client.getRoomById(spaceId).postLoad();
VRouter.of(context).to('/spaces/$spaceId');
}
List<Room> get spaces =>

View File

@ -52,8 +52,11 @@ class ChatDetailsView extends StatelessWidget {
SliverAppBar(
leading: IconButton(
icon: Icon(Icons.close_outlined),
onPressed: () =>
VRouter.of(context).to('/rooms/${controller.roomId}'),
onPressed: () => VRouter.of(context)
.path
.startsWith('/spaces/')
? VRouter.of(context).pop()
: VRouter.of(context).to('/rooms/${controller.roomId}'),
),
elevation: Theme.of(context).appBarTheme.elevation,
expandedHeight: 300.0,