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

Compare commits

..
5 changed files with 27 additions and 38 deletions

2
gomuks

@ -1 +1 @@
Subproject commit 0e06c7b74f96d3e29a8101893ca1921d13a90573
Subproject commit 9444dd293664c300c6e710bb6cddcd9c6cab365d

View file

@ -2,7 +2,6 @@ import "dart:ffi";
import "dart:io";
import "dart:isolate";
import "dart:math";
import "package:fast_immutable_collections/fast_immutable_collections.dart";
import "package:ffi/ffi.dart";
import "package:flutter/foundation.dart";
@ -262,13 +261,8 @@ class ClientController extends AsyncNotifier<int> {
Future<Paginate> paginate(PaginateRequest request) async =>
.fromJson(await _sendCommand("paginate", request.toJson()));
Future<ProfileResponse> getProfile(String userId) async {
try {
return .fromJson(await _sendCommand("get_profile", {"user_id": userId}));
} catch (_) {
return ProfileResponse(profile: .new(id: userId));
}
}
Future<ProfileResponse> getProfile(String userId) async =>
.fromJson(await _sendCommand("get_profile", {"user_id": userId}));
Future<void> reportEvent(ReportRequest request) =>
_sendCommand("report_event", request.toJson());

View file

@ -9,7 +9,7 @@ part "profile_response.g.dart";
@JsonSerializable()
class const ProfileResponse({
@JsonKey(fromJson: Profile.fromJson) required final Profile profile,
final Bio? bio,
required final Bio? bio,
}) with _$ProfileResponse {
Map<String, Object?> toJson() => _$ProfileResponseToJson(this);

View file

@ -31,15 +31,9 @@ class const UrlPreview(final Uri link, {super.key}) extends ConsumerWidget {
Text(
preview.title!,
style: Theme.of(context).textTheme.titleLarge,
maxLines: 3,
overflow: .ellipsis,
),
if (preview.description != null) ...[
Text(
preview.description!,
maxLines: 20,
overflow: .ellipsis,
),
Text(preview.description!),
SizedBox(height: 4),
],
if (preview.imageUrl != null)

View file

@ -207,14 +207,15 @@ final class const UserBottomSheet(
targetUser: userId,
),
),
))
) &&
member.status == .join ||
member.status == .invite)
Padding(
padding: .only(top: 4),
child: Row(
mainAxisSize: MainAxisSize.max,
spacing: 8,
children: [
if (member.status == .join || member.status == .invite)
M3EButton.icon(
onPressed: () => showMembershipDialog(.kick),
shape: .square,