Watch
1
0
Fork
You've already forked nexus
0
forked from Nexus/nexus

add support for creating rooms

Fixes #81
This commit is contained in:
Henry Hiles 2026-10-15 19:49:04 -04:00
commit ed84410039
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
13 changed files with 540 additions and 66 deletions

View file

@ -5,9 +5,12 @@ import "package:material_ui/material_ui.dart";
import "package:navigation_rail_m3e/navigation_rail_m3e.dart";
import "package:nexus/helpers/extensions/get_all_child_rooms.dart";
import "package:nexus/helpers/extensions/room_destinations.dart";
import "package:nexus/helpers/extensions/show_adaptive_sheet.dart";
import "package:nexus/widgets/adaptive_menu_button.dart";
import "package:nexus/models/nav_page.dart";
import "package:nexus/widgets/avatar_or_hash.dart";
import "package:nexus/widgets/create_room_sheet.dart";
import "package:nexus/widgets/start_dm_sheet.dart";
import "package:nexus/widgets/divider_widget.dart";
import "package:nexus/widgets/error_dialog.dart";
import "package:nexus/widgets/pages/settings.dart";
@ -163,13 +166,24 @@ class const SpacesRail({super.key}) extends ConsumerWidget {
leading: Icon(Icons.numbers),
),
),
const PopupMenuItem(
onTap: null,
child: ListTile(
title: Text("Create a new room"),
PopupMenuItem(
onTap: () => context.showAdaptiveSheet(
(_) => const CreateRoomSheet(),
),
child: const ListTile(
title: Text("Create a new room (or space)"),
leading: Icon(Icons.add),
),
),
PopupMenuItem(
onTap: () => context.showAdaptiveSheet(
(_) => const StartDmSheet(),
),
child: const ListTile(
title: Text("Start a direct message"),
leading: Icon(Icons.person_add),
),
),
],
icon: const Icon(Icons.add),
),