chore: add integration tests

Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
This commit is contained in:
TheOneWithTheBraid 2022-12-29 15:02:29 +01:00
commit 1992d18a64
18 changed files with 491 additions and 103 deletions

View file

@ -11,6 +11,7 @@ class ContentBanner extends StatelessWidget {
final void Function()? onEdit;
final Client? client;
final double opacity;
final WidgetBuilder? placeholder;
const ContentBanner(
{this.mxContent,
@ -19,6 +20,7 @@ class ContentBanner extends StatelessWidget {
this.onEdit,
this.client,
this.opacity = 0.75,
this.placeholder,
Key? key})
: super(key: key);
@ -54,6 +56,7 @@ class ContentBanner extends StatelessWidget {
uri: mxContent,
animated: true,
fit: BoxFit.cover,
placeholder: placeholder,
height: 400,
width: 800,
),

View file

@ -327,15 +327,15 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
);
if (state != LoginState.loggedIn) {
widget.router!.currentState!.to(
widget.router?.currentState?.to(
'/rooms',
queryParameters: widget.router!.currentState!.queryParameters,
queryParameters: widget.router?.currentState?.queryParameters ?? {},
);
}
} else {
widget.router!.currentState!.to(
widget.router?.currentState?.to(
state == LoginState.loggedIn ? '/rooms' : '/home',
queryParameters: widget.router!.currentState!.queryParameters,
queryParameters: widget.router?.currentState?.queryParameters ?? {},
);
}
});

View file

@ -15,6 +15,7 @@ import '../utils/localized_exception_extension.dart';
class ProfileBottomSheet extends StatelessWidget {
final String userId;
final BuildContext outerContext;
const ProfileBottomSheet({
required this.userId,
required this.outerContext,
@ -78,6 +79,13 @@ class ProfileBottomSheet extends StatelessWidget {
mxContent: profile.avatarUrl,
defaultIcon: Icons.account_circle_outlined,
client: Matrix.of(context).client,
placeholder: (context) => Center(
child: Text(
userId.localpart ?? userId,
style:
Theme.of(context).textTheme.headline3,
),
),
),
),
ListTile(

View file

@ -6,6 +6,7 @@ import 'package:shared_preferences/shared_preferences.dart';
import 'package:system_theme/system_theme.dart';
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/utils/platform_infos.dart';
class ThemeBuilder extends StatefulWidget {
final Widget Function(
@ -34,6 +35,7 @@ class ThemeController extends State<ThemeBuilder> {
Color? _primaryColor;
ThemeMode get themeMode => _themeMode ?? ThemeMode.system;
Color? get primaryColor => _primaryColor;
static ThemeController of(BuildContext context) =>
@ -87,10 +89,18 @@ class ThemeController extends State<ThemeBuilder> {
super.initState();
}
Color? get systemAccentColor {
final color = SystemTheme.accentColor.accent;
if (color == kDefaultSystemAccentColor) return AppConfig.chatColor;
return color;
Color get systemAccentColor {
if (PlatformInfos.isLinux) return AppConfig.chatColor;
try {
// a bad plugin implementation
// https://github.com/bdlukaa/system_theme/issues/10
final accentColor = SystemTheme.accentColor;
final color = accentColor.accent;
if (color == kDefaultSystemAccentColor) return AppConfig.chatColor;
return color;
} catch (_) {
return AppConfig.chatColor;
}
}
@override