Reorganize imports
This commit is contained in:
parent
38a06478ea
commit
3efe41bfdc
|
@ -4,6 +4,9 @@ linter:
|
||||||
rules:
|
rules:
|
||||||
- camel_case_types
|
- camel_case_types
|
||||||
- avoid_print
|
- avoid_print
|
||||||
|
- avoid_relative_lib_imports
|
||||||
|
- prefer_relative_imports
|
||||||
|
- directives_ordering
|
||||||
|
|
||||||
analyzer:
|
analyzer:
|
||||||
errors:
|
errors:
|
||||||
|
|
|
@ -2,15 +2,16 @@ import 'dart:async';
|
||||||
import 'dart:typed_data';
|
import 'dart:typed_data';
|
||||||
|
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/components/message_download_content.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_sound/flutter_sound.dart';
|
import 'package:flutter_sound/flutter_sound.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
import 'package:universal_html/prefer_universal/html.dart' as html;
|
import 'package:universal_html/prefer_universal/html.dart' as html;
|
||||||
import 'dialogs/simple_dialogs.dart';
|
|
||||||
import '../utils/ui_fake.dart' if (dart.library.html) 'dart:ui' as ui;
|
import '../utils/ui_fake.dart' if (dart.library.html) 'dart:ui' as ui;
|
||||||
|
import 'dialogs/simple_dialogs.dart';
|
||||||
import 'matrix.dart';
|
import 'matrix.dart';
|
||||||
|
import 'message_download_content.dart';
|
||||||
|
|
||||||
class AudioPlayer extends StatefulWidget {
|
class AudioPlayer extends StatefulWidget {
|
||||||
final Color color;
|
final Color color;
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/utils/platform_infos.dart';
|
|
||||||
import 'package:furrychat/utils/string_color.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:cached_network_image/cached_network_image.dart';
|
|
||||||
|
|
||||||
|
import '../utils/platform_infos.dart';
|
||||||
|
import '../utils/string_color.dart';
|
||||||
import 'matrix.dart';
|
import 'matrix.dart';
|
||||||
|
|
||||||
class Avatar extends StatelessWidget {
|
class Avatar extends StatelessWidget {
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
|
||||||
import 'package:furrychat/views/chat_details.dart';
|
|
||||||
import 'package:furrychat/views/chat_list.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
|
import '../utils/app_route.dart';
|
||||||
|
import '../views/chat_details.dart';
|
||||||
|
import '../views/chat_list.dart';
|
||||||
import 'dialogs/simple_dialogs.dart';
|
import 'dialogs/simple_dialogs.dart';
|
||||||
import 'matrix.dart';
|
import 'matrix.dart';
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/utils/platform_infos.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:cached_network_image/cached_network_image.dart';
|
|
||||||
|
|
||||||
|
import '../utils/platform_infos.dart';
|
||||||
import 'matrix.dart';
|
import 'matrix.dart';
|
||||||
|
|
||||||
class ContentBanner extends StatelessWidget {
|
class ContentBanner extends StatelessWidget {
|
||||||
|
|
|
@ -4,8 +4,8 @@ import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
import '../../components/dialogs/simple_dialogs.dart';
|
import '../../components/dialogs/simple_dialogs.dart';
|
||||||
import '../../utils/matrix_file_extension.dart';
|
import '../../utils/matrix_file_extension.dart';
|
||||||
import '../../utils/room_send_file_extension.dart';
|
|
||||||
import '../../utils/resize_image.dart';
|
import '../../utils/resize_image.dart';
|
||||||
|
import '../../utils/room_send_file_extension.dart';
|
||||||
|
|
||||||
class SendFileDialog extends StatefulWidget {
|
class SendFileDialog extends StatefulWidget {
|
||||||
final Room room;
|
final Room room;
|
||||||
|
|
|
@ -2,11 +2,11 @@ import 'dart:async';
|
||||||
|
|
||||||
import 'package:bot_toast/bot_toast.dart';
|
import 'package:bot_toast/bot_toast.dart';
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
|
||||||
import 'package:furrychat/views/chat_encryption_settings.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
|
import '../utils/app_route.dart';
|
||||||
|
import '../views/chat_encryption_settings.dart';
|
||||||
import 'dialogs/simple_dialogs.dart';
|
import 'dialogs/simple_dialogs.dart';
|
||||||
import 'matrix.dart';
|
import 'matrix.dart';
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
|
||||||
import 'package:furrychat/utils/platform_infos.dart';
|
|
||||||
import 'package:furrychat/views/image_view.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
|
||||||
import 'package:flutter_blurhash/flutter_blurhash.dart';
|
|
||||||
import 'package:cached_network_image/cached_network_image.dart';
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
|
import 'package:flutter/foundation.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_blurhash/flutter_blurhash.dart';
|
||||||
|
|
||||||
|
import '../utils/app_route.dart';
|
||||||
|
import '../utils/platform_infos.dart';
|
||||||
|
import '../views/image_view.dart';
|
||||||
|
|
||||||
class ImageBubble extends StatefulWidget {
|
class ImageBubble extends StatefulWidget {
|
||||||
final Event event;
|
final Event event;
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
import 'package:furrychat/utils/platform_infos.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
|
||||||
import 'package:flutter_typeahead/flutter_typeahead.dart';
|
|
||||||
import 'package:cached_network_image/cached_network_image.dart';
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
|
import 'package:flutter/foundation.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_typeahead/flutter_typeahead.dart';
|
||||||
|
|
||||||
|
import '../utils/platform_infos.dart';
|
||||||
import 'avatar.dart';
|
import 'avatar.dart';
|
||||||
|
|
||||||
class InputBar extends StatelessWidget {
|
class InputBar extends StatelessWidget {
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
import 'package:bot_toast/bot_toast.dart';
|
import 'package:bot_toast/bot_toast.dart';
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/utils/matrix_locals.dart';
|
|
||||||
import 'package:furrychat/views/chat.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:pedantic/pedantic.dart';
|
import 'package:pedantic/pedantic.dart';
|
||||||
|
|
||||||
import '../../utils/app_route.dart';
|
import '../../utils/app_route.dart';
|
||||||
import '../../utils/date_time_extension.dart';
|
import '../../utils/date_time_extension.dart';
|
||||||
|
import '../../utils/matrix_locals.dart';
|
||||||
import '../../views/chat.dart';
|
import '../../views/chat.dart';
|
||||||
import '../avatar.dart';
|
import '../avatar.dart';
|
||||||
import '../dialogs/send_file_dialog.dart';
|
import '../dialogs/send_file_dialog.dart';
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:furrychat/components/message_content.dart';
|
|
||||||
import 'package:furrychat/components/reply_content.dart';
|
|
||||||
import 'package:furrychat/utils/date_time_extension.dart';
|
|
||||||
import 'package:furrychat/utils/event_extension.dart';
|
|
||||||
import 'package:furrychat/utils/string_color.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
|
import '../../utils/date_time_extension.dart';
|
||||||
|
import '../../utils/event_extension.dart';
|
||||||
|
import '../../utils/string_color.dart';
|
||||||
import '../avatar.dart';
|
import '../avatar.dart';
|
||||||
|
import '../dialogs/simple_dialogs.dart';
|
||||||
import '../matrix.dart';
|
import '../matrix.dart';
|
||||||
|
import '../message_content.dart';
|
||||||
import '../message_reactions.dart';
|
import '../message_reactions.dart';
|
||||||
|
import '../reply_content.dart';
|
||||||
import 'state_message.dart';
|
import 'state_message.dart';
|
||||||
|
|
||||||
class Message extends StatelessWidget {
|
class Message extends StatelessWidget {
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
|
||||||
import 'package:furrychat/views/chat.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
|
import '../../utils/app_route.dart';
|
||||||
|
import '../../views/chat.dart';
|
||||||
import '../avatar.dart';
|
import '../avatar.dart';
|
||||||
|
import '../dialogs/simple_dialogs.dart';
|
||||||
import '../matrix.dart';
|
import '../matrix.dart';
|
||||||
|
|
||||||
class ParticipantListItem extends StatelessWidget {
|
class ParticipantListItem extends StatelessWidget {
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:famedlysdk/matrix_api.dart';
|
import 'package:famedlysdk/matrix_api.dart';
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
import '../../utils/app_route.dart';
|
import '../../utils/app_route.dart';
|
||||||
import '../../views/chat.dart';
|
import '../../views/chat.dart';
|
||||||
import '../avatar.dart';
|
import '../avatar.dart';
|
||||||
|
import '../dialogs/simple_dialogs.dart';
|
||||||
import '../matrix.dart';
|
import '../matrix.dart';
|
||||||
|
|
||||||
class PublicRoomListItem extends StatelessWidget {
|
class PublicRoomListItem extends StatelessWidget {
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/utils/matrix_locals.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
|
import '../../utils/matrix_locals.dart';
|
||||||
|
|
||||||
class StateMessage extends StatelessWidget {
|
class StateMessage extends StatelessWidget {
|
||||||
final Event event;
|
final Event event;
|
||||||
const StateMessage(this.event);
|
const StateMessage(this.event);
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/utils/user_status.dart';
|
|
||||||
import 'package:furrychat/views/status_view.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
import '../../utils/user_status.dart';
|
||||||
|
import '../../views/status_view.dart';
|
||||||
import '../avatar.dart';
|
import '../avatar.dart';
|
||||||
import '../matrix.dart';
|
import '../matrix.dart';
|
||||||
|
|
||||||
|
|
|
@ -3,11 +3,6 @@ import 'dart:io';
|
||||||
|
|
||||||
import 'package:famedlysdk/encryption.dart';
|
import 'package:famedlysdk/encryption.dart';
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:furrychat/utils/firebase_controller.dart';
|
|
||||||
import 'package:furrychat/utils/matrix_locals.dart';
|
|
||||||
import 'package:furrychat/utils/platform_infos.dart';
|
|
||||||
import 'package:furrychat/utils/user_status.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
@ -17,10 +12,14 @@ import 'package:url_launcher/url_launcher.dart';
|
||||||
import '../utils/app_route.dart';
|
import '../utils/app_route.dart';
|
||||||
import '../utils/beautify_string_extension.dart';
|
import '../utils/beautify_string_extension.dart';
|
||||||
import '../utils/famedlysdk_store.dart';
|
import '../utils/famedlysdk_store.dart';
|
||||||
import '../utils/presence_extension.dart';
|
import '../utils/firebase_controller.dart';
|
||||||
import '../views/key_verification.dart';
|
import '../utils/matrix_locals.dart';
|
||||||
import '../utils/platform_infos.dart';
|
import '../utils/platform_infos.dart';
|
||||||
|
import '../utils/presence_extension.dart';
|
||||||
|
import '../utils/user_status.dart';
|
||||||
|
import '../views/key_verification.dart';
|
||||||
import 'avatar.dart';
|
import 'avatar.dart';
|
||||||
|
import 'dialogs/simple_dialogs.dart';
|
||||||
|
|
||||||
class Matrix extends StatefulWidget {
|
class Matrix extends StatefulWidget {
|
||||||
static const String callNamespace = 'chat.fluffy.jitsi_call';
|
static const String callNamespace = 'chat.fluffy.jitsi_call';
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/components/audio_player.dart';
|
|
||||||
import 'package:furrychat/components/image_bubble.dart';
|
|
||||||
import 'package:furrychat/utils/event_extension.dart';
|
|
||||||
import 'package:furrychat/utils/matrix_locals.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:matrix_link_text/link_text.dart';
|
import 'package:matrix_link_text/link_text.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
|
import '../utils/event_extension.dart';
|
||||||
|
import '../utils/matrix_locals.dart';
|
||||||
import '../utils/url_launcher.dart';
|
import '../utils/url_launcher.dart';
|
||||||
|
import 'audio_player.dart';
|
||||||
import 'html_message.dart';
|
import 'html_message.dart';
|
||||||
|
import 'image_bubble.dart';
|
||||||
import 'matrix.dart';
|
import 'matrix.dart';
|
||||||
import 'message_download_content.dart';
|
import 'message_download_content.dart';
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:furrychat/utils/event_extension.dart';
|
import '../utils/event_extension.dart';
|
||||||
|
|
||||||
class MessageDownloadContent extends StatelessWidget {
|
class MessageDownloadContent extends StatelessWidget {
|
||||||
final Event event;
|
final Event event;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
|
||||||
import 'package:furrychat/utils/platform_infos.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:cached_network_image/cached_network_image.dart';
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
import '../utils/platform_infos.dart';
|
||||||
import 'dialogs/simple_dialogs.dart';
|
import 'dialogs/simple_dialogs.dart';
|
||||||
import 'matrix.dart';
|
import 'matrix.dart';
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/utils/matrix_locals.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
|
import '../utils/matrix_locals.dart';
|
||||||
import 'html_message.dart';
|
import 'html_message.dart';
|
||||||
import 'matrix.dart';
|
import 'matrix.dart';
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,6 @@ import 'dart:io';
|
||||||
|
|
||||||
import 'package:bot_toast/bot_toast.dart';
|
import 'package:bot_toast/bot_toast.dart';
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/views/homeserver_picker.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
|
@ -13,6 +12,7 @@ import 'package:universal_html/prefer_universal/html.dart' as html;
|
||||||
import 'components/matrix.dart';
|
import 'components/matrix.dart';
|
||||||
import 'components/theme_switcher.dart';
|
import 'components/theme_switcher.dart';
|
||||||
import 'views/chat_list.dart';
|
import 'views/chat_list.dart';
|
||||||
|
import 'views/homeserver_picker.dart';
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
SystemChrome.setSystemUIOverlayStyle(
|
SystemChrome.setSystemUIOverlayStyle(
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
import '../components/adaptive_page_layout.dart';
|
||||||
|
|
||||||
class AppRoute extends PageRouteBuilder {
|
class AppRoute extends PageRouteBuilder {
|
||||||
static Route defaultRoute(BuildContext context, Widget page) {
|
static Route defaultRoute(BuildContext context, Widget page) {
|
||||||
return context != null && !AdaptivePageLayout.columnMode(context)
|
return context != null && !AdaptivePageLayout.columnMode(context)
|
||||||
|
|
|
@ -1,17 +1,19 @@
|
||||||
import 'dart:ffi';
|
import 'dart:ffi';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'dart:isolate';
|
import 'dart:isolate';
|
||||||
|
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:moor/ffi.dart' as moor;
|
||||||
|
import 'package:moor/isolate.dart';
|
||||||
|
import 'package:moor/moor.dart';
|
||||||
|
import 'package:path/path.dart' as p;
|
||||||
import 'package:path_provider/path_provider.dart';
|
import 'package:path_provider/path_provider.dart';
|
||||||
import 'package:sqflite/sqflite.dart' show getDatabasesPath;
|
import 'package:sqflite/sqflite.dart' show getDatabasesPath;
|
||||||
import 'package:path/path.dart' as p;
|
import 'package:sqlite3/open.dart';
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:moor/moor.dart';
|
|
||||||
import 'package:moor/isolate.dart';
|
|
||||||
import '../platform_infos.dart';
|
import '../platform_infos.dart';
|
||||||
import 'cipher_db.dart' as cipher;
|
import 'cipher_db.dart' as cipher;
|
||||||
import 'package:moor/ffi.dart' as moor;
|
|
||||||
import 'package:sqlite3/open.dart';
|
|
||||||
|
|
||||||
bool _inited = false;
|
bool _inited = false;
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
|
||||||
import 'package:moor/moor_web.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'dart:html';
|
import 'dart:html';
|
||||||
|
|
||||||
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:moor/moor_web.dart';
|
||||||
|
|
||||||
Future<Database> constructDb(
|
Future<Database> constructDb(
|
||||||
{bool logStatements = false,
|
{bool logStatements = false,
|
||||||
String filename = 'database.sqlite',
|
String filename = 'database.sqlite',
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'matrix_file_extension.dart';
|
|
||||||
import 'app_route.dart';
|
import '../components/dialogs/simple_dialogs.dart';
|
||||||
import '../views/image_view.dart';
|
import '../views/image_view.dart';
|
||||||
|
import 'app_route.dart';
|
||||||
|
import 'matrix_file_extension.dart';
|
||||||
|
|
||||||
extension LocalizedBody on Event {
|
extension LocalizedBody on Event {
|
||||||
void openFile(BuildContext context, {bool downloadOnly = false}) async {
|
void openFile(BuildContext context, {bool downloadOnly = false}) async {
|
||||||
|
|
|
@ -1,18 +1,19 @@
|
||||||
|
import 'dart:async';
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
import 'dart:core';
|
||||||
|
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/utils/platform_infos.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
||||||
import 'package:localstorage/localstorage.dart';
|
import 'package:localstorage/localstorage.dart';
|
||||||
import 'package:path_provider/path_provider.dart';
|
|
||||||
import 'dart:async';
|
|
||||||
import 'dart:core';
|
|
||||||
import './database/shared.dart';
|
|
||||||
import 'package:olm/olm.dart' as olm; // needed for migration
|
import 'package:olm/olm.dart' as olm; // needed for migration
|
||||||
|
import 'package:path_provider/path_provider.dart';
|
||||||
import 'package:random_string/random_string.dart';
|
import 'package:random_string/random_string.dart';
|
||||||
|
|
||||||
|
import './database/shared.dart';
|
||||||
|
import 'platform_infos.dart';
|
||||||
|
|
||||||
Future<LocalStorage> getLocalStorage() async {
|
Future<LocalStorage> getLocalStorage() async {
|
||||||
final directory = PlatformInfos.isBetaDesktop
|
final directory = PlatformInfos.isBetaDesktop
|
||||||
? await getApplicationSupportDirectory()
|
? await getApplicationSupportDirectory()
|
||||||
|
|
|
@ -4,9 +4,6 @@ import 'dart:io';
|
||||||
import 'package:bot_toast/bot_toast.dart';
|
import 'package:bot_toast/bot_toast.dart';
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:firebase_messaging/firebase_messaging.dart';
|
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
|
||||||
import 'package:furrychat/views/chat.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
@ -15,6 +12,8 @@ import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
||||||
import 'package:path_provider/path_provider.dart';
|
import 'package:path_provider/path_provider.dart';
|
||||||
|
|
||||||
import '../components/matrix.dart';
|
import '../components/matrix.dart';
|
||||||
|
import '../views/chat.dart';
|
||||||
|
import 'app_route.dart';
|
||||||
import 'famedlysdk_store.dart';
|
import 'famedlysdk_store.dart';
|
||||||
import 'matrix_locals.dart';
|
import 'matrix_locals.dart';
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import 'dart:ui';
|
|
||||||
import 'dart:typed_data';
|
import 'dart:typed_data';
|
||||||
|
import 'dart:ui';
|
||||||
|
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:native_imaging/native_imaging.dart' as native;
|
import 'package:native_imaging/native_imaging.dart' as native;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import 'package:isolate/isolate.dart';
|
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:isolate/isolate.dart';
|
||||||
|
|
||||||
Future<T> runInBackground<T, U>(
|
Future<T> runInBackground<T, U>(
|
||||||
FutureOr<T> Function(U arg) function, U arg) async {
|
FutureOr<T> Function(U arg) function, U arg) async {
|
||||||
final isolate = await IsolateRunner.spawn();
|
final isolate = await IsolateRunner.spawn();
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
|
||||||
import 'package:furrychat/views/chat.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
|
import '../components/dialogs/simple_dialogs.dart';
|
||||||
|
import '../components/matrix.dart';
|
||||||
|
import '../views/chat.dart';
|
||||||
|
import 'app_route.dart';
|
||||||
import 'matrix_identifier_string_extension.dart';
|
import 'matrix_identifier_string_extension.dart';
|
||||||
|
|
||||||
class UrlLauncher {
|
class UrlLauncher {
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
|
||||||
import 'package:furrychat/components/list_items/chat_list_item.dart';
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
|
import '../components/adaptive_page_layout.dart';
|
||||||
|
import '../components/list_items/chat_list_item.dart';
|
||||||
|
import '../components/matrix.dart';
|
||||||
|
|
||||||
class Archive extends StatefulWidget {
|
class Archive extends StatefulWidget {
|
||||||
@override
|
@override
|
||||||
_ArchiveState createState() => _ArchiveState();
|
_ArchiveState createState() => _ArchiveState();
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
import 'package:webview_flutter/webview_flutter.dart';
|
import 'package:webview_flutter/webview_flutter.dart';
|
||||||
|
|
||||||
|
import '../components/matrix.dart';
|
||||||
|
|
||||||
class AuthWebView extends StatelessWidget {
|
class AuthWebView extends StatelessWidget {
|
||||||
final String authType;
|
final String authType;
|
||||||
final String session;
|
final String session;
|
||||||
|
|
|
@ -3,23 +3,7 @@ import 'dart:io';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
|
|
||||||
import 'package:file_picker_cross/file_picker_cross.dart';
|
import 'package:file_picker_cross/file_picker_cross.dart';
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
|
||||||
import 'package:furrychat/components/avatar.dart';
|
|
||||||
import 'package:furrychat/components/chat_settings_popup_menu.dart';
|
|
||||||
import 'package:furrychat/components/connection_status_header.dart';
|
|
||||||
import 'package:furrychat/components/dialogs/recording_dialog.dart';
|
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:furrychat/components/encryption_button.dart';
|
|
||||||
import 'package:furrychat/components/list_items/message.dart';
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:furrychat/components/reply_content.dart';
|
|
||||||
import 'package:furrychat/config/app_emojis.dart';
|
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
|
||||||
import 'package:furrychat/utils/matrix_locals.dart';
|
|
||||||
import 'package:furrychat/utils/platform_infos.dart';
|
|
||||||
import 'package:furrychat/utils/room_status_extension.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/scheduler.dart';
|
import 'package:flutter/scheduler.dart';
|
||||||
|
@ -30,9 +14,24 @@ import 'package:pedantic/pedantic.dart';
|
||||||
import 'package:scroll_to_index/scroll_to_index.dart';
|
import 'package:scroll_to_index/scroll_to_index.dart';
|
||||||
import 'package:swipe_to_action/swipe_to_action.dart';
|
import 'package:swipe_to_action/swipe_to_action.dart';
|
||||||
|
|
||||||
|
import '../components/adaptive_page_layout.dart';
|
||||||
|
import '../components/avatar.dart';
|
||||||
|
import '../components/chat_settings_popup_menu.dart';
|
||||||
|
import '../components/connection_status_header.dart';
|
||||||
|
import '../components/dialogs/recording_dialog.dart';
|
||||||
import '../components/dialogs/send_file_dialog.dart';
|
import '../components/dialogs/send_file_dialog.dart';
|
||||||
|
import '../components/dialogs/simple_dialogs.dart';
|
||||||
|
import '../components/encryption_button.dart';
|
||||||
import '../components/input_bar.dart';
|
import '../components/input_bar.dart';
|
||||||
|
import '../components/list_items/message.dart';
|
||||||
|
import '../components/matrix.dart';
|
||||||
|
import '../components/reply_content.dart';
|
||||||
|
import '../config/app_emojis.dart';
|
||||||
|
import '../utils/app_route.dart';
|
||||||
import '../utils/matrix_file_extension.dart';
|
import '../utils/matrix_file_extension.dart';
|
||||||
|
import '../utils/matrix_locals.dart';
|
||||||
|
import '../utils/platform_infos.dart';
|
||||||
|
import '../utils/room_status_extension.dart';
|
||||||
import 'chat_details.dart';
|
import 'chat_details.dart';
|
||||||
import 'chat_list.dart';
|
import 'chat_list.dart';
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,7 @@
|
||||||
import 'package:bot_toast/bot_toast.dart';
|
import 'package:bot_toast/bot_toast.dart';
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:famedlysdk/matrix_api.dart';
|
import 'package:famedlysdk/matrix_api.dart';
|
||||||
|
|
||||||
import 'package:file_picker_cross/file_picker_cross.dart';
|
import 'package:file_picker_cross/file_picker_cross.dart';
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
|
||||||
import 'package:furrychat/components/chat_settings_popup_menu.dart';
|
|
||||||
import 'package:furrychat/components/content_banner.dart';
|
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:furrychat/components/list_items/participant_list_item.dart';
|
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
|
||||||
import 'package:furrychat/utils/matrix_locals.dart';
|
|
||||||
import 'package:furrychat/utils/platform_infos.dart';
|
|
||||||
import 'package:furrychat/views/chat_list.dart';
|
|
||||||
import 'package:furrychat/views/invitation_selection.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
|
@ -20,9 +9,19 @@ import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:image_picker/image_picker.dart';
|
import 'package:image_picker/image_picker.dart';
|
||||||
import 'package:matrix_link_text/link_text.dart';
|
import 'package:matrix_link_text/link_text.dart';
|
||||||
|
|
||||||
import 'package:furrychat/views/settings/settings_emotes.dart';
|
import '../components/adaptive_page_layout.dart';
|
||||||
import 'package:furrychat/views/settings/settings_multiple_emotes.dart';
|
import '../components/chat_settings_popup_menu.dart';
|
||||||
import 'package:furrychat/utils/url_launcher.dart';
|
import '../components/content_banner.dart';
|
||||||
|
import '../components/dialogs/simple_dialogs.dart';
|
||||||
|
import '../components/list_items/participant_list_item.dart';
|
||||||
|
import '../utils/app_route.dart';
|
||||||
|
import '../utils/matrix_locals.dart';
|
||||||
|
import '../utils/platform_infos.dart';
|
||||||
|
import '../utils/url_launcher.dart';
|
||||||
|
import 'chat_list.dart';
|
||||||
|
import 'invitation_selection.dart';
|
||||||
|
import 'settings/settings_emotes.dart';
|
||||||
|
import 'settings/settings_multiple_emotes.dart';
|
||||||
|
|
||||||
class ChatDetails extends StatefulWidget {
|
class ChatDetails extends StatefulWidget {
|
||||||
final Room room;
|
final Room room;
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
import 'package:famedlysdk/encryption.dart';
|
import 'package:famedlysdk/encryption.dart';
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
|
||||||
import 'package:furrychat/components/avatar.dart';
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:furrychat/utils/beautify_string_extension.dart';
|
|
||||||
import 'package:furrychat/views/chat_list.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
|
import '../components/adaptive_page_layout.dart';
|
||||||
|
import '../components/avatar.dart';
|
||||||
import '../components/dialogs/simple_dialogs.dart';
|
import '../components/dialogs/simple_dialogs.dart';
|
||||||
|
import '../components/matrix.dart';
|
||||||
import '../utils/app_route.dart';
|
import '../utils/app_route.dart';
|
||||||
|
import '../utils/beautify_string_extension.dart';
|
||||||
|
import 'chat_list.dart';
|
||||||
import 'key_verification.dart';
|
import 'key_verification.dart';
|
||||||
|
|
||||||
class ChatEncryptionSettingsView extends StatelessWidget {
|
class ChatEncryptionSettingsView extends StatelessWidget {
|
||||||
|
|
|
@ -3,13 +3,6 @@ import 'dart:io';
|
||||||
|
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:famedlysdk/matrix_api.dart';
|
import 'package:famedlysdk/matrix_api.dart';
|
||||||
import 'package:furrychat/components/avatar.dart';
|
|
||||||
import 'package:furrychat/components/connection_status_header.dart';
|
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:furrychat/components/list_items/status_list_item.dart';
|
|
||||||
import 'package:furrychat/components/list_items/public_room_list_item.dart';
|
|
||||||
import 'package:furrychat/utils/platform_infos.dart';
|
|
||||||
import 'package:furrychat/views/status_view.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
@ -17,16 +10,23 @@ import 'package:receive_sharing_intent/receive_sharing_intent.dart';
|
||||||
import 'package:share/share.dart';
|
import 'package:share/share.dart';
|
||||||
|
|
||||||
import '../components/adaptive_page_layout.dart';
|
import '../components/adaptive_page_layout.dart';
|
||||||
|
import '../components/avatar.dart';
|
||||||
|
import '../components/connection_status_header.dart';
|
||||||
|
import '../components/dialogs/simple_dialogs.dart';
|
||||||
import '../components/list_items/chat_list_item.dart';
|
import '../components/list_items/chat_list_item.dart';
|
||||||
|
import '../components/list_items/public_room_list_item.dart';
|
||||||
|
import '../components/list_items/status_list_item.dart';
|
||||||
import '../components/matrix.dart';
|
import '../components/matrix.dart';
|
||||||
import '../utils/app_route.dart';
|
import '../utils/app_route.dart';
|
||||||
import '../utils/matrix_file_extension.dart';
|
import '../utils/matrix_file_extension.dart';
|
||||||
|
import '../utils/platform_infos.dart';
|
||||||
import '../utils/url_launcher.dart';
|
import '../utils/url_launcher.dart';
|
||||||
import 'archive.dart';
|
import 'archive.dart';
|
||||||
import 'homeserver_picker.dart';
|
import 'homeserver_picker.dart';
|
||||||
import 'new_group.dart';
|
import 'new_group.dart';
|
||||||
import 'new_private_chat.dart';
|
import 'new_private_chat.dart';
|
||||||
import 'settings.dart';
|
import 'settings.dart';
|
||||||
|
import 'status_view.dart';
|
||||||
|
|
||||||
enum SelectMode { normal, share, select }
|
enum SelectMode { normal, share, select }
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:famedlysdk/matrix_api/model/well_known_informations.dart';
|
import 'package:famedlysdk/matrix_api/model/well_known_informations.dart';
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
|
||||||
import 'package:furrychat/views/login.dart';
|
|
||||||
import 'package:furrychat/views/sign_up.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
|
import '../components/dialogs/simple_dialogs.dart';
|
||||||
|
import '../components/matrix.dart';
|
||||||
|
import '../utils/app_route.dart';
|
||||||
|
import 'login.dart';
|
||||||
|
import 'sign_up.dart';
|
||||||
|
|
||||||
class HomeserverPicker extends StatefulWidget {
|
class HomeserverPicker extends StatefulWidget {
|
||||||
@override
|
@override
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/components/image_bubble.dart';
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:photo_view/photo_view.dart';
|
import 'package:photo_view/photo_view.dart';
|
||||||
|
|
||||||
|
import '../components/image_bubble.dart';
|
||||||
|
import '../components/matrix.dart';
|
||||||
import '../utils/event_extension.dart';
|
import '../utils/event_extension.dart';
|
||||||
|
|
||||||
class ImageView extends StatelessWidget {
|
class ImageView extends StatelessWidget {
|
||||||
|
|
|
@ -3,13 +3,13 @@ import 'dart:async';
|
||||||
import 'package:bot_toast/bot_toast.dart';
|
import 'package:bot_toast/bot_toast.dart';
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:famedlysdk/matrix_api.dart';
|
import 'package:famedlysdk/matrix_api.dart';
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
|
||||||
import 'package:furrychat/components/avatar.dart';
|
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
|
import '../components/adaptive_page_layout.dart';
|
||||||
|
import '../components/avatar.dart';
|
||||||
|
import '../components/dialogs/simple_dialogs.dart';
|
||||||
|
import '../components/matrix.dart';
|
||||||
import 'chat_list.dart';
|
import 'chat_list.dart';
|
||||||
|
|
||||||
class InvitationSelection extends StatefulWidget {
|
class InvitationSelection extends StatefulWidget {
|
||||||
|
|
|
@ -2,14 +2,14 @@ import 'dart:async';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
|
||||||
import 'package:furrychat/utils/firebase_controller.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
|
import '../components/dialogs/simple_dialogs.dart';
|
||||||
|
import '../components/matrix.dart';
|
||||||
|
import '../utils/app_route.dart';
|
||||||
|
import '../utils/firebase_controller.dart';
|
||||||
import 'chat_list.dart';
|
import 'chat_list.dart';
|
||||||
|
|
||||||
class Login extends StatefulWidget {
|
class Login extends StatefulWidget {
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
import 'package:famedlysdk/matrix_api.dart' as api;
|
import 'package:famedlysdk/matrix_api.dart' as api;
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:pedantic/pedantic.dart';
|
import 'package:pedantic/pedantic.dart';
|
||||||
|
|
||||||
|
import '../components/adaptive_page_layout.dart';
|
||||||
|
import '../components/dialogs/simple_dialogs.dart';
|
||||||
|
import '../components/matrix.dart';
|
||||||
|
import '../utils/app_route.dart';
|
||||||
import 'chat.dart';
|
import 'chat.dart';
|
||||||
import 'chat_list.dart';
|
import 'chat_list.dart';
|
||||||
import 'invitation_selection.dart';
|
import 'invitation_selection.dart';
|
||||||
|
|
|
@ -2,15 +2,15 @@ import 'dart:async';
|
||||||
|
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:famedlysdk/matrix_api.dart';
|
import 'package:famedlysdk/matrix_api.dart';
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
|
||||||
import 'package:furrychat/components/avatar.dart';
|
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:share/share.dart';
|
import 'package:share/share.dart';
|
||||||
|
|
||||||
|
import '../components/adaptive_page_layout.dart';
|
||||||
|
import '../components/avatar.dart';
|
||||||
|
import '../components/dialogs/simple_dialogs.dart';
|
||||||
|
import '../components/matrix.dart';
|
||||||
|
import '../utils/app_route.dart';
|
||||||
import 'chat.dart';
|
import 'chat.dart';
|
||||||
import 'chat_list.dart';
|
import 'chat_list.dart';
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
import 'package:furrychat/config/app_config.dart';
|
|
||||||
import 'package:furrychat/views/settings/settings_account.dart';
|
|
||||||
import 'package:furrychat/views/settings/settings_chat.dart';
|
|
||||||
import 'package:furrychat/views/settings/settings_devices.dart';
|
|
||||||
import 'package:furrychat/views/settings/settings_encryption.dart';
|
|
||||||
import 'package:furrychat/views/settings/settings_homeserver.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:furrychat/views/settings/settings_themes.dart';
|
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
import '../components/adaptive_page_layout.dart';
|
||||||
import 'package:furrychat/components/matrix.dart';
|
import '../components/matrix.dart';
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
import '../config/app_config.dart';
|
||||||
import 'package:furrychat/views/settings/settings_emotes.dart';
|
import '../utils/app_route.dart';
|
||||||
|
import 'settings/settings_account.dart';
|
||||||
|
import 'settings/settings_chat.dart';
|
||||||
|
import 'settings/settings_devices.dart';
|
||||||
|
import 'settings/settings_emotes.dart';
|
||||||
|
import 'settings/settings_encryption.dart';
|
||||||
|
import 'settings/settings_homeserver.dart';
|
||||||
|
import 'settings/settings_themes.dart';
|
||||||
|
|
||||||
enum SettingsViews {
|
enum SettingsViews {
|
||||||
account,
|
account,
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:furrychat/utils/beautify_string_extension.dart';
|
|
||||||
import 'package:furrychat/views/settings.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:olm/olm.dart' as olm;
|
import 'package:olm/olm.dart' as olm;
|
||||||
|
|
||||||
|
import '../../components/adaptive_page_layout.dart';
|
||||||
|
import '../../components/matrix.dart';
|
||||||
|
import '../../utils/beautify_string_extension.dart';
|
||||||
|
import '../settings.dart';
|
||||||
|
|
||||||
class AppInfoView extends StatelessWidget {
|
class AppInfoView extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
import 'package:bot_toast/bot_toast.dart';
|
import 'package:bot_toast/bot_toast.dart';
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:file_picker_cross/file_picker_cross.dart';
|
import 'package:file_picker_cross/file_picker_cross.dart';
|
||||||
import 'package:furrychat/components/avatar.dart';
|
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
|
||||||
import 'package:furrychat/utils/platform_infos.dart';
|
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:furrychat/views/settings.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:furrychat/views/settings/settings_ignore_list.dart';
|
|
||||||
import 'package:image_picker/image_picker.dart';
|
import 'package:image_picker/image_picker.dart';
|
||||||
|
|
||||||
|
import '../../components/adaptive_page_layout.dart';
|
||||||
|
import '../../components/avatar.dart';
|
||||||
|
import '../../components/dialogs/simple_dialogs.dart';
|
||||||
|
import '../../components/matrix.dart';
|
||||||
|
import '../../utils/app_route.dart';
|
||||||
|
import '../../utils/platform_infos.dart';
|
||||||
|
import '../settings.dart';
|
||||||
|
import 'settings_ignore_list.dart';
|
||||||
|
|
||||||
class AccountSettingsView extends StatelessWidget {
|
class AccountSettingsView extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import 'package:furrychat/views/settings.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
import '../../components/adaptive_page_layout.dart';
|
||||||
import 'package:furrychat/components/matrix.dart';
|
import '../../components/matrix.dart';
|
||||||
|
import '../settings.dart';
|
||||||
|
|
||||||
class ChatSettingsView extends StatelessWidget {
|
class ChatSettingsView extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/views/settings.dart';
|
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
import '../../components/adaptive_page_layout.dart';
|
||||||
import 'package:furrychat/components/matrix.dart';
|
import '../../components/dialogs/simple_dialogs.dart';
|
||||||
import 'package:furrychat/utils/date_time_extension.dart';
|
import '../../components/matrix.dart';
|
||||||
|
import '../../utils/date_time_extension.dart';
|
||||||
|
import '../settings.dart';
|
||||||
|
|
||||||
class DevicesSettingsView extends StatelessWidget {
|
class DevicesSettingsView extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
|
|
|
@ -2,17 +2,16 @@ import 'package:bot_toast/bot_toast.dart';
|
||||||
import 'package:cached_network_image/cached_network_image.dart';
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:file_picker_cross/file_picker_cross.dart';
|
import 'package:file_picker_cross/file_picker_cross.dart';
|
||||||
|
|
||||||
import 'package:furrychat/utils/platform_infos.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:image_picker/image_picker.dart';
|
import 'package:image_picker/image_picker.dart';
|
||||||
|
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
import '../../components/adaptive_page_layout.dart';
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
import '../../components/dialogs/simple_dialogs.dart';
|
||||||
import 'package:furrychat/components/matrix.dart';
|
import '../../components/matrix.dart';
|
||||||
import 'package:furrychat/views/settings.dart';
|
import '../../utils/platform_infos.dart';
|
||||||
|
import '../settings.dart';
|
||||||
|
|
||||||
class EmotesSettingsView extends StatelessWidget {
|
class EmotesSettingsView extends StatelessWidget {
|
||||||
final Room room;
|
final Room room;
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
import 'package:furrychat/views/settings.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:furrychat/utils/beautify_string_extension.dart';
|
|
||||||
|
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:olm/olm.dart' as olm;
|
import 'package:olm/olm.dart' as olm;
|
||||||
|
|
||||||
|
import '../../components/adaptive_page_layout.dart';
|
||||||
|
import '../../components/dialogs/simple_dialogs.dart';
|
||||||
|
import '../../components/matrix.dart';
|
||||||
|
import '../../utils/beautify_string_extension.dart';
|
||||||
|
import '../settings.dart';
|
||||||
|
|
||||||
class EncryptionSettingsView extends StatelessWidget {
|
class EncryptionSettingsView extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import 'package:furrychat/views/settings.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
import '../../components/adaptive_page_layout.dart';
|
||||||
import 'package:furrychat/components/matrix.dart';
|
import '../../components/matrix.dart';
|
||||||
|
import '../settings.dart';
|
||||||
|
|
||||||
class HomeserverSettingsView extends StatelessWidget {
|
class HomeserverSettingsView extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
|
||||||
import 'package:furrychat/components/avatar.dart';
|
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
import '../../components/adaptive_page_layout.dart';
|
||||||
import 'package:furrychat/views/settings.dart';
|
import '../../components/avatar.dart';
|
||||||
|
import '../../components/dialogs/simple_dialogs.dart';
|
||||||
|
import '../../components/matrix.dart';
|
||||||
|
import '../settings.dart';
|
||||||
|
|
||||||
class SettingsIgnoreListView extends StatelessWidget {
|
class SettingsIgnoreListView extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
import '../../components/adaptive_page_layout.dart';
|
||||||
import 'package:furrychat/views/settings.dart';
|
import '../../utils/app_route.dart';
|
||||||
|
import '../settings.dart';
|
||||||
import 'settings_emotes.dart';
|
import 'settings_emotes.dart';
|
||||||
|
|
||||||
class MultipleEmotesSettingsView extends StatelessWidget {
|
class MultipleEmotesSettingsView extends StatelessWidget {
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:furrychat/views/settings.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
import 'package:furrychat/components/adaptive_page_layout.dart';
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:image_picker/image_picker.dart';
|
import 'package:image_picker/image_picker.dart';
|
||||||
|
|
||||||
import 'package:furrychat/components/theme_switcher.dart';
|
import '../../components/adaptive_page_layout.dart';
|
||||||
|
import '../../components/matrix.dart';
|
||||||
|
import '../../components/theme_switcher.dart';
|
||||||
|
import '../settings.dart';
|
||||||
|
|
||||||
class ThemesSettingsView extends StatelessWidget {
|
class ThemesSettingsView extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
|
|
|
@ -2,15 +2,15 @@ import 'dart:math';
|
||||||
|
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:file_picker_cross/file_picker_cross.dart';
|
import 'package:file_picker_cross/file_picker_cross.dart';
|
||||||
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
|
||||||
import 'package:furrychat/views/login.dart';
|
|
||||||
import 'package:furrychat/views/sign_up_password.dart';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
|
import '../components/matrix.dart';
|
||||||
|
import '../utils/app_route.dart';
|
||||||
|
import 'login.dart';
|
||||||
|
import 'sign_up_password.dart';
|
||||||
|
|
||||||
class SignUp extends StatefulWidget {
|
class SignUp extends StatefulWidget {
|
||||||
SignUp({Key key, this.wellknown}) : super(key: key);
|
SignUp({Key key, this.wellknown}) : super(key: key);
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,12 @@ import 'dart:math';
|
||||||
|
|
||||||
import 'package:bot_toast/bot_toast.dart';
|
import 'package:bot_toast/bot_toast.dart';
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
|
||||||
import 'package:furrychat/views/auth_web_view.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
|
||||||
|
import '../components/matrix.dart';
|
||||||
|
import '../utils/app_route.dart';
|
||||||
|
import 'auth_web_view.dart';
|
||||||
import 'chat_list.dart';
|
import 'chat_list.dart';
|
||||||
|
|
||||||
class SignUpPassword extends StatefulWidget {
|
class SignUpPassword extends StatefulWidget {
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
import 'package:famedlysdk/famedlysdk.dart';
|
import 'package:famedlysdk/famedlysdk.dart';
|
||||||
import 'package:furrychat/components/avatar.dart';
|
|
||||||
import 'package:furrychat/components/dialogs/simple_dialogs.dart';
|
|
||||||
import 'package:furrychat/components/matrix.dart';
|
|
||||||
import 'package:furrychat/utils/url_launcher.dart';
|
|
||||||
import 'package:furrychat/utils/user_status.dart';
|
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
|
||||||
import 'package:furrychat/utils/app_route.dart';
|
|
||||||
import 'package:furrychat/utils/string_color.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:matrix_link_text/link_text.dart';
|
import 'package:matrix_link_text/link_text.dart';
|
||||||
|
|
||||||
|
import '../components/avatar.dart';
|
||||||
|
import '../components/dialogs/simple_dialogs.dart';
|
||||||
|
import '../components/matrix.dart';
|
||||||
|
import '../utils/app_route.dart';
|
||||||
|
import '../utils/string_color.dart';
|
||||||
|
import '../utils/url_launcher.dart';
|
||||||
|
import '../utils/user_status.dart';
|
||||||
import 'chat.dart';
|
import 'chat.dart';
|
||||||
|
|
||||||
class StatusView extends StatelessWidget {
|
class StatusView extends StatelessWidget {
|
||||||
|
|
Loading…
Reference in a new issue