refactor: Use APL
This commit is contained in:
parent
7474bd53d0
commit
544bc15022
40 changed files with 1002 additions and 1273 deletions
|
|
@ -1,10 +1,11 @@
|
|||
import 'package:fluffychat/components/adaptive_page_layout.dart';
|
||||
import 'package:adaptive_page_layout/adaptive_page_layout.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class AppRoute extends PageRouteBuilder {
|
||||
static Route defaultRoute(BuildContext context, Widget page) {
|
||||
return context != null && !AdaptivePageLayout.columnMode(context)
|
||||
return context != null &&
|
||||
!AdaptivePageLayout.of(context).columnMode(context)
|
||||
? CupertinoPageRoute(
|
||||
builder: (BuildContext context) => page,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@ import 'package:flushbar/flushbar_helper.dart';
|
|||
import 'package:famedlysdk/famedlysdk.dart';
|
||||
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||
import 'package:fluffychat/components/matrix.dart';
|
||||
import 'package:fluffychat/utils/app_route.dart';
|
||||
import 'package:fluffychat/views/chat.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
|
|
@ -112,12 +110,8 @@ abstract class FirebaseController {
|
|||
roomId = (message['data'] ?? message)['room_id'];
|
||||
}
|
||||
if (roomId?.isEmpty ?? true) throw ('Bad roomId');
|
||||
await Navigator.of(context).pushAndRemoveUntil(
|
||||
AppRoute.defaultRoute(
|
||||
context,
|
||||
ChatView(roomId),
|
||||
),
|
||||
(r) => r.isFirst);
|
||||
await matrix.widget.apl.currentState
|
||||
.pushNamedAndRemoveUntilIsFirst('/rooms/${roomId}');
|
||||
} catch (_) {
|
||||
await FlushbarHelper.createError(message: 'Failed to open chat...')
|
||||
.show(context);
|
||||
|
|
|
|||
|
|
@ -1,11 +1,9 @@
|
|||
import 'package:adaptive_dialog/adaptive_dialog.dart';
|
||||
import 'package:adaptive_page_layout/adaptive_page_layout.dart';
|
||||
import 'package:famedlysdk/famedlysdk.dart';
|
||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||
import 'package:fluffychat/components/matrix.dart';
|
||||
import 'package:fluffychat/app_config.dart';
|
||||
import 'package:fluffychat/utils/app_route.dart';
|
||||
import 'package:fluffychat/views/chat.dart';
|
||||
import 'package:fluffychat/views/discover_view.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
|
|
@ -74,12 +72,8 @@ class UrlLauncher {
|
|||
}
|
||||
if (room != null) {
|
||||
// we have the room, so....just open it!
|
||||
await Navigator.pushAndRemoveUntil(
|
||||
context,
|
||||
AppRoute.defaultRoute(
|
||||
context, ChatView(room.id, scrollToEventId: event)),
|
||||
(r) => r.isFirst,
|
||||
);
|
||||
await AdaptivePageLayout.of(context)
|
||||
.pushNamedAndRemoveUntilIsFirst('/rooms/${room.id}/$event');
|
||||
return;
|
||||
}
|
||||
if (roomIdOrAlias.sigil == '!') {
|
||||
|
|
@ -101,21 +95,12 @@ class UrlLauncher {
|
|||
await showFutureLoadingDialog(
|
||||
context: context,
|
||||
future: () => Future.delayed(const Duration(seconds: 2)));
|
||||
await Navigator.pushAndRemoveUntil(
|
||||
context,
|
||||
AppRoute.defaultRoute(
|
||||
context, ChatView(response.result, scrollToEventId: event)),
|
||||
(r) => r.isFirst,
|
||||
);
|
||||
await AdaptivePageLayout.of(context).pushNamedAndRemoveUntilIsFirst(
|
||||
'/rooms/${response.result}/$event');
|
||||
}
|
||||
} else {
|
||||
await Navigator.of(context).pushAndRemoveUntil(
|
||||
AppRoute.defaultRoute(
|
||||
context,
|
||||
DiscoverView(alias: roomIdOrAlias),
|
||||
),
|
||||
(r) => r.isFirst,
|
||||
);
|
||||
await AdaptivePageLayout.of(context)
|
||||
.pushNamedAndRemoveUntilIsFirst('/discover/${roomIdOrAlias}');
|
||||
}
|
||||
} else if (identityParts.primaryIdentifier.sigil == '@') {
|
||||
final user = User(
|
||||
|
|
@ -124,11 +109,9 @@ class UrlLauncher {
|
|||
);
|
||||
var roomId = matrix.client.getDirectChatFromUserId(user.id);
|
||||
if (roomId != null) {
|
||||
await Navigator.pushAndRemoveUntil(
|
||||
context,
|
||||
AppRoute.defaultRoute(context, ChatView(roomId)),
|
||||
(r) => r.isFirst,
|
||||
);
|
||||
await AdaptivePageLayout.of(context)
|
||||
.pushNamedAndRemoveUntilIsFirst('/rooms/${roomId}');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -142,14 +125,10 @@ class UrlLauncher {
|
|||
future: () => user.startDirectChat(),
|
||||
))
|
||||
.result;
|
||||
Navigator.of(context).pop();
|
||||
|
||||
if (roomId != null) {
|
||||
await Navigator.pushAndRemoveUntil(
|
||||
context,
|
||||
AppRoute.defaultRoute(context, ChatView(roomId)),
|
||||
(r) => r.isFirst,
|
||||
);
|
||||
await AdaptivePageLayout.of(context)
|
||||
.pushNamedAndRemoveUntilIsFirst('/rooms/${roomId}');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue