Merge pull request #3301 from pangeachat/3293-busy-screen-and-buttons-overlap
chore: simplify space invite pagepull/2245/head
commit
bdb9320af6
@ -1,137 +0,0 @@
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
import 'package:matrix/matrix.dart';
|
||||
import 'package:universal_html/html.dart' as html;
|
||||
|
||||
import 'package:fluffychat/l10n/l10n.dart';
|
||||
import 'package:fluffychat/pangea/common/config/environment.dart';
|
||||
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
|
||||
import 'package:fluffychat/pangea/spaces/constants/space_constants.dart';
|
||||
|
||||
class SpaceInviteButtons extends StatefulWidget {
|
||||
final Room room;
|
||||
// final ScrollController scrollController;
|
||||
const SpaceInviteButtons({
|
||||
super.key,
|
||||
required this.room,
|
||||
// required this.scrollController,
|
||||
});
|
||||
|
||||
@override
|
||||
SpaceInviteButtonsController createState() => SpaceInviteButtonsController();
|
||||
}
|
||||
|
||||
class SpaceInviteButtonsController extends State<SpaceInviteButtons> {
|
||||
// bool get isVisible {
|
||||
// final context = (widget.key as GlobalKey).currentContext;
|
||||
// if (context == null) return false;
|
||||
|
||||
// final renderBox = context.findRenderObject() as RenderBox;
|
||||
// final position = renderBox.localToGlobal(Offset.zero);
|
||||
|
||||
// final size = renderBox.size;
|
||||
// final screenHeight = MediaQuery.of(context).size.height;
|
||||
|
||||
// debugPrint("position: $position, size: $size, screenHeight: $screenHeight");
|
||||
|
||||
// // Check if any part of the widget is within the visible range
|
||||
// return position.dy + size.height > 0 && position.dy < screenHeight;
|
||||
// }
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
// WidgetsBinding.instance.addPostFrameCallback(
|
||||
// (_) => debugPrint("isVisible: $isVisible"),
|
||||
// );
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final spaceCode = widget.room.classCode;
|
||||
if (!widget.room.isSpace || spaceCode == null) {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
|
||||
return SizedBox(
|
||||
height: 150.0,
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
top: 16.0,
|
||||
right: 16.0,
|
||||
left: 16.0,
|
||||
),
|
||||
child: ElevatedButton(
|
||||
child: Row(
|
||||
spacing: 8.0,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
const Icon(
|
||||
Icons.share_outlined,
|
||||
),
|
||||
Text(L10n.of(context).shareSpaceLink),
|
||||
],
|
||||
),
|
||||
onPressed: () async {
|
||||
final String initialUrl =
|
||||
kIsWeb ? html.window.origin! : Environment.frontendURL;
|
||||
final link =
|
||||
"$initialUrl/#/join_with_link?${SpaceConstants.classCode}=$spaceCode";
|
||||
await Clipboard.setData(
|
||||
ClipboardData(
|
||||
text: link,
|
||||
),
|
||||
);
|
||||
ScaffoldMessenger.of(
|
||||
context,
|
||||
).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(
|
||||
L10n.of(context).copiedToClipboard,
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
top: 16.0,
|
||||
right: 16.0,
|
||||
left: 16.0,
|
||||
),
|
||||
child: ElevatedButton(
|
||||
child: Row(
|
||||
spacing: 8.0,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
const Icon(
|
||||
Icons.share_outlined,
|
||||
),
|
||||
Text(L10n.of(context).shareInviteCode(spaceCode)),
|
||||
],
|
||||
),
|
||||
onPressed: () async {
|
||||
await Clipboard.setData(ClipboardData(text: spaceCode));
|
||||
ScaffoldMessenger.of(
|
||||
context,
|
||||
).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(
|
||||
L10n.of(context).copiedToClipboard,
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue