fix avatar loading
This commit is contained in:
parent
111a875529
commit
89dd28fec6
6 changed files with 36 additions and 16 deletions
|
|
@ -1,4 +1,5 @@
|
|||
import "dart:convert";
|
||||
import "dart:io";
|
||||
|
||||
import "package:flutter/foundation.dart";
|
||||
import "package:matrix/matrix.dart";
|
||||
|
|
@ -59,8 +60,7 @@ class ClientController extends AsyncNotifier<Client> {
|
|||
Future<bool> login(String username, String password) async {
|
||||
final client = await future;
|
||||
try {
|
||||
final deviceName =
|
||||
"Nexus Client login at ${DateTime.now().toIso8601String()}";
|
||||
final deviceName = "Nexus Client login on ${Platform.localHostname}";
|
||||
final details = await MatrixApi(homeserver: client.homeserver).login(
|
||||
LoginType.mLoginPassword,
|
||||
initialDeviceDisplayName: deviceName,
|
||||
|
|
|
|||
|
|
@ -20,11 +20,14 @@ extension BetterWhen<T> on AsyncValue<T> {
|
|||
}
|
||||
|
||||
extension GetFullRoom on Room {
|
||||
Future<FullRoom> get fullRoom async => FullRoom(
|
||||
roomData: this,
|
||||
title: getLocalizedDisplayname(),
|
||||
avatar: await avatar?.getThumbnailUri(client, width: 24, height: 24),
|
||||
);
|
||||
Future<FullRoom> get fullRoom async {
|
||||
await loadHeroUsers();
|
||||
return FullRoom(
|
||||
roomData: this,
|
||||
title: getLocalizedDisplayname(),
|
||||
avatar: await avatar?.getThumbnailUri(client, width: 24, height: 24),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
extension GetHeaders on Client {
|
||||
|
|
@ -45,15 +48,7 @@ extension ToMessage on Event {
|
|||
"txnId": transactionId,
|
||||
};
|
||||
|
||||
if (redacted) {
|
||||
return Message.text(
|
||||
metadata: metadata,
|
||||
id: eventId,
|
||||
authorId: senderId,
|
||||
text: "<s>This message has been redacted.</s>",
|
||||
deletedAt: redactedBecause?.originServerTs,
|
||||
);
|
||||
}
|
||||
if (redacted) return null;
|
||||
|
||||
final asText =
|
||||
Message.text(
|
||||
|
|
|
|||
10
lib/pages/settings_page.dart
Normal file
10
lib/pages/settings_page.dart
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
import "package:flutter/material.dart";
|
||||
|
||||
class SettingsPage extends StatelessWidget {
|
||||
const SettingsPage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(appBar: AppBar(title: Text("Settings")));
|
||||
}
|
||||
}
|
||||
|
|
@ -4,6 +4,7 @@ import "package:hooks_riverpod/hooks_riverpod.dart";
|
|||
import "package:nexus/controllers/current_room_controller.dart";
|
||||
import "package:nexus/controllers/spaces_controller.dart";
|
||||
import "package:nexus/helpers/extension_helper.dart";
|
||||
import "package:nexus/pages/settings_page.dart";
|
||||
import "package:nexus/widgets/avatar_or_hash.dart";
|
||||
|
||||
class Sidebar extends HookConsumerWidget {
|
||||
|
|
@ -50,6 +51,16 @@ class Sidebar extends HookConsumerWidget {
|
|||
)
|
||||
.toList(),
|
||||
selectedIndex: selectedSpace.value,
|
||||
trailingAtBottom: true,
|
||||
trailing: Padding(
|
||||
padding: EdgeInsets.symmetric(vertical: 16),
|
||||
child: IconButton(
|
||||
onPressed: () => Navigator.of(
|
||||
context,
|
||||
).push(MaterialPageRoute(builder: (_) => SettingsPage())),
|
||||
icon: Icon(Icons.settings),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue