1
0
Fork 0
forked from Nexus/nexus

Remove flutter chat (#26)

Had to squash merge manually as Forgejo was erroring
This commit is contained in:
Henry Hiles 2026-05-21 16:58:22 -04:00
commit 16cf126df4
111 changed files with 3162 additions and 2366 deletions

View file

@ -1,3 +1,3 @@
extension GetLocalpart on String {
String get localpart => substring(1).split(":").first;
String get localpart => length > 1 ? substring(1).split(":").first : "?";
}

View file

@ -1,18 +1,24 @@
import "package:flutter/material.dart";
import "package:nexus/helpers/extensions/show_context_menu.dart";
import "package:nexus/models/membership.dart";
import "package:nexus/widgets/chat_page/user_popover.dart";
import "package:nexus/models/content/membership.dart";
import "package:nexus/widgets/user_popover.dart";
extension ShowUserPopover on BuildContext {
void showUserPopover(Membership member, {required Offset globalPosition}) =>
showContextMenu(
globalPosition: globalPosition,
children: [
PopupMenuItem(
enabled: false,
padding: EdgeInsets.symmetric(horizontal: 16, vertical: 8),
child: IconTheme(data: IconThemeData(), child: UserPopover(member)),
),
],
);
void showUserPopover(
MembershipContent member,
String userId, {
required Offset globalPosition,
}) => showContextMenu(
globalPosition: globalPosition,
children: [
PopupMenuItem(
enabled: false,
padding: EdgeInsets.symmetric(horizontal: 16, vertical: 8),
child: IconTheme(
data: IconThemeData(),
child: UserPopover(member, userId),
),
),
],
);
}

View file

@ -0,0 +1,22 @@
import "package:fast_immutable_collections/fast_immutable_collections.dart";
extension SizeToString on int {
String get sizeAsString {
const IListConst<String> suffixes = IListConst([
"B",
"KB",
"MB",
"GB",
"TB",
"PB",
]);
var i = 0;
var size = toDouble();
while (size > 1024 && i < suffixes.length - 1) {
size /= 1024;
i++;
}
return "${size.toStringAsFixed(2)} ${suffixes[i]}";
}
}

View file

@ -0,0 +1,6 @@
import "package:color_hash/color_hash.dart";
import "package:flutter/material.dart";
extension ToColor on String {
Color get colorHash => ColorHash(this, lightness: .7, saturation: .7).color;
}